Thomas Heijligen has uploaded this change for review. ( https://review.coreboot.org/c/flashrom/+/57935 )
Change subject: Makefile: move functions and macros to own file ......................................................................
Makefile: move functions and macros to own file
Moving all define statements in its own file to tidy up the main Makefile.
Change-Id: I451f2eeab2773982e02b2f2fdc9e8abe1cc87630 Signed-off-by: Thomas Heijligen thomas.heijligen@secunet.de --- M Makefile A Makefile.include 2 files changed, 215 insertions(+), 197 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/35/57935/1
diff --git a/Makefile b/Makefile index 19f8673..4053e6c 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,8 @@ # GNU General Public License for more details. #
+include Makefile.include + PROGRAM = flashrom
############################################################################### @@ -133,23 +135,6 @@ DEPENDS_ON_LIBJAYLINK := \ CONFIG_JLINK_SPI \
-define mark_unsupported -$(foreach p,$1, \ - $(if $(filter $($(p)),yes), \ - $(eval UNSUPPORTED_FEATURES += $(p)=yes), \ - $(eval override $(p) := no))) -endef - -define filter_deps -$(strip $(foreach p,$1, \ - $(if $(filter $($(p)),yes), \ - $(p)))) -endef - -define disable_all -$(foreach p,$1, \ - $(eval override $(p) := no)) -endef
ifeq ($(CONFIG_ENABLE_LIBUSB1_PROGRAMMERS), no) $(call disable_all,$(DEPENDS_ON_LIBUSB1)) @@ -891,16 +876,6 @@ # to define test programs we use verbatim variables, which get exported # to environment variables and are referenced with $$<varname> later
-define COMPILER_TEST -int main(int argc, char **argv) -{ - (void) argc; - (void) argv; - return 0; -} -endef -export COMPILER_TEST - compiler: featuresavailable @printf "Checking for a C compiler... " | tee -a $(BUILD_DETAILS_FILE) @echo "$$COMPILER_TEST" > .test.c @@ -925,77 +900,6 @@ echo "This might work but usually does not, please beware." ) endif
-define LIBPCI_TEST -/* Avoid a failing test due to libpci header symbol shadowing breakage */ -#define index shadow_workaround_index -#if !defined __NetBSD__ -#include <pci/pci.h> -#else -#include <pciutils/pci.h> -#endif -struct pci_access *pacc; -int main(int argc, char **argv) -{ - (void) argc; - (void) argv; - pacc = pci_alloc(); - return 0; -} -endef -export LIBPCI_TEST - -define PCI_GET_DEV_TEST -/* Avoid a failing test due to libpci header symbol shadowing breakage */ -#define index shadow_workaround_index -#if !defined __NetBSD__ -#include <pci/pci.h> -#else -#include <pciutils/pci.h> -#endif -struct pci_access *pacc; -struct pci_dev *dev = {0}; -int main(int argc, char **argv) -{ - (void) argc; - (void) argv; - pacc = pci_alloc(); - dev = pci_get_dev(pacc, dev->domain, dev->bus, dev->dev, 1); - return 0; -} -endef -export PCI_GET_DEV_TEST - -define LIBUSB1_TEST -#include <stddef.h> -#include <libusb.h> -int main(int argc, char **argv) -{ - (void)argc; - (void)argv; - libusb_init(NULL); - return 0; -} -endef -export LIBUSB1_TEST - -define LIBJAYLINK_TEST -#include <stddef.h> -#include <libjaylink/libjaylink.h> -int main(int argc, char **argv) -{ - struct jaylink_context *ctx; - - (void)argc; - (void)argv; - - jaylink_init(&ctx); - jaylink_exit(ctx); - - return 0; -} -endef -export LIBJAYLINK_TEST - hwlibs: compiler @printf "" > .libdeps ifeq ($(CHECK_LIBPCI), yes) @@ -1091,105 +995,6 @@ @false endif
-define FTDI_TEST -#include <stdlib.h> -#include <ftdi.h> -struct ftdi_context *ftdic = NULL; -int main(int argc, char **argv) -{ - (void) argc; - (void) argv; - return ftdi_init(ftdic); -} -endef -export FTDI_TEST - -define FTDI_232H_TEST -#include <ftdi.h> -enum ftdi_chip_type type = TYPE_232H; -endef -export FTDI_232H_TEST - -define UTSNAME_TEST -#include <sys/utsname.h> -struct utsname osinfo; -int main(int argc, char **argv) -{ - (void) argc; - (void) argv; - uname (&osinfo); - return 0; -} -endef -export UTSNAME_TEST - -define LINUX_MTD_TEST -#include <mtd/mtd-user.h> - -int main(int argc, char **argv) -{ - (void) argc; - (void) argv; - return 0; -} -endef -export LINUX_MTD_TEST - -define LINUX_SPI_TEST -#include <linux/types.h> -#include <linux/spi/spidev.h> - -int main(int argc, char **argv) -{ - (void) argc; - (void) argv; - return 0; -} -endef -export LINUX_SPI_TEST - -define LINUX_I2C_TEST -#include <linux/i2c-dev.h> -#include <linux/i2c.h> - -int main(int argc, char **argv) -{ - (void) argc; - (void) argv; - return 0; -} -endef -export LINUX_I2C_TEST - -define CLOCK_GETTIME_TEST -#include <time.h> - -int main(int argc, char **argv) -{ - struct timespec res; - clock_gettime(CLOCK_REALTIME, &res); - return 0; -} -endef -export CLOCK_GETTIME_TEST - -define NI845X_TEST -#include <ni845x.h> - -int main(int argc, char **argv) -{ - (void) argc; - (void) argv; - char I2C_Device[256]; - NiHandle Dev_Handle; - uInt32 NumberFound = 0; - ni845xFindDevice(I2C_Device, &Dev_Handle, &NumberFound); - ni845xCloseFindDeviceHandle(Dev_Handle); - return 0; -} -endef -export NI845X_TEST - features: compiler @echo "FEATURES := yes" > .features.tmp ifneq ($(NEED_LIBFTDI), ) diff --git a/Makefile.include b/Makefile.include new file mode 100644 index 0000000..36746c8 --- /dev/null +++ b/Makefile.include @@ -0,0 +1,213 @@ +# +# This file is part of the flashrom project. +# +# 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; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# + +# Here are functions and macros defined for the Makefile + +define mark_unsupported +$(foreach p,$1, \ + $(if $(filter $($(p)),yes), \ + $(eval UNSUPPORTED_FEATURES += $(p)=yes), \ + $(eval override $(p) := no))) +endef + +define filter_deps +$(strip $(foreach p,$1, \ + $(if $(filter $($(p)),yes), \ + $(p)))) +endef + +define disable_all +$(foreach p,$1, \ + $(eval override $(p) := no)) +endef + + +define COMPILER_TEST +int main(int argc, char **argv) +{ + (void) argc; + (void) argv; + return 0; +} +endef +export COMPILER_TEST + +define LIBPCI_TEST +/* Avoid a failing test due to libpci header symbol shadowing breakage */ +#define index shadow_workaround_index +#if !defined __NetBSD__ +#include <pci/pci.h> +#else +#include <pciutils/pci.h> +#endif +struct pci_access *pacc; +int main(int argc, char **argv) +{ + (void) argc; + (void) argv; + pacc = pci_alloc(); + return 0; +} +endef +export LIBPCI_TEST + +define PCI_GET_DEV_TEST +/* Avoid a failing test due to libpci header symbol shadowing breakage */ +#define index shadow_workaround_index +#if !defined __NetBSD__ +#include <pci/pci.h> +#else +#include <pciutils/pci.h> +#endif +struct pci_access *pacc; +struct pci_dev *dev = {0}; +int main(int argc, char **argv) +{ + (void) argc; + (void) argv; + pacc = pci_alloc(); + dev = pci_get_dev(pacc, dev->domain, dev->bus, dev->dev, 1); + return 0; +} +endef +export PCI_GET_DEV_TEST + +define LIBUSB1_TEST +#include <stddef.h> +#include <libusb.h> +int main(int argc, char **argv) +{ + (void)argc; + (void)argv; + libusb_init(NULL); + return 0; +} +endef +export LIBUSB1_TEST + +define LIBJAYLINK_TEST +#include <stddef.h> +#include <libjaylink/libjaylink.h> +int main(int argc, char **argv) +{ + struct jaylink_context *ctx; + + (void)argc; + (void)argv; + + jaylink_init(&ctx); + jaylink_exit(ctx); + + return 0; +} +endef +export LIBJAYLINK_TEST + +define FTDI_TEST +#include <stdlib.h> +#include <ftdi.h> +struct ftdi_context *ftdic = NULL; +int main(int argc, char **argv) +{ + (void) argc; + (void) argv; + return ftdi_init(ftdic); +} +endef +export FTDI_TEST + +define FTDI_232H_TEST +#include <ftdi.h> +enum ftdi_chip_type type = TYPE_232H; +endef +export FTDI_232H_TEST + +define UTSNAME_TEST +#include <sys/utsname.h> +struct utsname osinfo; +int main(int argc, char **argv) +{ + (void) argc; + (void) argv; + uname (&osinfo); + return 0; +} +endef +export UTSNAME_TEST + +define LINUX_MTD_TEST +#include <mtd/mtd-user.h> + +int main(int argc, char **argv) +{ + (void) argc; + (void) argv; + return 0; +} +endef +export LINUX_MTD_TEST + +define LINUX_SPI_TEST +#include <linux/types.h> +#include <linux/spi/spidev.h> + +int main(int argc, char **argv) +{ + (void) argc; + (void) argv; + return 0; +} +endef +export LINUX_SPI_TEST + +define LINUX_I2C_TEST +#include <linux/i2c-dev.h> +#include <linux/i2c.h> + +int main(int argc, char **argv) +{ + (void) argc; + (void) argv; + return 0; +} +endef +export LINUX_I2C_TEST + +define CLOCK_GETTIME_TEST +#include <time.h> + +int main(int argc, char **argv) +{ + struct timespec res; + clock_gettime(CLOCK_REALTIME, &res); + return 0; +} +endef +export CLOCK_GETTIME_TEST + +define NI845X_TEST +#include <ni845x.h> + +int main(int argc, char **argv) +{ + (void) argc; + (void) argv; + char I2C_Device[256]; + NiHandle Dev_Handle; + uInt32 NumberFound = 0; + ni845xFindDevice(I2C_Device, &Dev_Handle, &NumberFound); + ni845xCloseFindDeviceHandle(Dev_Handle); + return 0; +} +endef +export NI845X_TEST