sortof works
[com32] / Makefile
1 csrc = $(wildcard src/*.c) $(wildcard src/libc/*.c)
2 ssrc = $(wildcard src/*.asm) $(wildcard src/libc/*.asm)
3 obj = $(csrc:.c=.o) $(ssrc:.asm=.o)
4 dep = $(csrc:.c=.d)
5 bin = test.com
6
7 warn = -pedantic -Wall
8 inc = -Isrc -Isrc/libc
9
10 AS = nasm
11
12 ASFLAGS = -Isrc/
13 CFLAGS = -m32 -march=i386 $(warn) $(opt) $(dbg) -fno-pic -ffreestanding -nostdinc \
14                  -ffast-math $(inc) $(def)
15 LDFLAGS = -m elf_i386 -nostdlib -T com32.ld -Map test.map
16
17 $(bin): $(obj)
18         $(LD) -o $@ $(obj) $(LDFLAGS)
19
20 -include $(dep)
21
22 %.o: %.asm
23         $(AS) -o $@ -f elf $(ASFLAGS) $<
24
25 %.s: %.c
26         $(CC) $(CFLAGS) -S $< -o $@
27
28 .PHONY: clean
29 clean:
30         rm -f $(obj) $(bin)
31
32 .PHONY: cleandep
33 cleandep:
34         rm -f $(dep)
35
36 disasm: $(bin)
37         ndisasm -o 0x100 -b 16 $< >$@