• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# -*- makefile -*- : Force emacs to use Makefile mode
2
3# The i386 linker script
4#
5LDSCRIPT	= arch/i386/scripts/i386.lds
6
7# Stop ld from complaining about our customised linker script
8#
9LDFLAGS		+= -N --no-check-sections
10
11# Media types.
12#
13MEDIA		+= rom
14MEDIA		+= hrom
15MEDIA		+= xrom
16MEDIA		+= pxe
17MEDIA		+= kpxe
18MEDIA		+= kkpxe
19MEDIA		+= lkrn
20MEDIA		+= dsk
21MEDIA		+= nbi
22MEDIA		+= hd
23MEDIA		+= raw
24
25# Padding rules
26#
27PAD_rom		= $(PADIMG) --blksize=512 --byte=0xff $@
28PAD_hrom	= $(PAD_rom)
29PAD_xrom	= $(PAD_rom)
30PAD_dsk		= $(PADIMG) --blksize=512 $@
31PAD_hd		= $(PADIMG) --blksize=32768 $@
32
33# rule to make a non-emulation ISO boot image
34NON_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
40NON_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)
46NON_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
61NON_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)
67NON_AUTO_MEDIA += pdsk
68%pdsk : %dsk
69	$(Q)cp $< $@
70	$(Q)$(PADIMG) --blksize=1474560 $@
71