diff options
author | Michael Brown | 2005-04-08 17:01:17 +0200 |
---|---|---|
committer | Michael Brown | 2005-04-08 17:01:17 +0200 |
commit | 0ff80b477dcff0726ebdbed95e8a93971e59e82b (patch) | |
tree | 860b7150212a07c24a9529ea072f3fb12700974c /src/arch/i386/Makefile | |
parent | Merged this file into HEAD (diff) | |
download | ipxe-0ff80b477dcff0726ebdbed95e8a93971e59e82b.tar.gz ipxe-0ff80b477dcff0726ebdbed95e8a93971e59e82b.tar.xz ipxe-0ff80b477dcff0726ebdbed95e8a93971e59e82b.zip |
Merged mcb30-realmode-redesign back to HEAD
Diffstat (limited to 'src/arch/i386/Makefile')
-rw-r--r-- | src/arch/i386/Makefile | 493 |
1 files changed, 124 insertions, 369 deletions
diff --git a/src/arch/i386/Makefile b/src/arch/i386/Makefile index 0a80ff94..a4139e74 100644 --- a/src/arch/i386/Makefile +++ b/src/arch/i386/Makefile @@ -1,375 +1,130 @@ -ARCH_FORMAT= elf32-i386 - -# For debugging, don't delete intermediates -#.SECONDARY: - -LDSCRIPT= arch/i386/core/etherboot.lds -PLDSCRIPT= arch/i386/core/etherboot.prefix.lds - -LCONFIG+= -Ui386 - -ROMLIMIT= 524288 -CHECKSIZE= { read d1; read d1 d2 d3 size d4; [ $$size -gt $(ROMLIMIT) ] &&\ - { $(RM) $@; echo "ERROR: code size exceeds limit!"; exit 1; }; exit 0; } - -START= $(BIN)/start32.o $(BIN)/linuxbios.o \ - $(BIN)/bios.o $(BIN)/console.o $(BIN)/memsizes.o $(BIN)/basemem.o \ - $(BIN)/hidemem.o $(BIN)/e820mangler.o \ - $(BIN)/realmode.o $(BIN)/realmode_asm.o \ - $(BIN)/callbacks.o $(BIN)/pxe_callbacks.o - -SRCS+= arch/i386/prefix/floppyprefix.S -SRCS+= arch/i386/prefix/unnrv2b.S -SRCS+= arch/i386/firmware/pcbios/bios.c -SRCS+= arch/i386/firmware/pcbios/console.c -SRCS+= arch/i386/firmware/pcbios/memsizes.c -SRCS+= arch/i386/firmware/pcbios/basemem.c -SRCS+= arch/i386/firmware/pcbios/hidemem.c -SRCS+= arch/i386/firmware/pcbios/e820mangler.S -SRCS+= arch/i386/prefix/liloprefix.S -SRCS+= arch/i386/prefix/elfprefix.S -SRCS+= arch/i386/prefix/lmelf_prefix.S -SRCS+= arch/i386/prefix/elf_dprefix.S -SRCS+= arch/i386/prefix/lmelf_dprefix.S -SRCS+= arch/i386/prefix/comprefix.S -SRCS+= arch/i386/prefix/exeprefix.S -SRCS+= arch/i386/prefix/pxeprefix.S -SRCS+= arch/i386/prefix/romprefix.S - -SRCS+= arch/i386/core/init.S -SRCS+= arch/i386/core/start32.S -SRCS+= arch/i386/core/pci_io.c -SRCS+= arch/i386/core/i386_timer.c -SRCS+= arch/i386/core/elf.c -SRCS+= arch/i386/core/cpu.c -SRCS+= arch/i386/core/video_subr.c -SRCS+= arch/i386/core/pic8259.c -SRCS+= arch/i386/core/hooks.c -SRCS+= arch/i386/core/callbacks.c -SRCS+= arch/i386/core/realmode.c -SRCS+= arch/i386/core/realmode_asm.S -SRCS+= arch/i386/core/pxe_callbacks.c - -# ROM loaders: ISA and PCI versions -ISAPREFIX= $(BIN)/isaprefix.o -ISAENTRY= $(BIN)/isaprefix.entry.o -ISAEXIT= $(BIN)/isaprefix.exit.o -PCIPREFIX= $(BIN)/pciprefix.o -PCIENTRY= $(BIN)/pciprefix.entry.o -PCIEXIT= $(BIN)/pciprefix.exit.o -# Variables xxx_ROMTYPE are defined by genrules.pl. ROMENTRY and -# ROMEXIT will evaluate to give the correct objects to use. -TARGETBASE=$(patsubst $(BIN)/%,%,$(firstword $(subst ., ,$@))) -ROMCARD=$(firstword $(subst --, ,$(TARGETBASE))) -ROMTYPE=$(firstword $(ROMTYPE_$(ROMCARD)) ISA) -romENTRY=$($(ROMTYPE)ENTRY) -romEXIT=$($(ROMTYPE)EXIT) - -# Target type for generic prf rules -TARGETTYPE=$(patsubst .%,%, $(suffix $(basename $@))) -TARGETENTRY=$($(TARGETTYPE)ENTRY) -TARGETEXIT=$($(TARGETTYPE)EXIT) - -# Other real-mode entry loaders -dskPREFIX= $(BIN)/floppyprefix.o -dskENTRY= $(BIN)/floppyprefix.entry.o -dskEXIT= $(BIN)/floppyprefix.exit.o -comPREFIX= $(BIN)/comprefix.o -comENTRY= $(BIN)/comprefix.entry.o -comEXIT= $(BIN)/comprefix.exit.o -exePREFIX= $(BIN)/exeprefix.o -exeENTRY= $(BIN)/exeprefix.entry.o -exeEXIT= $(BIN)/exeprefix.exit.o -liloPREFIX= $(BIN)/liloprefix.o -liloENTRY= $(BIN)/liloprefix.entry.o -liloEXIT= $(BIN)/liloprefix.exit.o -bImagePREFIX= $(BIN)/bImageprefix.o -bImageENTRY= $(BIN)/bImageprefix.entry.o -bImageEXIT= $(BIN)/bImageprefix.exit.o -pxePREFIX= $(BIN)/pxeprefix.o -pxeENTRY= $(BIN)/pxeprefix.entry.o -pxeEXIT= $(BIN)/pxeprefix.exit.o -rawPREFIX= $(BIN)/nullprefix.o -rawENTRY= $(BIN)/nullprefix.entry.o -rawEXIT= $(BIN)/nullprefix.exit.o - -# Protected mode entry loaders -elfPREFIX= $(BIN)/elfprefix.o -elfENTRY= $(BIN)/elfprefix.entry.o -elfEXIT= $(BIN)/elfprefix.exit.o -lmelfPREFIX= $(BIN)/lmelf_prefix.o -lmelfENTRY= $(BIN)/lmelf_prefix.entry.o -lmelfEXIT= $(BIN)/lmelf_prefix.exit.o -elfdPREFIX= $(BIN)/elf_dprefix.o -elfdENTRY= $(BIN)/elf_dprefix.entry.o -elfdEXIT= $(BIN)/elf_dprefix.exit.o -lmelfdPREFIX= $(BIN)/lmelf_dprefix.o -lmelfdENTRY= $(BIN)/lmelf_dprefix.entry.o -lmelfdEXIT= $(BIN)/lmelf_dprefix.exit.o - -include $(BIN)/Roms - -all: $(ROMS) -allroms: $(ROMS) -allzroms: $(ROMS) -alldsks: $(EB_DSKS) -allzdsks: $(EB_ZDSKS) -alllilos: $(EB_LILOS) -allzlilos: $(EB_ZLILOS) -allbImages: $(EB_BIMAGES) -allbzImages: $(EB_BZIMAGES) -allpxes: $(EB_PXES) -allzpxes: $(EB_ZPXES) -allelfs: $(EB_ELFS) -allzelfs: $(EB_ZELFS) -alllmelfs: $(EB_LMELFS) -allzlmelfs: $(EB_ZLMELFS) -allelfds: $(EB_ELFDS) -allzelfds: $(EB_ZELFDS) -alllmelfds: $(EB_LMELFDS) -allzlmelfds: $(EB_ZLMELFDS) -allcoms: $(EB_COMS) -allexes: $(EB_EXES) -allisos: $(EB_ISOS) -alllisos: $(EB_LISOS) - -BOBJS+= $(BIN)/pci_io.o $(BIN)/i386_timer.o -BOBJS+= $(BIN)/elf.o $(BIN)/cpu.o $(BIN)/video_subr.o -BOBJS+= $(BIN)/pic8259.o $(BIN)/hooks.o - -# ROM loaders - -$(ISAPREFIX): arch/i386/prefix/romprefix.S $(MAKEDEPS) - $(CPP) $(CFLAGS) $(LCONFIG) -Ui386 -D ASSEMBLY $< \ - | $(AS) $(ASFLAGS) -o $@ - -$(PCIPREFIX): arch/i386/prefix/romprefix.S $(MAKEDEPS) - $(CPP) -DPCI_PNP_HEADER $(CFLAGS) $(LCONFIG) -Ui386 -D ASSEMBLY $< \ - | $(AS) $(ASFLAGS) -o $@ - -# Prefix splitters -$(BIN)/%prefix.entry.o: $(BIN)/%prefix.o $(MAKEDEPS) - $(OBJCOPY) -R .text16 $< $@ - -$(BIN)/%prefix.exit.o: $(BIN)/%prefix.o $(MAKEDEPS) - $(OBJCOPY) -R .prefix $< $@ - -# Generic prefix objects -PREFIXOBJS = $(BIN)/init.o -ZPREFIXOBJS = $(BIN)/init.o $(BIN)/unnrv2b.o - -# Utilities -$(BIN)/nrv2b: util/nrv2b.c - $(HOST_CC) -O2 -DENCODE -DDECODE -DMAIN -DVERBOSE -DNDEBUG -DBITSIZE=32 -DENDIAN=0 -o $@ $< - -ZFILELEN = perl util/zfilelen.pl - -# Pattern Rules - -# General for compiling/assembly source files - -$(BIN)/%.o: arch/i386/core/%.c $(MAKEDEPS) - $(CC) $(CFLAGS) -o $@ -c $< - -$(BIN)/%.o: arch/i386/core/%.S $(MAKEDEPS) - $(CPP) $(CFLAGS) -Ui386 -D ASSEMBLY $< | $(AS) $(ASFLAGS) -o $@ - -$(BIN)/%.o: arch/i386/firmware/pcbios/%.c $(MAKEDEPS) - $(CC) $(CFLAGS) -o $@ -c $< - -$(BIN)/%.o: arch/i386/firmware/pcbios/%.S $(MAKEDEPS) - $(CPP) $(CFLAGS) -Ui386 -DASSEMBLY $< | $(AS) $(ASFLAGS) -o $@ - -$(BIN)/%.o: arch/i386/prefix/%.S $(MAKEDEPS) - $(CPP) $(CFLAGS) -Ui386 -DASSEMBLY $< | $(AS) $(ASFLAGS) -o $@ - -$(BIN)/%16.o: arch/i386/prefix/%.S $(MAKEDEPS) - $(CPP) $(CFLAGS) -Ui386 -DASSEMBLY -DCODE16 $< | $(AS) $(ASFLAGS) -o $@ - -# general rule for 16bit .o, may be overridden -$(BIN)/%.o: $(BIN)/%.s - $(AS) $(ASFLAGS) -o $@ $< - -# general rule for .bin (plain binary loader code), may be overridden -$(BIN)/%.bin: $(BIN)/%.o - $(OBJCOPY) -O binary $< $@ - -# general rule for .z (compressed binary code), may be overridden -# rule for .z is in top level Makefile -# Give the directory name, e.g. use $(BIN)/rtl8139.com as the target. - -$(BIN)/%.zo: $(BIN)/%.zbin arch/i386/core/prefixzdata.lds $(MAKEDEPS) - $(LD) -T arch/i386/core/prefixzdata.lds -b binary $< -o $@ - -$(BIN)/%.uo: $(BIN)/%.bin arch/i386/core/prefixudata.lds $(MAKEDEPS) - $(LD) -T arch/i386/core/prefixudata.lds -b binary $< -o $@ - -# Intermediate prf rules - -%.prf: %.rt $(PREFIXOBJS) %.rt1.uo %.rt2.uo $(MAKEDEPS) - $(MAKE) $(TARGETENTRY) - $(LD) $(LDFLAGS) -T $(PLDSCRIPT) $(TARGETENTRY) -R $(subst $(MAKEDEPS),,$^) -o $@ - -%.zprf: %.rt $(ZPREFIXOBJS) %.rt1.uo %.rt2.zo $(MAKEDEPS) - $(MAKE) $(TARGETENTRY) - $(LD) $(LDFLAGS) -T $(PLDSCRIPT) $(TARGETENTRY) -R $(subst $(MAKEDEPS),,$^) -o $@ - -# general rules for normal/compressed ROM images, may be overridden -SUFFIXES += rom zrom - -$(BIN)/%.rom.rt: $(BIN)/%.rt.o $(ISAENTRY) $(PCIENTRY) $(ISAEXIT) $(PCIEXIT) $(LDSCRIPT) $(MAKEDEPS) - $(LD) $(LDFLAGS) -T $(LDSCRIPT) -o $@ $(romEXIT) $< - @$(SIZE) $@ | $(CHECKSIZE) - -$(BIN)/%.rom: $(BIN)/%.rom.prf - $(OBJCOPY) -O binary $< $@ - $(MAKEROM) $(MAKEROM_FLAGS) $(MAKEROM_$(ROMCARD)) $(MAKEROM_ID_$(ROMCARD)) -i$(IDENT) $@ - -$(BIN)/%.zrom: $(BIN)/%.rom.zprf - $(OBJCOPY) -O binary $< $@ - $(MAKEROM) $(MAKEROM_FLAGS) $(MAKEROM_$(ROMCARD)) $(MAKEROM_ID_$(ROMCARD)) -i$(IDENT) $@ - -# general rules for ELF images -SUFFIXES += elf zelf -$(BIN)/%.elf.rt: $(BIN)/%.rt.o $(elfENTRY) $(elfEXIT) $(LDSCRIPT) $(MAKEDEPS) - $(LD) $(LDFLAGS) -T $(LDSCRIPT) -o $@ $(elfEXIT) $< - -$(BIN)/%.elf: $(BIN)/%.elf.prf - $(OBJCOPY) -O binary $< $@ - -$(BIN)/%.zelf: $(BIN)/%.elf.zprf - $(OBJCOPY) -O binary $< $@ - -# general rules for Long Mode ELF images -SUFFIXES += lmelf zlmelf -$(BIN)/%.lmelf.rt: $(BIN)/%.rt.o $(lmelfENTRY) $(lmelfEXIT) $(LDSCRIPT) $(MAKEDEPS) - $(LD) $(LDFLAGS) -T $(LDSCRIPT) -o $@ $(lmelfEXIT) $< - -$(BIN)/%.lmelf: $(BIN)/%.lmelf.prf - $(OBJCOPY) -O binary $< $@ - -$(BIN)/%.zlmelf: $(BIN)/%.lmelf.zprf - $(OBJCOPY) -O binary $< $@ - -# general rules for ELF dynamic images -SUFFIXES += elfd zelfd -$(BIN)/%.elfd.rt: $(BIN)/%.rt.o $(elfdENTRY) $(elfdEXIT) $(LDSCRIPT) $(MAKEDEPS) - $(LD) $(LDFLAGS) -T $(LDSCRIPT) -o $@ $(elfdEXIT) $< - -$(BIN)/%.elfd: $(BIN)/%.elfd.prf - $(OBJCOPY) -O binary $< $@ - -$(BIN)/%.zelfd: $(BIN)/%.elfd.zprf - $(OBJCOPY) -O binary $< $@ - -# general rules for Long Mode ELF dynamic images -SUFFIXES += lmelfd zlmelfd -$(BIN)/%.lmelfd.rt: $(BIN)/%.rt.o $(lmelfdENTRY) $(lmelfdEXIT) $(LDSCRIPT) $(MAKEDEPS) - $(LD) $(LDFLAGS) -T $(LDSCRIPT) -o $@ $(lmelfdEXIT) $< - -$(BIN)/%.lmelfd: $(BIN)/%.lmelfd.prf - $(OBJCOPY) -O binary $< $@ - -$(BIN)/%.zlmelfd: $(BIN)/%.lmelfd.zprf - $(OBJCOPY) -O binary $< $@ - -# rules to generate a DOS loadable .com executable -SUFFIXES += com -$(BIN)/%.com.rt: $(BIN)/%.rt.o $(comENTRY) $(comEXIT) $(LDSCRIPT) $(MAKEDEPS) - $(LD) $(LDFLAGS) -T $(LDSCRIPT) -o $@ $< $(comEXIT) - -$(BIN)/%.com: $(BIN)/%.com.zprf - $(OBJCOPY) -O binary $< $@ - -# rules to generate a DOS loadable .exe executable -SUFFIXES += exe -$(BIN)/%.exe.rt: $(BIN)/%.rt.o $(exeENTRY) $(exeEXIT) $(LDSCRIPT) $(MAKEDEPS) - $(LD) $(LDFLAGS) -T $(LDSCRIPT) -o $@ $< $(exeEXIT) - @$(SIZE) $@ | $(CHECKSIZE) - -$(BIN)/%.exe: $(BIN)/%.exe.prf - $(OBJCOPY) -O binary $< $@ - -# rules to make a LILO loadable image -SUFFIXES += lilo zlilo - -$(BIN)/%.lilo.rt: $(BIN)/%.rt.o $(liloENTRY) $(liloEXIT) $(LDSCRIPT) $(MAKEDEPS) - $(LD) $(LDFLAGS) -T $(LDSCRIPT) -o $@ $< $(liloEXIT) - @$(SIZE) $@ | $(CHECKSIZE) - -$(BIN)/%.lilo: $(BIN)/%.lilo.prf - $(OBJCOPY) -O binary $< $@ - -$(BIN)/%.zlilo: $(BIN)/%.lilo.zprf - $(OBJCOPY) -O binary $< $@ - -# rules to make big linux boot protocol image -SUFFIXES += bImage bzImage - -$(BIN)/%.bImage.rt: $(BIN)/%.rt.o $(bImageENTRY) $(bImageEXIT) $(LDSCRIPT) $(MAKEDEPS) - $(LD) $(LDFLAGS) -T $(LDSCRIPT) -o $@ $< $(bImageEXIT) - -$(BIN)/%.bImage: $(BIN)/%.bImage.prf - $(OBJCOPY) -O binary $< $@ - -$(BIN)/%.bzImage: $(BIN)/%.bImage.zprf - $(OBJCOPY) -O binary $< $@ - - -# rules to generate a PXE loadable image -SUFFIXES += pxe zpxe - -$(BIN)/%.pxe.rt: $(BIN)/%.rt.o $(pxeENTRY) $(pxeEXIT) $(LDSCRIPT) $(MAKEDEPS) - $(LD) $(LDFLAGS) -T $(LDSCRIPT) -o $@ $< $(pxeEXIT) - @$(SIZE) $@ | $(CHECKSIZE) - -$(BIN)/%.pxe: $(BIN)/%.pxe.prf - $(OBJCOPY) -O binary $< $@ - -$(BIN)/%.zpxe: $(BIN)/%.pxe.zprf - $(OBJCOPY) -O binary $< $@ - -# rules to generate the .dsk/.zdsk floppy images -SUFFIXES += dsk zdsk - -$(BIN)/%.dsk.rt: $(BIN)/%.rt.o $(dskENTRY) $(dskEXIT) $(LDSCRIPT) $(MAKEDEPS) - $(LD) $(LDFLAGS) -T $(LDSCRIPT) -o $@ $< $(dskEXIT) - @$(SIZE) $@ | $(CHECKSIZE) - -$(BIN)/%.dsk: $(BIN)/%.dsk.prf - $(OBJCOPY) -O binary $< $@ - -$(BIN)/%.zdsk: $(BIN)/%.dsk.zprf - $(OBJCOPY) -O binary $< $@ - -# rules to write the .dsk/.zdsk image onto a blank floppy -SUFFIXES += fd0 zfd0 -%.fd0: %.dsk - dd if=$< bs=512 conv=sync of=/dev/fd0 - sync - -%.zfd0: %.zdsk +# i386-specific directories containing source files +# +SRCDIRS += arch/i386/core arch/i386/transitions arch/i386/prefix +SRCDIRS += arch/i386/firmware/pcbios arch/i386/firmware/linuxbios +SRCDIRS += arch/i386/drivers/net + +# The various xxx_loader.c files are #included into core/loader.c and +# should not be compiled directly. +# +NON_AUTO_SRCS += arch/i386/core/aout_loader.c +NON_AUTO_SRCS += arch/i386/core/freebsd_loader.c +NON_AUTO_SRCS += arch/i386/core/multiboot_loader.c +NON_AUTO_SRCS += arch/i386/core/tagged_loader.c +NON_AUTO_SRCS += arch/i386/core/wince_loader.c + +# setup.S and unnrv2b.S are both used to generate 16-bit as well as +# 32-bit objects. +# +OBJS_setup = setup setup16 +CFLAGS_setup16 = -DCODE16 +OBJS_unnrv2b = unnrv2b unnrv2b16 +CFLAGS_unnrv2b16 = -DCODE16 + +# hooks.c is used to generate hooks.o and hooks_rm.o +# +OBJS_hooks = hooks hooks_rm +CFLAGS_hooks_rm = -DREALMODE + +# We need to undefine the default macro "i386" when compiling .S +# files, otherwise ".arch i386" translates to ".arch 1"... +# +CFLAGS_S += -Ui386 + +# The i386 linker script +# +LDSCRIPT = arch/i386/scripts/i386.lds + +# Media types. +# +# It's ugly that we have to define these repetitive combinations by +# hand. Unforunately, $(eval ...) is available only in make >= 3.80, +# and using an external Makefile fragment doesn't work because +# OBJS_xxx need to be defined *before* the external Makefile fragments +# for the source files are generated... + +CFLAGS_ZPREFIX = -DCOMPRESS + +MEDIA += rom +OBJS_romprefix = isaprefix zisaprefix pciprefix zpciprefix +CFLAGS_isaprefix = +CFLAGS_zisaprefix = $(CFLAGS_ZPREFIX) +CFLAGS_pciprefix = -DPCI_PNP_HEADER +CFLAGS_zpciprefix = $(CFLAGS_pciprefix) $(CFLAGS_ZPREFIX) + +MEDIA += pxe +OBJS_pxeprefix = pxeprefix zpxeprefix +CFLAGS_zpxeprefix = $(CFLAGS_ZPREFIX) + +MEDIA += elf +OBJS_elfprefix = elfprefix zelfprefix +CFLAGS_zelfprefix = $(CFLAGS_ZPREFIX) + +MEDIA += elfd +OBJS_elfdprefix = elfdprefix zelfdprefix +CFLAGS_zelfdprefix = $(CFLAGS_ZPREFIX) + +MEDIA += lmelf +OBJS_lmelfprefix = lmelfprefix zlmelfprefix +CFLAGS_zlmelfprefix = $(CFLAGS_ZPREFIX) + +MEDIA += lmelfd +OBJS_lmelfdprefix = lmelfdprefix zlmelfdprefix +CFLAGS_zlmelfdprefix = $(CFLAGS_ZPREFIX) + +MEDIA += lilo +OBJS_liloprefix = liloprefix zliloprefix +CFLAGS_zliloprefix = $(CFLAGS_ZPREFIX) + +MEDIA += bImage +OBJS_bImageprefix = bImageprefix zbImageprefix +CFLAGS_zbImageprefix = $(CFLAGS_ZPREFIX) + +MEDIA += dsk +OBJS_dskprefix = dskprefix zdskprefix +CFLAGS_zdskprefix = $(CFLAGS_ZPREFIX) + +MEDIA += raw +OBJS_rawprefix = rawprefix zrawprefix +CFLAGS_zrawprefix = $(CFLAGS_ZPREFIX) + +# These media cannot handle compressed payloads + +MEDIA += com + +MEDIA += exe + +# Some suffixes (e.g. %.zfd0) are generated directly from other +# finished files (e.g. %.zdsk), rather than having their own prefix. + +# rule to write disk images to /dev/fd0 +NON_AUTO_MEDIA += fd0 +%fd0 : %dsk dd if=$< bs=512 conv=sync of=/dev/fd0 sync -# rules to create raw executable images -SUFFIXES += raw zraw -$(BIN)/%.raw.rt: $(BIN)/%.rt.o $(rawENTRY) $(rawEXIT) $(LDSCRIPT) $(MAKEDEPS) - $(LD) $(LDFLAGS) -T $(LDSCRIPT) -o $@ $< $(rawEXIT) - -$(BIN)/%.raw: $(BIN)/%.raw.prf - $(OBJCOPY) -O binary $< $@ - -$(BIN)/%.zraw: $(BIN)/%.raw.zprf - $(OBJCOPY) -O binary $< $@ - # rule to make a non-emulation ISO boot image -SUFFIXES += iso -%.iso: util/geniso %.zlilo - ISOLINUX_BIN=${ISOLINUX_BIN} bash util/geniso $*.iso $*.zlilo +NON_AUTO_MEDIA += iso +%iso: %lilo util/geniso + ISOLINUX_BIN=$(ISOLINUX_BIN) bash util/geniso $@ $< # rule to make a floppy emulation ISO boot image -SUFFIXES += liso -%.liso: util/genliso %.zlilo - bash util/genliso $*.liso $*.zlilo - +NON_AUTO_MEDIA += liso +%liso: %lilo util/genliso + bash util/genliso $@ $< + +# Add NON_AUTO_MEDIA to the media list, so that they show up in the +# output of "make" +# +MEDIA += $(NON_AUTO_MEDIA) + +# Shortcut to allow typing just +# make bin-kir/% +# rather than +# make -f arch/i386/kir-Makefile bin-kir/% +# for building a KEEP_IT_REAL flavour. +# +$(BIN)-kir/% : kir-target + $(MAKE) -f arch/i386/kir-Makefile $(MAKECMDGOALS) + +.PHONY : kir-target |