xref: /openbmc/qemu/tests/multiboot/Makefile (revision 211d6260208d079429fd0d447b86ff480d0524ca)
1d1f3a23bSKevin WolfCC=gcc
2d1f3a23bSKevin WolfCCFLAGS=-m32 -Wall -Wextra -Werror -fno-stack-protector -nostdinc -fno-builtin
3d1f3a23bSKevin WolfASFLAGS=-m32
4d1f3a23bSKevin Wolf
5d1f3a23bSKevin WolfLD=ld
6*1c8c426fSKevin WolfLDFLAGS_ELF=-melf_i386 -T link.ld
7*1c8c426fSKevin WolfLDFLAGS_BIN=-melf_i386 -T link.ld --oformat=binary
8d1f3a23bSKevin WolfLIBS=$(shell $(CC) $(CCFLAGS) -print-libgcc-file-name)
9d1f3a23bSKevin Wolf
10*1c8c426fSKevin WolfAOUT_KLUDGE_BIN=$(foreach x,$(shell seq 1 9),aout_kludge_$x.bin)
11d1f3a23bSKevin Wolf
12*1c8c426fSKevin Wolfall: mmap.elf modules.elf $(AOUT_KLUDGE_BIN)
13d1f3a23bSKevin Wolf
14*1c8c426fSKevin Wolfmmap.elf: start.o mmap.o libc.o link.ld
15*1c8c426fSKevin Wolf	$(LD) $(LDFLAGS_ELF) -o $@ $^ $(LIBS)
16*1c8c426fSKevin Wolf
17*1c8c426fSKevin Wolfmodules.elf: start.o modules.o libc.o link.ld
18*1c8c426fSKevin Wolf	$(LD) $(LDFLAGS_ELF) -o $@ $^ $(LIBS)
19*1c8c426fSKevin Wolf
20*1c8c426fSKevin Wolfaout_kludge_%.bin: aout_kludge_%.o link.ld
21*1c8c426fSKevin Wolf	$(LD) $(LDFLAGS_BIN) -o $@ $^ $(LIBS)
22*1c8c426fSKevin Wolf
23*1c8c426fSKevin Wolf.PRECIOUS: aout_kludge_%.o
24*1c8c426fSKevin Wolfaout_kludge_%.o: aout_kludge.S
25*1c8c426fSKevin Wolf	$(CC) $(ASFLAGS) -DSCENARIO=$* -c -o $@ $^
26a9c837d8SKevin Wolf
27d1f3a23bSKevin Wolf%.o: %.c
28d1f3a23bSKevin Wolf	$(CC) $(CCFLAGS) -c -o $@ $^
29d1f3a23bSKevin Wolf
30d1f3a23bSKevin Wolf%.o: %.S
31d1f3a23bSKevin Wolf	$(CC) $(ASFLAGS) -c -o $@ $^
32