From 929b217f46ac45cc0bf7cbbaf77575ad0a17f94f Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Thu, 27 Feb 2014 21:43:18 -0800 Subject: [PATCH] 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 --- 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 d0dc5140..d21280c6 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 a7503ef4..14c10c2a 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 55dc10c2..9a3b19d3 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 f90ce5c5..f097ad22 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 56de6de0..12d10778 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 bc516c2c..a12a0595 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 45b98213..68693488 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 -- 2.11.4.GIT