e38fbca0c85f59246ce38ad43b5862aa970578d1
[gpxe.git] / src / arch / i386 / Makefile.pcbios
1 # -*- makefile -*- : Force emacs to use Makefile mode
2
3 # The i386 linker script
4 #
5 LDSCRIPT        = arch/i386/scripts/i386.lds
6
7 # Stop ld from complaining about our customised linker script
8 #
9 LDFLAGS         += -N --no-check-sections
10
11 # Media types.
12 #
13 MEDIA           += rom
14 MEDIA           += hrom
15 MEDIA           += xrom
16 MEDIA           += pxe
17 MEDIA           += kpxe
18 MEDIA           += kkpxe
19 MEDIA           += lkrn
20 MEDIA           += dsk
21 MEDIA           += nbi
22 MEDIA           += hd
23 MEDIA           += raw
24
25 # Padding rules
26 #
27 PAD_rom         = $(PADIMG) --blksize=512 --byte=0xff $@
28 PAD_hrom        = $(PAD_rom)
29 PAD_xrom        = $(PAD_rom)
30 PAD_dsk         = $(PADIMG) --blksize=512 $@
31 PAD_hd          = $(PADIMG) --blksize=32768 $@
32
33 # rule to make a non-emulation ISO boot image
34 NON_AUTO_MEDIA  += iso
35 %iso:   %lkrn util/geniso
36         $(QM)$(ECHO) "  [GENISO] $@"
37         $(Q)ISOLINUX_BIN=$(ISOLINUX_BIN) bash util/geniso $@ $<
38
39 # rule to make a floppy emulation ISO boot image
40 NON_AUTO_MEDIA  += liso
41 %liso:  %lkrn util/genliso
42         $(QM)$(ECHO) "  [GENLISO] $@"
43         $(Q)bash util/genliso $@ $<
44
45 # rule to make a syslinux floppy image (mountable, bootable)
46 NON_AUTO_MEDIA  += sdsk
47 %sdsk:  %lkrn util/gensdsk
48         $(QM)$(ECHO) "  [GENSDSK] $@"
49         $(Q)bash util/gensdsk $@ $<
50
51 # Special target for building Master Boot Record binary
52 $(BIN)/mbr.bin : $(BIN)/mbr.o
53         $(QM)$(ECHO) "  [OBJCOPY] $@"
54         $(Q)$(OBJCOPY) -O binary $< $@
55
56 # rule to make a USB disk image
57 $(BIN)/usbdisk.bin : $(BIN)/usbdisk.o
58         $(QM)$(ECHO) "  [OBJCOPY] $@"
59         $(Q)$(OBJCOPY) -O binary $< $@
60
61 NON_AUTO_MEDIA  += usb
62 %usb: $(BIN)/usbdisk.bin %hd
63         $(QM)$(ECHO) "  [FINISH] $@"
64         $(Q)cat $^ > $@
65
66 # Padded floppy image (e.g. for iLO)
67 NON_AUTO_MEDIA += pdsk
68 %pdsk : %dsk
69         $(Q)cp $< $@
70         $(Q)$(PADIMG) --blksize=1474560 $@