foo
[eightysix] / kern / Makefile
index 70e479b..d097da2 100644 (file)
@@ -1,6 +1,6 @@
-csrc = $(wildcard src/*.c)
-ssrc = $(wildcard src/*.asm)
-obj = $(csrc:.c=.o) $(ssrc:.asm=.o)
+csrc = $(wildcard src/*.c) $(wildcard src/libc/*.c)
+ssrc = $(wildcard src/*.asm) $(wildcard src/libc/*.asm)
+obj = $(csrc:.c=.o) $(ssrc:.asm=-asm.o)
 dep = $(csrc:.c=.d)
 
 disk_numsec = 720
@@ -12,18 +12,22 @@ img = 86kern.img
 CC = ia16-elf-gcc
 LD = ia16-elf-ld
 
-CFLAGS = -march=i8088 -mtune=i8088 -MMD
+warn = -pedantic -Wall
+inc = -nostdinc -Isrc -Isrc/libc
+
+CFLAGS = -march=i8088 -mtune=i8088 $(warn) $(inc) -MMD
+LDFLAGS = -T kern.ld -Map kern.map
 
 $(img): $(bin)
        dd if=/dev/zero of=$@ bs=512 count=$(disk_numsec)
        dd if=$< of=$@ bs=512 conv=notrunc
 
 $(bin): $(obj)
-       $(LD) -T kern.ld -Map kern.map -o $@ $(obj)
+       $(LD) -o $@ $(obj) $(LDFLAGS)
 
 -include $(dep)
 
-%.o: %.asm
+%-asm.o: %.asm
        nasm -o $@ -f elf $<
 
 .PHONY: clean
@@ -45,5 +49,4 @@ debug: $(img)
 
 .PHONY: disasm
 disasm: $(bin)
-       ndisasm -o 0x7c00 $< >dis1
-       ndisasm -o 0x98000 -e 512 $< >dis2
+       ndisasm -o 0x600 $< >dis