[syslinux:master] Makefiles: export the firmware type as a cpp variable

syslinux-bot for H. Peter Anvin hpa at linux.intel.com
Fri Feb 28 15:42:03 PST 2014


Commit-ID:  929b217f46ac45cc0bf7cbbaf77575ad0a17f94f
Gitweb:     http://www.syslinux.org/commit/929b217f46ac45cc0bf7cbbaf77575ad0a17f94f
Author:     H. Peter Anvin <hpa at linux.intel.com>
AuthorDate: Thu, 27 Feb 2014 21:43:18 -0800
Committer:  H. Peter Anvin <hpa at linux.intel.com>
CommitDate: Thu, 27 Feb 2014 21:43:54 -0800

Makefiles: export the firmware type as a cpp variable

Export the firmware type as a cpp variable so we can #ifdef.

Signed-off-by: H. Peter Anvin <hpa at linux.intel.com>

---
 Makefile      | 3 +++
 core/Makefile | 3 ++-
 mk/com32.mk   | 4 ++--
 mk/efi.mk     | 4 ++--
 mk/elf.mk     | 4 ++--
 mk/lib.mk     | 2 +-
 mk/rosh.mk    | 2 +-
 7 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/Makefile b/Makefile
index d0dc514..d21280c 100644
--- a/Makefile
+++ b/Makefile
@@ -255,6 +255,7 @@ bios:
 	@mkdir -p $(OBJ)/bios
 	$(MAKE) -C $(OBJ)/bios -f $(SRC)/Makefile SRC="$(SRC)" \
 		objdir=$(OBJ)/bios OBJ=$(OBJ)/bios HAVE_FIRMWARE=1 \
+		FIRMWARE=BIOS \
 		ARCH=i386 LDLINUX=ldlinux.c32 $(MAKECMDGOALS)
 
 efi32:
@@ -262,6 +263,7 @@ efi32:
 	$(MAKE) -C $(OBJ)/efi32 -f $(SRC)/Makefile SRC="$(SRC)" \
 		objdir=$(OBJ)/efi32 OBJ=$(OBJ)/efi32 HAVE_FIRMWARE=1 \
 		ARCH=i386 BITS=32 EFI_BUILD=1 LDLINUX=ldlinux.e32 \
+		FIRMWARE=EFI32 \
 		$(MAKECMDGOALS)
 
 efi64:
@@ -269,6 +271,7 @@ efi64:
 	$(MAKE) -C $(OBJ)/efi64 -f $(SRC)/Makefile SRC="$(SRC)" \
 		objdir=$(OBJ)/efi64 OBJ=$(OBJ)/efi64 HAVE_FIRMWARE=1 \
 		ARCH=x86_64 BITS=64 EFI_BUILD=1 LDLINUX=ldlinux.e64 \
+		FIRMWARE=EFI64 \
 		$(MAKECMDGOALS)
 
 else # ifeq($(HAVE_FIRMWARE),)
diff --git a/core/Makefile b/core/Makefile
index a7503ef..14c10c2 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -102,7 +102,8 @@ NASMOPT  += $(NASMDEBUG)
 
 PREPCORE = $(OBJ)/../lzo/prepcore
 
-CFLAGS += -D__SYSLINUX_CORE__ -I$(objdir) -DLDLINUX=\"$(LDLINUX)\"
+CFLAGS += -D__SYSLINUX_CORE__ -D__FIRMWARE_$(FIRMWARE)__ \
+	  -I$(objdir) -DLDLINUX=\"$(LDLINUX)\"
 
 # The DATE is set on the make command line when building binaries for
 # official release.  Otherwise, substitute a hex string that is pretty much
diff --git a/mk/com32.mk b/mk/com32.mk
index 55dc10c..9a3b19d 100644
--- a/mk/com32.mk
+++ b/mk/com32.mk
@@ -64,12 +64,12 @@ GPLINCLUDE =
 endif
 
 CFLAGS     = $(GCCOPT) $(GCCWARN) \
-	     -fomit-frame-pointer -D__COM32__ \
+	     -fomit-frame-pointer -D__COM32__ -D__FIRMWARE_$(FIRMWARE)__ \
 	     -nostdinc -iwithprefix include \
 	     -I$(com32)/libutil/include -I$(com32)/include \
 	     -I$(com32)/include/sys $(GPLINCLUDE)
 SFLAGS     = $(GCCOPT) $(GCCWARN) \
-	     -fomit-frame-pointer -D__COM32__ \
+	     -fomit-frame-pointer -D__COM32__ -D__FIRMWARE_$(FIRMWARE)__ \
 	     -nostdinc -iwithprefix include \
 	     -I$(com32)/libutil/include -I$(com32)/include \
 	     -I$(com32)/include/sys $(GPLINCLUDE)
diff --git a/mk/efi.mk b/mk/efi.mk
index f90ce5c..f097ad2 100644
--- a/mk/efi.mk
+++ b/mk/efi.mk
@@ -29,7 +29,7 @@ CFLAGS = -I$(EFIINC) -I$(EFIINC)/$(EFI_SUBARCH) \
 		-I$(core)/include -I$(core)/ $(ARCHOPT) \
 		-I$(com32)/lib/ -I$(com32)/libutil/include -std=gnu99 \
 		-DELF_DEBUG -DSYSLINUX_EFI -I$(objdir) \
-		$(GCCWARN) -D__COM32__ -mno-red-zone \
+		$(GCCWARN) -D__COM32__ -D__FIRMWARE_$(FIRMWARE)__ -mno-red-zone \
 		-DLDLINUX=\"$(LDLINUX)\" -fvisibility=hidden \
 		-Wno-unused-parameter $(GCCOPT)
 
@@ -40,7 +40,7 @@ LDFLAGS = -T $(SRC)/$(ARCH)/syslinux.ld -Bsymbolic -pie -nostdlib -znocombreloc
 		-L$(LIBDIR) --hash-style=gnu -m elf_$(ARCH) $(CRT0) -E
 
 SFLAGS     = $(GCCOPT) $(GCCWARN) $(ARCHOPT) \
-	     -fomit-frame-pointer -D__COM32__ \
+	     -fomit-frame-pointer -D__COM32__ -D__FIRMWARE_$(FIRMWARE)__ \
 	     -nostdinc -iwithprefix include \
 	     -I$(com32)/libutil/include -I$(com32)/include -I$(com32)/include/sys $(GPLINCLUDE)
 
diff --git a/mk/elf.mk b/mk/elf.mk
index 56de6de..12d1077 100644
--- a/mk/elf.mk
+++ b/mk/elf.mk
@@ -55,7 +55,7 @@ GPLINCLUDE =
 endif
 
 CFLAGS     = $(GCCOPT) $(GCCWARN) -W -Wall \
-	     -fomit-frame-pointer -D__COM32__ -DDYNAMIC_MODULE \
+	     -fomit-frame-pointer -D__COM32__ -D__FIRMWARE_$(FIRMWARE)__ -DDYNAMIC_MODULE \
 	     -nostdinc -iwithprefix include \
 	     -I$(com32)/libutil/include -I$(com32)/include \
 		-I$(com32)/include/sys $(GPLINCLUDE) -I$(core)/include \
@@ -64,7 +64,7 @@ ifndef EFI_BUILD
 CFLAGS	  += -mregparm=3 -DREGPARM=3
 endif
 
-SFLAGS     = $(GCCOPT) -D__COM32__ 
+SFLAGS     = $(GCCOPT) -D__COM32__ -D__FIRMWARE_$(FIRMWARE)__ 
 LDFLAGS    = -m elf_$(ARCH) -shared --hash-style=gnu -T $(com32)/lib/$(ARCH)/elf.ld --as-needed
 LIBGCC    := $(shell $(CC) $(GCCOPT) --print-libgcc)
 
diff --git a/mk/lib.mk b/mk/lib.mk
index bc516c2..a12a059 100644
--- a/mk/lib.mk
+++ b/mk/lib.mk
@@ -43,7 +43,7 @@ LIBFLAGS = -DDYNAMIC_CRC_TABLE -DPNG_NO_CONSOLE_IO \
 # fallback anyway, just use that on old machines...
 # LIBFLAGS += -DPNG_NO_FLOATING_POINT_SUPPORTED
 
-REQFLAGS  = $(GCCOPT) -g -D__COM32__ \
+REQFLAGS  = $(GCCOPT) -g -D__COM32__ -D__FIRMWARE_$(FIRMWARE)__ \
 	    -nostdinc -iwithprefix include -I. -I$(SRC)/sys \
 	    -I$(SRC)/../include -I$(com32)/include/sys \
 	    -I$(topdir)/core/include -I$(com32)/lib/ \
diff --git a/mk/rosh.mk b/mk/rosh.mk
index 45b9821..6869348 100644
--- a/mk/rosh.mk
+++ b/mk/rosh.mk
@@ -18,7 +18,7 @@
 include $(MAKEDIR)/elf.mk
 
 # CFLAGS     = $(GCCOPT) $(GCCWARN) -march=i386 \
-# 	     -fomit-frame-pointer -D__COM32__ \
+# 	     -fomit-frame-pointer -D__COM32__ -D__FIRMWARE_$(FIRMWARE)__ \
 # 	     -nostdinc -iwithprefix include \
 # 	     -I$(com32)/libutil/include -I$(com32)/include
 # 	 -g3 -dD


More information about the Syslinux-commits mailing list