diff --git a/Makefile b/Makefile index 21bfd0e..cb036d2 100644 --- a/Makefile +++ b/Makefile @@ -34,20 +34,27 @@ endif HEADERS = $(shell find . -name *.h) VM_SOURCES = $(shell find vm/ -name *.c) -VM_OBJECTS = $(patsubst %.c,build/%.o,$(VM_SOURCES)) +VM_OBJECTS = $(patsubst %.c, build/objects/%.o, $(VM_SOURCES)) -all: build/bin/vm +ASM_SOURCES = $(shell find asm/ -name *.c) +ASM_OBJECTS = $(patsubst %.c, build/objects/%.o, $(ASM_SOURCES)) -build/bin/vm: $(VM_OBJECTS) +all: build/vm build/asm + +build/vm: $(VM_OBJECTS) @mkdir -p $(dir $@) - $(CC) $(VM_OBJECTS) -o $@ $(FEATURE_FLAGS) $(OPTIMIZATION_FLAGS) $(LINKER_FLAGS) + $(CC) $^ -o $@ $(FEATURE_FLAGS) $(OPTIMIZATION_FLAGS) $(LINKER_FLAGS) -build/%.o: %.c $(HEADERS) +build/asm: $(ASM_OBJECTS) + @mkdir -p $(dir $@) + $(CC) $^ -o $@ $(FEATURE_FLAGS) $(OPTIMIZATION_FLAGS) $(LINKER_FLAGS) + +build/objects/%.o: %.c $(HEADERS) @mkdir -p $(dir $@) $(CC) $< -c -o $@ $(COMPILER_FLAGS) $(OPTIMIZATION_FLAGS) $(FEATURE_FLAGS) -.PHONY: run_kern clean +.PHONY: clean clean: - rm -rf build/ bin/ + rm -rf build/ diff --git a/asm/main.c b/asm/main.c new file mode 100644 index 0000000..edfa8b2 --- /dev/null +++ b/asm/main.c @@ -0,0 +1,6 @@ +#include + +int main(void) +{ + puts("asm"); +}