b1854181cc8fc6e9fae64301977fc916307f959b
[people/pravin/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           += pxe
15 MEDIA           += kpxe
16 MEDIA           += kkpxe
17 MEDIA           += elf
18 MEDIA           += elfd
19 MEDIA           += lmelf
20 MEDIA           += lmelfd
21 MEDIA           += lkrn
22 MEDIA           += bImage
23 MEDIA           += dsk
24 MEDIA           += nbi
25 MEDIA           += hd
26 MEDIA           += raw
27 MEDIA           += com
28 MEDIA           += exe
29
30 # Padding rules
31 #
32 PAD_rom         = $(PADIMG) --blksize=512 --byte=0xff $@
33 PAD_dsk         = $(PADIMG) --blksize=512 $@
34 PAD_hd          = $(PADIMG) --blksize=512 $@
35
36 # rule to make a non-emulation ISO boot image
37 NON_AUTO_MEDIA  += iso
38 %iso:   %lkrn util/geniso
39         $(QM)$(ECHO) "  [GENISO] $@"
40         $(Q)ISOLINUX_BIN=$(ISOLINUX_BIN) bash util/geniso $@ $<
41
42 # rule to make a floppy emulation ISO boot image
43 NON_AUTO_MEDIA  += liso
44 %liso:  %lkrn util/genliso
45         $(QM)$(ECHO) "  [GENLISO] $@"
46         $(Q)bash util/genliso $@ $<
47
48 # Special target for building Master Boot Record binary
49 $(BIN)/mbr.bin : $(BIN)/mbr.o
50         $(QM)$(ECHO) "  [OBJCOPY] $@"
51         $(Q)$(OBJCOPY) -O binary $< $@
52
53 # rule to make a USB disk image
54 $(BIN)/usbdisk.bin : $(BIN)/usbdisk.o
55         $(QM)$(ECHO) "  [OBJCOPY] $@"
56         $(Q)$(OBJCOPY) -O binary $< $@
57
58 NON_AUTO_MEDIA  += usb
59 %usb: $(BIN)/usbdisk.bin %hd
60         $(QM)$(ECHO) "  [FINISH] $@"
61         $(Q)cat $^ > $@
62
63 # Padded floppy image (e.g. for iLO)
64 NON_AUTO_MEDIA += pdsk
65 %pdsk : %dsk
66         $(Q)cp $< $@
67         $(Q)$(PADIMG) --blksize=1474560 $@