1 # -*- makefile -*- : Force emacs to use Makefile mode
3 # The i386 linker script
5 LDSCRIPT = arch/i386/scripts/i386.lds
7 # Stop ld from complaining about our customised linker script
9 LDFLAGS += -N --no-check-sections
11 # pcbios specific drivers
12 SRCDIRS += arch/i386/drivers
13 SRCDIRS += arch/i386/drivers/net
34 PAD_rom = $(PERL) $(PADIMG) --blksize=512 --byte=0xff
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
44 FINALISE_rom = $(PERL) $(FIXROM)
45 FINALISE_mrom = $(FINALISE_rom)
46 FINALISE_pcirom = $(FINALISE_rom)
47 FINALISE_isarom = $(FINALISE_rom)
49 # Use $(ROMS) rather than $(DRIVERS) for "allroms", "allmroms", etc.
52 LIST_NAME_mrom := ROMS
53 LIST_NAME_pcirom := ROMS
54 LIST_NAME_isarom := ROMS
56 # rule to make a non-emulation ISO boot image
58 %iso: %lkrn util/geniso
59 $(QM)$(ECHO) " [GENISO] $@"
60 $(Q)ISOLINUX_BIN=$(ISOLINUX_BIN) VERSION="$(VERSION)" bash util/geniso -o $@ $<
62 # rule to make a floppy emulation ISO boot image
63 NON_AUTO_MEDIA += liso
64 %liso: %lkrn util/geniso
65 $(QM)$(ECHO) " [GENISO] $@"
66 $(Q)VERSION="$(VERSION)" bash util/geniso -l -o $@ $<
68 # rule to make a syslinux floppy image (mountable, bootable)
69 NON_AUTO_MEDIA += sdsk
70 %sdsk: %lkrn util/gensdsk
71 $(QM)$(ECHO) " [GENSDSK] $@"
72 $(Q)bash util/gensdsk $@ $<
74 # rule to write disk images to /dev/fd0
77 $(QM)$(ECHO) " [DD] $@"
78 $(Q)dd if=$< bs=512 conv=sync of=/dev/fd0
81 # Special target for building Master Boot Record binary
82 $(BIN)/mbr.bin : $(BIN)/mbr.o
83 $(QM)$(ECHO) " [OBJCOPY] $@"
84 $(Q)$(OBJCOPY) -O binary $< $@
86 # rule to make a USB disk image
87 $(BIN)/usbdisk.bin : $(BIN)/usbdisk.o
88 $(QM)$(ECHO) " [OBJCOPY] $@"
89 $(Q)$(OBJCOPY) -O binary $< $@
92 %usb: $(BIN)/usbdisk.bin %hd
93 $(QM)$(ECHO) " [FINISH] $@"
96 # Padded floppy image (e.g. for iLO)
97 NON_AUTO_MEDIA += pdsk
100 $(Q)$(PADIMG) --blksize=1474560 $@