Kill off redundant references to the .zprefixes.
[people/holger/gpxe.git] / src / arch / i386 / Makefile
1 # Locations of utilities
2 #
3 ISOLINUX_BIN    = /usr/lib/syslinux/isolinux.bin
4
5 # i386-specific directories containing source files
6 #
7 SRCDIRS         += arch/i386/core arch/i386/transitions arch/i386/prefix
8 SRCDIRS         += arch/i386/firmware/pcbios
9 SRCDIRS         += arch/i386/image
10 SRCDIRS         += arch/i386/drivers/bus
11 SRCDIRS         += arch/i386/drivers/net
12 SRCDIRS         += arch/i386/drivers/disk
13 SRCDIRS         += arch/i386/interface/pcbios
14 SRCDIRS         += arch/i386/interface/pxe
15
16 # The various xxx_loader.c files are #included into core/loader.c and
17 # should not be compiled directly.
18 #
19 NON_AUTO_SRCS   += arch/i386/core/aout_loader.c
20 NON_AUTO_SRCS   += arch/i386/core/freebsd_loader.c
21 NON_AUTO_SRCS   += arch/i386/core/wince_loader.c
22
23 # unnrv2b.S is used to generate a 16-bit as well as a 32-bit object.
24 #
25 OBJS_unnrv2b            = unnrv2b unnrv2b16
26 CFLAGS_unnrv2b16        = -DCODE16
27
28 # We need to undefine the default macro "i386" when compiling .S
29 # files, otherwise ".arch i386" translates to ".arch 1"...
30 #
31 CFLAGS_S                += -Ui386
32
33 # The i386 linker script
34 #
35 LDSCRIPT                = arch/i386/scripts/i386.lds
36
37 # Media types.
38
39 MEDIA                   += rom
40 MEDIA                   += pxe
41 MEDIA                   += elf
42 MEDIA                   += elfd
43 MEDIA                   += lmelf
44 MEDIA                   += lmelfd
45 MEDIA                   += lkrn
46 MEDIA                   += bImage
47 MEDIA                   += dsk
48 MEDIA                   += nbi
49 MEDIA                   += hd
50 MEDIA                   += raw
51 MEDIA                   += com
52 MEDIA                   += exe
53
54 # Special target for building Master Boot Record binary
55 $(BIN)/mbr.bin : $(BIN)/mbr.o
56         $(OBJCOPY) -O binary $< $@
57
58 # Some suffixes (e.g. %.fd0) are generated directly from other
59 # finished files (e.g. %.dsk), rather than having their own prefix.
60
61 # rule to write disk images to /dev/fd0
62 NON_AUTO_MEDIA          += fd0
63 %fd0 : %dsk
64         dd if=$< bs=512 conv=sync of=/dev/fd0
65         sync
66
67 # rule to create padded disk images
68 NON_AUTO_MEDIA          += pdsk
69 %pdsk : %dsk
70         cp $< $@
71         $(PERL) ./util/dskpad.pl $@
72
73 # rule to make a non-emulation ISO boot image
74 NON_AUTO_MEDIA          += iso
75 %iso:   %lkrn util/geniso
76         ISOLINUX_BIN=$(ISOLINUX_BIN) bash util/geniso $@ $<
77
78 # rule to make a floppy emulation ISO boot image
79 NON_AUTO_MEDIA          += liso
80 %liso:  %lkrn util/genliso
81         bash util/genliso $@ $<
82
83 # rule to make a USB disk image
84 $(BIN)/usbdisk.bin : $(BIN)/usbdisk.o
85         $(OBJCOPY) -O binary $< $@
86
87 NON_AUTO_MEDIA          += usb
88 %usb: $(BIN)/usbdisk.bin %hd
89         cat $^ > $@
90
91 # Add NON_AUTO_MEDIA to the media list, so that they show up in the
92 # output of "make"
93 #
94 MEDIA           += $(NON_AUTO_MEDIA)
95
96 # Shortcut to allow typing just
97 #   make bin-kir/%
98 # rather than
99 #   make -f arch/i386/kir-Makefile bin-kir/%
100 # for building a KEEP_IT_REAL flavour.
101 #
102 $(BIN)-kir/% : kir-target
103         $(MAKE) -f arch/i386/kir-Makefile $(MAKECMDGOALS)
104
105 .PHONY : kir-target