aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile9
1 files changed, 7 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 2484913..03fa2f1 100644
--- a/Makefile
+++ b/Makefile
@@ -2,12 +2,12 @@ CXXFLAGS := -m32 -ggdb -g3 -O1 -fno-pic -fno-rtti -fno-exceptions -std=c++23 \
-Wall -Wextra -pedantic -Werror
LDFLAGS := $(CXXFLAGS) -T link.ld -static -nostdlib -fno-use-cxa-atexit
-CXXFILES := $(wildcard src/*.cpp)
+CXXFILES := $(wildcard src/*.cpp) $(wildcard src/*.zig)
PROJECT := myos
PRJISO := $(PROJECT).iso
PRJBIN := $(PROJECT).bin
-OBJS := $(patsubst src/%.cpp,out/%.o,$(CXXFILES))
+OBJS := $(patsubst src/%.cpp,out/%.o,$(patsubst src/%.zig,out/%.o,$(CXXFILES)))
all: $(PRJISO)
@@ -26,6 +26,11 @@ out/%.o: src/%.cpp
@echo " CXX " $<
@g++ $(CXXFLAGS) -c $< -o $@
+out/%.o: src/%.zig
+ @echo " ZIG " $<
+ @zig build-obj -target x86-freestanding -O ReleaseSmall $<
+ @mv $(patsubst src/%.zig,%.o,$<)* out/
+
clean:
@echo " CLEAN"
@rm -f $(OBJS) $(PRJBIN) $(PRJISO)