X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=bootcensus;a=blobdiff_plain;f=Makefile;h=96227190c668bcefc8be592e269e97787a815bdf;hp=0722ce4d6f5a5cd0ea4dc8c0dd357e5bcc9cc6d0;hb=3cb6f9dad7e37db865bd3cbccf0b5d6471fdd73f;hpb=559dd7c3c836a69eac46bd12c7ef61bb5de8882c diff --git a/Makefile b/Makefile index 0722ce4..9622719 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,22 @@ -csrc = $(wildcard src/*.c) $(wildcard src/libc/*.c) -ssrc = $(wildcard src/*.s) $(wildcard src/libc/*.s) $(wildcard src/boot/*.s) -obj = $(csrc:.c=.o) $(ssrc:.s=.o) +csrc = $(wildcard src/*.c) $(wildcard src/libc/*.c) $(wildcard src/test/*.c) +ssrc = $(wildcard src/*.s) $(wildcard src/libc/*.s) $(wildcard src/boot/*.s) $(wildcard src/test/*.s) +Ssrc = $(wildcard src/*.S) +obj = $(csrc:.c=.o) $(ssrc:.s=.o) $(Ssrc:.S=.o) dep = $(obj:.o=.d) elf = test bin = test.bin warn = -pedantic -Wall +#opt = -O2 dbg = -g -inc = -Isrc -Isrc/libc +inc = -Isrc -Isrc/libc -Isrc/test +gccopt = -fno-pic -ffreestanding -nostdinc -fno-builtin -CFLAGS = $(ccarch) -march=i386 $(warn) $(dbg) -nostdinc -fno-builtin $(inc) $(def) +CFLAGS = $(ccarch) -march=i386 $(warn) $(opt) $(dbg) $(gccopt) $(inc) $(def) ASFLAGS = $(asarch) -march=i386 $(dbg) -nostdinc -fno-builtin $(inc) -LDFLAGS = $(ldarch) -T pcboot.ld -print-gc-sections +LDFLAGS = $(ldarch) -nostdlib -T pcboot.ld -print-gc-sections +QEMU_FLAGS = -fda floppy.img -serial file:serial.log -soundhw sb16 ifneq ($(shell uname -m), i386) ccarch = -m32 @@ -38,6 +42,9 @@ $(bin): $(elf) $(elf): $(obj) $(LD) -o $@ $(obj) -Map link.map $(LDFLAGS) +%.o: %.S + $(CC) -o $@ $(CFLAGS) -c $< + -include $(dep) %.d: %.c @@ -60,6 +67,16 @@ bootldr.disasm: $(elf) $(elf).disasm: $(elf) objdump -d $< -j .startup -j .text -m i386 >$@ +$(elf).sym: $(elf) + objcopy --only-keep-debug $< $@ + .PHONY: run run: $(bin) - qemu-system-i386 -fda floppy.img -serial file:serial.log + qemu-system-i386 $(QEMU_FLAGS) + +.PHONY: debug +debug: $(bin) $(elf).sym + qemu-system-i386 $(QEMU_FLAGS) -s -S + +.PHONY: sym +sym: $(elf).sym