[intel] Forcibly skip PHY reset on some models
[ipxe.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 # pcbios specific drivers
12 SRCDIRS         += arch/i386/drivers
13 SRCDIRS         += arch/i386/drivers/net
14
15 # Media types.
16 #
17 MEDIA           += rom
18 MEDIA           += mrom
19 MEDIA           += pcirom
20 MEDIA           += isarom
21 MEDIA           += pxe
22 MEDIA           += kpxe
23 MEDIA           += kkpxe
24 MEDIA           += kkkpxe
25 MEDIA           += lkrn
26 MEDIA           += dsk
27 MEDIA           += nbi
28 MEDIA           += hd
29 MEDIA           += raw
30 MEDIA           += exe
31
32 # Padding rules
33 #
34 PAD_rom         = $(PERL) $(PADIMG) --blksize=512 --byte=0xff
35 PAD_mrom        = $(PAD_rom)
36 PAD_pcirom      = $(PAD_rom)
37 PAD_isarom      = $(PAD_rom)
38 PAD_dsk         = $(PERL) $(PADIMG) --blksize=512
39 PAD_hd          = $(PERL) $(PADIMG) --blksize=32768
40 PAD_exe         = $(PERL) $(PADIMG) --blksize=512
41
42 # Finalisation rules
43 #
44 FINALISE_rom    = $(PERL) $(FIXROM)
45 FINALISE_mrom   = $(FINALISE_rom)
46 FINALISE_pcirom = $(FINALISE_rom)
47 FINALISE_isarom = $(FINALISE_rom)
48
49 # Use $(ROMS) rather than $(DRIVERS) for "allroms", "allmroms", etc.
50 #
51 LIST_NAME_rom := ROMS
52 LIST_NAME_mrom := ROMS
53 LIST_NAME_pcirom := ROMS
54 LIST_NAME_isarom := ROMS
55
56 # rule to make a non-emulation ISO boot image
57 NON_AUTO_MEDIA  += iso
58 %iso:   %lkrn util/geniso
59         $(QM)$(ECHO) "  [GENISO] $@"
60         $(Q)ISOLINUX_BIN=$(ISOLINUX_BIN) LDLINUX_C32=$(LDLINUX_C32) \
61             VERSION="$(VERSION)" bash util/geniso -o $@ $<
62
63 # rule to make a floppy emulation ISO boot image
64 NON_AUTO_MEDIA  += liso
65 %liso:  %lkrn util/geniso
66         $(QM)$(ECHO) "  [GENISO] $@"
67         $(Q)VERSION="$(VERSION)" bash util/geniso -l -o $@ $<
68
69 # rule to make a syslinux floppy image (mountable, bootable)
70 NON_AUTO_MEDIA  += sdsk
71 %sdsk:  %lkrn util/gensdsk
72         $(QM)$(ECHO) "  [GENSDSK] $@"
73         $(Q)bash util/gensdsk $@ $<
74
75 # rule to write disk images to /dev/fd0
76 NON_AUTO_MEDIA  += fd0
77 %fd0 : %dsk
78         $(QM)$(ECHO) "  [DD] $@"
79         $(Q)dd if=$< bs=512 conv=sync of=/dev/fd0
80         $(Q)sync
81
82 # Special target for building Master Boot Record binary
83 $(BIN)/mbr.bin : $(BIN)/mbr.o
84         $(QM)$(ECHO) "  [OBJCOPY] $@"
85         $(Q)$(OBJCOPY) -O binary $< $@
86
87 # rule to make a USB disk image
88 $(BIN)/usbdisk.bin : $(BIN)/usbdisk.o
89         $(QM)$(ECHO) "  [OBJCOPY] $@"
90         $(Q)$(OBJCOPY) -O binary $< $@
91
92 NON_AUTO_MEDIA  += usb
93 %usb: $(BIN)/usbdisk.bin %hd
94         $(QM)$(ECHO) "  [FINISH] $@"
95         $(Q)cat $^ > $@
96
97 # Padded floppy image (e.g. for iLO)
98 NON_AUTO_MEDIA += pdsk
99 %pdsk : %dsk
100         $(Q)cp $< $@
101         $(Q)$(PADIMG) --blksize=1474560 $@