CC=gcc CCFLAGS=-m32 -Wall -Wextra -Werror -fno-stack-protector -nostdinc -fno-builtin ASFLAGS=-m32 LD=ld LDFLAGS_ELF=-melf_i386 -T link.ld LDFLAGS_BIN=-melf_i386 -T link.ld --oformat=binary LIBS=$(shell $(CC) $(CCFLAGS) -print-libgcc-file-name) AOUT_KLUDGE_BIN=$(foreach x,$(shell seq 1 9),aout_kludge_$x.bin) all: mmap.elf modules.elf $(AOUT_KLUDGE_BIN) mmap.elf: start.o mmap.o libc.o link.ld $(LD) $(LDFLAGS_ELF) -o $@ $^ $(LIBS) modules.elf: start.o modules.o libc.o link.ld $(LD) $(LDFLAGS_ELF) -o $@ $^ $(LIBS) aout_kludge_%.bin: aout_kludge_%.o link.ld $(LD) $(LDFLAGS_BIN) -o $@ $^ $(LIBS) .PRECIOUS: aout_kludge_%.o aout_kludge_%.o: aout_kludge.S $(CC) $(ASFLAGS) -DSCENARIO=$* -c -o $@ $^ %.o: %.c $(CC) $(CCFLAGS) -c -o $@ $^ %.o: %.S $(CC) $(ASFLAGS) -c -o $@ $^