xref: /qemu/tests/multiboot/Makefile (revision 1c8c426f)
1CC=gcc
2CCFLAGS=-m32 -Wall -Wextra -Werror -fno-stack-protector -nostdinc -fno-builtin
3ASFLAGS=-m32
4
5LD=ld
6LDFLAGS_ELF=-melf_i386 -T link.ld
7LDFLAGS_BIN=-melf_i386 -T link.ld --oformat=binary
8LIBS=$(shell $(CC) $(CCFLAGS) -print-libgcc-file-name)
9
10AOUT_KLUDGE_BIN=$(foreach x,$(shell seq 1 9),aout_kludge_$x.bin)
11
12all: mmap.elf modules.elf $(AOUT_KLUDGE_BIN)
13
14mmap.elf: start.o mmap.o libc.o link.ld
15	$(LD) $(LDFLAGS_ELF) -o $@ $^ $(LIBS)
16
17modules.elf: start.o modules.o libc.o link.ld
18	$(LD) $(LDFLAGS_ELF) -o $@ $^ $(LIBS)
19
20aout_kludge_%.bin: aout_kludge_%.o link.ld
21	$(LD) $(LDFLAGS_BIN) -o $@ $^ $(LIBS)
22
23.PRECIOUS: aout_kludge_%.o
24aout_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 $@ $^
32