mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-28 07:23:43 +02:00

Use `make HAS_LIBFTDI1=yes/no` to override the pkg-config detection and `CONFIG_LIBFTDI1_CFLAGS` and `CONFIG_LIBFTDI1_LDFLAGS` to set cflags and ldflags manually. Change-Id: I41f5186d9f3e063c12c8c6eea888d0b0bf534259 Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/58623 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
142 lines
3.2 KiB
Makefile
142 lines
3.2 KiB
Makefile
#
|
|
# 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
|
|
|
|
# Run the C Preprocessor with file $1 and return the last line, removing quotes.
|
|
define c_macro_test
|
|
$(strip $(call debug_shell, $(CC) -E $1 | tail -1 | tr -d '"'))
|
|
endef
|
|
|
|
define c_compile_test # $1: files to compile, $2: cflags
|
|
$(call debug_shell, $(CC) -c -Wall -Werror $2 $1 -o /dev/null && echo yes || echo no)
|
|
endef
|
|
|
|
define find_dependency
|
|
$(call debug_shell, $(if $(PKG_CONFIG_LIBDIR),PKG_CONFIG_LIBDIR=$(PKG_CONFIG_LIBDIR),) $(PKG_CONFIG) --exists $1 && echo yes || echo no)
|
|
endef
|
|
|
|
define dependency_cflags
|
|
$(call debug_shell, $(if $(PKG_CONFIG_LIBDIR),PKG_CONFIG_LIBDIR=$(PKG_CONFIG_LIBDIR),) $(PKG_CONFIG) --cflags $1 2>/dev/null)
|
|
endef
|
|
|
|
define dependency_ldflags
|
|
$(call debug_shell, $(if $(PKG_CONFIG_LIBDIR),PKG_CONFIG_LIBDIR=$(PKG_CONFIG_LIBDIR),) $(PKG_CONFIG) --libs $1 2>/dev/null)
|
|
endef
|
|
|
|
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 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
|