aboutsummaryrefslogtreecommitdiff
path: root/src/rules.make
diff options
context:
space:
mode:
authorAlex Auvolat <alex.auvolat@ens.fr>2015-02-09 17:39:41 +0100
committerAlex Auvolat <alex.auvolat@ens.fr>2015-02-09 17:40:03 +0100
commitf2c51bc81d2aa618b29ddbeaae5ac1c5308821f0 (patch)
treefae67a79d5e60128d074550326a05216694a5848 /src/rules.make
parenta5dfdd2b3fa91a2cda4f807c88bd35928e3c7a61 (diff)
downloadkogata-f2c51bc81d2aa618b29ddbeaae5ac1c5308821f0.tar.gz
kogata-f2c51bc81d2aa618b29ddbeaae5ac1c5308821f0.zip
Reorganize all.
Diffstat (limited to 'src/rules.make')
-rw-r--r--src/rules.make34
1 files changed, 34 insertions, 0 deletions
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