Makefile (790B)
1 CC=gcc 2 CCFLAGS=-m32 -Wall -Wextra -Werror -fno-stack-protector -nostdinc -fno-builtin 3 ASFLAGS=-m32 4 5 LD=ld 6 LDFLAGS_ELF=-melf_i386 -T link.ld 7 LDFLAGS_BIN=-melf_i386 -T link.ld --oformat=binary 8 LIBS=$(shell $(CC) $(CCFLAGS) -print-libgcc-file-name) 9 10 AOUT_KLUDGE_BIN=$(foreach x,$(shell seq 1 9),aout_kludge_$x.bin) 11 12 all: mmap.elf modules.elf $(AOUT_KLUDGE_BIN) 13 14 mmap.elf: start.o mmap.o libc.o link.ld 15 $(LD) $(LDFLAGS_ELF) -o $@ $^ $(LIBS) 16 17 modules.elf: start.o modules.o libc.o link.ld 18 $(LD) $(LDFLAGS_ELF) -o $@ $^ $(LIBS) 19 20 aout_kludge_%.bin: aout_kludge_%.o link.ld 21 $(LD) $(LDFLAGS_BIN) -o $@ $^ $(LIBS) 22 23 .PRECIOUS: aout_kludge_%.o 24 aout_kludge_%.o: aout_kludge.S 25 $(CC) $(ASFLAGS) -DSCENARIO=$* -c -o $@ $^ 26 27 %.o: %.c 28 $(CC) $(CCFLAGS) -c -o $@ $^ 29 30 %.o: %.S 31 $(CC) $(ASFLAGS) -c -o $@ $^