LIBSTDCPP_SOURCES = euler/stream.cpp strings/strlen.cpp euler/syscall.asm \ euler/entry.cpp io/fopen.cpp euler/gcc.asm memory/delete.cpp euler/heap.cpp \ memory/new.cpp io/fclose.cpp io/fread.cpp strings/memcpy.cpp io/fseek.cpp \ euler/start_process.cpp clean: rm -rf build build/%.asm.o: source/%.asm @mkdir -p $(@D) $(HILBERT_NASM) $^ -o $@ build/%.cpp.o: source/%.cpp @mkdir -p $(@D) $(HILBERT_CC) -c $^ -o $@ build/crt0.o: build/empty.asm.o cp $^ $@ build/libc.a: build/empty.asm.o $(HILBERT_AR) rcs $@ $^ build/libg.a: build/empty.asm.o $(HILBERT_AR) rcs $@ $^ build/libm.a: build/empty.asm.o $(HILBERT_AR) rcs $@ $^ build/libstdc++.a: ${LIBSTDCPP_SOURCES:%=build/%.o} $(HILBERT_AR) rcs $@ $^