fighting with interrupt vectors
[rpikern] / Makefile
index f61f340..0b0cb54 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -17,8 +17,8 @@ endif
 
 warn = -pedantic -Wall
 dbg = -g
-inc = -Isrc/libc
-gccopt = -marm -fpic -ffreestanding -nostdinc
+inc = -Isrc -Isrc/libc
+gccopt = -marm -fno-pic -ffreestanding -nostdinc -ffast-math -fno-math-errno -MMD
 #arch = -mcpu=arm1176jzf-s
 arch = -mcpu=cortex-a7
 
@@ -26,21 +26,17 @@ CFLAGS = $(arch) $(warn) $(opt) $(dbg) $(gccopt) $(inc) $(def)
 ASFLAGS = $(arch) $(dbg) $(inc)
 LDFLAGS = -nostdlib -T rpikern.ld -print-gc-sections
 
-QEMU_FLAGS = -m 256 -M raspi2 -serial stdio
+QEMU_FLAGS = -vnc :0 -m 1024 -M raspi2 -serial stdio -d guest_errors
 
 
 $(bin): $(elf)
        $(OBJCOPY) -O binary $< $@
 
-$(elf): $(obj)
+$(elf): $(obj) rpikern.ld
        $(LD) -o $@ $(obj) -Map link.map $(LDFLAGS)
 
 -include $(dep)
 
-%.d: %.c
-       @echo 'gen dep $@ ...'
-       @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
-
 .PHONY: clean
 clean:
        rm -f $(obj) $(bin) $(elf) link.map
@@ -52,3 +48,11 @@ cleandep:
 .PHONY: run
 run: $(elf)
        qemu-system-arm $(QEMU_FLAGS) -kernel $(elf)
+
+.PHONY: disasm
+disasm: $(elf)
+       $(toolprefix)objdump -D $<
+
+.PHONY: install
+install: $(bin)
+       cp $(bin) /srv/tftp/$(bin)