Fix makefile, remove hello world test because now can compile it.

This commit is contained in:
zongor 2025-08-03 18:09:20 -04:00
parent 14bf533635
commit f6484ff378
4 changed files with 17 additions and 16 deletions

View File

@ -3,7 +3,7 @@
# Native build (gcc)
CC_NATIVE = gcc
CFLAGS_NATIVE = -g -O2 -std=c89 -Wall -Wextra -Werror -Wno-unused-parameter -I.
LDFLAGS_NATIVE =
LDFLAGS_NATIVE =
LDLIBS_NATIVE = -lSDL2
# WASM build (emscripten)
@ -17,7 +17,6 @@ LDLIBS_WASM =
COMMON_SRC = $(wildcard *.c)
ARCH_SRC_EMSCRIPTEN = arch/emscripten/main.c
ARCH_SRC_LINUX = arch/linux/main.c
EXEC_NATIVE = zre
EXEC_WASM = zre.wasm
@ -29,6 +28,10 @@ OBJ_DIR_WASM = build/wasm/obj
OBJ_NATIVE = $(addprefix $(OBJ_DIR_NATIVE)/,$(notdir $(COMMON_SRC:.c=.o)))
OBJ_WASM = $(addprefix $(OBJ_DIR_WASM)/,$(notdir $(COMMON_SRC:.c=.o)))
# Add main.c object files
OBJ_NATIVE += $(OBJ_DIR_NATIVE)/$(notdir $(ARCH_SRC_LINUX:.c=.o))
OBJ_WASM += $(OBJ_DIR_WASM)/$(notdir $(ARCH_SRC_EMSCRIPTEN:.c=.o))
# Phony targets
.PHONY: all clean install wasm native emscripten linux macos
@ -41,7 +44,7 @@ native: linux
linux: $(EXEC_NATIVE)
$(EXEC_NATIVE): $(OBJ_NATIVE) $(ARCH_SRC_LINUX)
$(EXEC_NATIVE): $(OBJ_NATIVE)
$(CC_NATIVE) $(LDFLAGS_NATIVE) $^ $(LDLIBS_NATIVE) -o $@
# WASM build rules
@ -50,7 +53,7 @@ wasm: emscripten
emscripten: $(EXEC_WASM)
$(EXEC_WASM): $(OBJ_WASM) $(ARCH_SRC_EMSCRIPTEN)
$(EXEC_WASM): $(OBJ_WASM)
$(CC_WASM) $(LDFLAGS_WASM) $^ $(LDLIBS_WASM) -o $@
# Object file rules
@ -63,6 +66,15 @@ $(OBJ_DIR_WASM)/%.o: %.c
@mkdir -p $(dir $@)
$(CC_WASM) $(CFLAGS_WASM) -c $< -o $@
# Add specific rules for main.c files
$(OBJ_DIR_NATIVE)/$(notdir $(ARCH_SRC_LINUX:.c=.o)): $(ARCH_SRC_LINUX)
@mkdir -p $(dir $@)
$(CC_NATIVE) $(CFLAGS_NATIVE) -c $< -o $@
$(OBJ_DIR_WASM)/$(notdir $(ARCH_SRC_EMSCRIPTEN:.c=.o)): $(ARCH_SRC_EMSCRIPTEN)
@mkdir -p $(dir $@)
$(CC_WASM) $(CFLAGS_WASM) -c $< -o $@
# Clean build artifacts
# ---------------------
clean:

View File

@ -1,5 +1,4 @@
#include "../../compiler.h"
#include "../../debug.h"
#include "../../vm.h"
#include <SDL2/SDL.h>
@ -60,7 +59,6 @@ int main(int argc, char **argv) {
repl(&vm);
} else if (argc == 2) {
compileFile(argv[1], &vm);
return 1;
} else {
fprintf(stderr, "Usage: %s <file.zrl>\n", argv[0]);
return 64;
@ -114,6 +112,7 @@ int main(int argc, char **argv) {
switch (event.type) {
case SDL_QUIT:
running = false;
break;
case SDL_MOUSEBUTTONDOWN:
printf("mouse_down: x=%d, y=%d, btn=%d\n", event.button.x,
event.button.y, event.button.button);

View File

@ -1,15 +1,6 @@
#include "test.h"
#include "vm.h"
bool test_hello_world_compile(VM *vm) {
uint32_t hello = str_alloc(vm, "nuqneH 'u'?", 0);
vm->code[vm->cp++].u = OP(OP_LOADU, 1, 0, 0);
vm->code[vm->cp++].u = hello;
vm->code[vm->cp++].u = OP(OP_PRINT_STRING, 0, 1, 0); /* print("nuqneH 'u'?"); */
vm->code[vm->cp++].u = OP(OP_HALT, 0, 0, 0); /* explicit halt */
return true;
}
bool test_add_compile(VM *vm) {
vm->code[vm->cp++].u = OP(OP_LOADU, 0, 0, 0);
vm->code[vm->cp++].u = 1;

View File

@ -3,7 +3,6 @@
#include "opcodes.h"
bool test_hello_world_compile (VM *vm);
bool test_add_compile (VM *vm);
bool test_loop_compile (VM *vm);
bool test_add_function_compile(VM *vm);