summaryrefslogtreecommitdiffstats
path: root/contrib/syslinux-4.02/memdisk/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/syslinux-4.02/memdisk/Makefile')
-rw-r--r--contrib/syslinux-4.02/memdisk/Makefile100
1 files changed, 100 insertions, 0 deletions
diff --git a/contrib/syslinux-4.02/memdisk/Makefile b/contrib/syslinux-4.02/memdisk/Makefile
new file mode 100644
index 0000000..d2f20c5
--- /dev/null
+++ b/contrib/syslinux-4.02/memdisk/Makefile
@@ -0,0 +1,100 @@
+## -----------------------------------------------------------------------
+##
+## Copyright 2001-2009 H. Peter Anvin - All Rights Reserved
+## Copyright 2009 Intel Corporation; author: H. Peter Anvin
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation, Inc., 53 Temple Place Ste 330,
+## Boston MA 02111-1307, USA; either version 2 of the License, or
+## (at your option) any later version; incorporated herein by reference.
+##
+## -----------------------------------------------------------------------
+
+topdir = ..
+include $(topdir)/MCONFIG.embedded
+-include $(topdir)/version.mk
+
+INCLUDES = -I$(topdir)/com32/include
+CFLAGS += -D__MEMDISK__ -DDATE='"$(DATE)"'
+LDFLAGS = $(GCCOPT) -g
+NASM = nasm
+NASMOPT = -O9999
+NFLAGS = -dDATE='"$(DATE)"'
+NINCLUDE =
+
+SRCS = $(wildcard *.asm *.c *.h)
+
+# The DATE is set on the make command line when building binaries for
+# official release. Otherwise, substitute a hex string that is pretty much
+# guaranteed to be unique to be unique from build to build.
+ifndef HEXDATE
+HEXDATE := $(shell $(PERL) ../now.pl $(SRCS))
+endif
+ifndef DATE
+DATE := $(shell sh ../gen-id.sh $(VERSION) $(HEXDATE))
+endif
+
+# Important: init.o16 must be first!!
+OBJS16 = init.o16 init32.o
+OBJS32 = start32.o setup.o msetup.o e820func.o conio.o memcpy.o memset.o \
+ memmove.o unzip.o dskprobe.o eltorito.o \
+ memdisk_chs_512.o memdisk_edd_512.o \
+ memdisk_iso_512.o memdisk_iso_2048.o
+
+CSRC = setup.c msetup.c e820func.c conio.c unzip.c dskprobe.c eltorito.c
+SSRC = start32.S memcpy.S memset.S memmove.S
+NASMSRC = memdisk_chs_512.asm memdisk_edd_512.asm \
+ memdisk_iso_512.asm memdisk_iso_2048.asm \
+ memdisk16.asm
+
+all: memdisk # e820test
+
+# tidy, clean removes everything except the final binary
+tidy dist:
+ rm -f *.o *.s *.tmp *.o16 *.s16 *.bin *.lst *.elf e820test .*.d
+ rm -f *.map
+
+clean: tidy
+
+# spotless also removes the product binary
+spotless: clean
+ rm -f memdisk .depend
+
+memdisk16.o: memdisk16.asm
+
+# Cancel rule
+%.o: %.asm
+
+memdisk16.o: memdisk16.asm
+ ( $(NASM) -M -DDEPEND $(NFLAGS) $(NINCLUDE) -o $@ $< ; echo '' ) > .$@.d ; true
+ $(NASM) -f elf $(NASMOPT) $(NFLAGS) $(NINCLUDE) -o $@ -l $*.lst $<
+
+.PRECIOUS: %.bin
+%.bin: %.asm
+ ( $(NASM) -M -DDEPEND $(NFLAGS) $(NINCLUDE) -o $@ $< ; echo '' ) > .$@.d ; true
+ $(NASM) -f bin $(NASMOPT) $(NFLAGS) $(NINCLUDE) -o $@ -l $*.lst $<
+
+memdisk_%.o: memdisk_%.bin
+ $(LD) -r -b binary -o $@ $<
+
+memdisk16.elf: $(OBJS16)
+ $(LD) -Ttext 0 -o $@ $^
+
+memdisk32.elf: memdisk.ld $(OBJS32)
+ $(LD) -o $@ -T $^
+
+%.bin: %.elf
+ $(OBJCOPY) -O binary $< $@
+
+memdisk: memdisk16.bin memdisk32.bin postprocess.pl
+ $(PERL) postprocess.pl $@ memdisk16.bin memdisk32.bin
+
+e820test: e820test.c e820func.c msetup.c
+ $(CC) -m32 -g $(GCCWARN) -DTEST -o $@ $^
+
+# This file contains the version number, so add a dependency for it
+setup.s: ../version
+
+# Include dependencies file
+-include .*.d