2 CCFLAGS
=-m32
-Wall
-Wextra
-Werror
-fno-stack-protector
-nostdinc
-fno-builtin
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
)
10 AOUT_KLUDGE_BIN
=$(foreach x
,$(shell seq
1 9),aout_kludge_
$x.bin
)
12 all: mmap.elf modules.elf
$(AOUT_KLUDGE_BIN
)
14 mmap.elf
: start.o mmap.o libc.o link.
ld
15 $(LD
) $(LDFLAGS_ELF
) -o
$@
$^
$(LIBS
)
17 modules.elf
: start.o modules.o libc.o link.
ld
18 $(LD
) $(LDFLAGS_ELF
) -o
$@
$^
$(LIBS
)
20 aout_kludge_
%.bin
: aout_kludge_
%.o link.
ld
21 $(LD
) $(LDFLAGS_BIN
) -o
$@
$^
$(LIBS
)
23 .PRECIOUS
: aout_kludge_
%.o
24 aout_kludge_
%.o
: aout_kludge.S
25 $(CC
) $(ASFLAGS
) -DSCENARIO
=$* -c
-o
$@
$^
28 $(CC
) $(CCFLAGS
) -c
-o
$@
$^
31 $(CC
) $(ASFLAGS
) -c
-o
$@
$^