From f2c51bc81d2aa618b29ddbeaae5ac1c5308821f0 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Mon, 9 Feb 2015 17:39:41 +0100 Subject: Reorganize all. --- src/rules.make | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/rules.make (limited to 'src/rules.make') diff --git a/src/rules.make b/src/rules.make new file mode 100644 index 0000000..e3840dd --- /dev/null +++ b/src/rules.make @@ -0,0 +1,34 @@ + +AS = nasm +ASFLAGS = -felf -g + +CC = i586-elf-gcc +CFLAGS += -ffreestanding -O2 -std=gnu99 -Wall -Wextra -I . -I ./include -g -Wno-unused-parameter +# CXX = i586-elf-g++ +# CXFLAGS = -ffreestanding -O3 -Wall -Wextra -I . -I ./include -fno-exceptions -fno-rtti +LD = i586-elf-gcc +LDFLAGS += -ffreestanding -O2 -nostdlib -lgcc + +all: $(OUT) + +%.bin: $(OBJ) + $(LD) $(LDFLAGS) -o $@ $^ $(LIB) + +%.lib: $(OBJ) + $(LD) $(LDFLAGS) -r -o $@ $^ $(LIB) + +%.o: %.s + $(AS) $(ASFLAGS) -o $@ $< + +%.o: %.c + $(CC) -c $< -o $@ $(CFLAGS) + +# %.o: %.cpp +# $(CXX) -c $< -o $@ $(CXFLAGS) + +clean: + rm */*.o || true +mrproper: clean + rm $(OUT) || true + +rebuild: mrproper all -- cgit v1.2.3