| | |
| | | |
| | | PATCH_DIR ?= patches |
| | | PATCH_PATTERN ?= *.patch |
| | | PATCHES = $(shell find $(PATCH_DIR) $(PARFAIT_PATCH_DIR) -type f -name '$(PATCH_PATTERN)' \ |
| | | PATCHES = $(shell find $(PATCH_DIR) -type f -name '$(PATCH_PATTERN)' \ |
| | | 2>/dev/null | sort) |
| | | |
| | | $(SOURCE_DIR)/.patched: $(SOURCE_DIR)/.downloaded $(PATCHES) |
| | |
| | | (cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \ |
| | | $(ANT) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS)) |
| | | $(COMPONENT_POST_BUILD_ACTION) |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | -$(PARFAIT) $(@D) |
| | | endif |
| | | $(TOUCH) $@ |
| | | |
| | | COMPONENT_INSTALL_ENV += JAVA_HOME="$(JAVA_HOME)" |
| | |
| | | $(COMPONENT_POST_TEST_ACTION) |
| | | $(COMPONENT_TEST_CLEANUP) |
| | | $(TOUCH) $@ |
| | | |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | parfait: build |
| | | else |
| | | parfait: |
| | | $(MAKE) PARFAIT_BUILD=yes parfait |
| | | endif |
| | | |
| | | clean:: |
| | | $(RM) -r $(SOURCE_DIR) $(BUILD_DIR) |
| | |
| | | cd $(@D); $(ENV) $(COMPONENT_BUILD_ENV) \ |
| | | bin/package make $(COMPONENT_BUILD_TARGETS) $(COMPONENT_BUILD_ARGS) |
| | | $(COMPONENT_POST_BUILD_ACTION) |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | -$(PARFAIT) $(@D) |
| | | endif |
| | | $(TOUCH) $@ |
| | | |
| | | # install the built source into a prototype area |
| | |
| | | $(COMPONENT_POST_TEST_ACTION) |
| | | $(COMPONENT_TEST_CLEANUP) |
| | | $(TOUCH) $@ |
| | | |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | parfait: build |
| | | else |
| | | parfait: |
| | | $(MAKE) PARFAIT_BUILD=yes parfait |
| | | endif |
| | | |
| | | clean:: |
| | | $(RM) -r $(BUILD_DIR) $(PROTO_DIR) |
| | |
| | | $(GMAKE) $(COMPONENT_BUILD_GMAKE_ARGS) $(COMPONENT_BUILD_ARGS) \ |
| | | $(COMPONENT_BUILD_TARGETS)) |
| | | $(COMPONENT_POST_BUILD_ACTION) |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | -$(PARFAIT) build |
| | | endif |
| | | $(TOUCH) $@ |
| | | |
| | | # install the built source into a prototype area |
| | |
| | | $(COMPONENT_POST_TEST_ACTION) |
| | | $(COMPONENT_TEST_CLEANUP) |
| | | $(TOUCH) $@ |
| | | |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | parfait: install |
| | | -$(PARFAIT) build |
| | | else |
| | | parfait: |
| | | $(MAKE) PARFAIT_BUILD=yes parfait |
| | | endif |
| | | |
| | | clean:: |
| | | $(RM) -r $(BUILD_DIR) $(PROTO_DIR) |
| | |
| | | $(BUILD_DIR_64)/.configured: BITS=64 |
| | | |
| | | CONFIGURE_ENV += $(CONFIGURE_ENV.$(BITS)) |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | # parfait creates '*.bc' files which can confuse configure's |
| | | # object/exe extension detection. which we really don't need it |
| | | # to do anyway, so we'll just tell it what they are. |
| | | CONFIGURE_ENV += ac_cv_objext=o |
| | | CONFIGURE_ENV += ac_cv_exeext="" |
| | | # this is fixed in the clang compiler but we can't use it yet |
| | | CONFIGURE_ENV += ac_cv_header_stdbool_h=yes |
| | | endif |
| | | |
| | | |
| | | # temporarily work around some issues |
| | |
| | | $(GMAKE) $(COMPONENT_BUILD_GMAKE_ARGS) $(COMPONENT_BUILD_ARGS) \ |
| | | $(COMPONENT_BUILD_TARGETS)) |
| | | $(COMPONENT_POST_BUILD_ACTION) |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | -$(PARFAIT) build |
| | | endif |
| | | $(TOUCH) $@ |
| | | |
| | | # install the built source into a prototype area |
| | |
| | | $(COMPONENT_POST_TEST_ACTION) |
| | | $(COMPONENT_TEST_CLEANUP) |
| | | $(TOUCH) $@ |
| | | |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | parfait: install |
| | | -$(PARFAIT) build |
| | | else |
| | | parfait: |
| | | $(MAKE) PARFAIT_BUILD=yes parfait |
| | | endif |
| | | |
| | | clean:: |
| | | $(RM) -r $(BUILD_DIR) $(PROTO_DIR) |
| | |
| | | $(COMPONENT_PRE_BUILD_ACTION) |
| | | ($(COMPONENT_BUILD_ACTION)) |
| | | $(COMPONENT_POST_BUILD_ACTION) |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | -$(PARFAIT) build |
| | | endif |
| | | $(TOUCH) $@ |
| | | |
| | | COMPONENT_INSTALL_ACTION ?= \ |
| | |
| | | $(COMPONENT_POST_TEST_ACTION) |
| | | $(COMPONENT_TEST_CLEANUP) |
| | | $(TOUCH) $@ |
| | | |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | parfait: install |
| | | -$(PARFAIT) build |
| | | else |
| | | parfait: |
| | | $(MAKE) PARFAIT_BUILD=yes parfait |
| | | endif |
| | | |
| | | clean:: |
| | | $(RM) -r $(BUILD_DIR) $(PROTO_DIR) |
| | |
| | | USERLAND_REQUIRED_PACKAGES += library/python/pyyaml |
| | | |
| | | |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | parfait: build |
| | | else |
| | | parfait: |
| | | $(MAKE) PARFAIT_BUILD=yes parfait |
| | | endif |
| | | |
| | | clean:: |
| | | $(RM) -r $(BUILD_DIR) $(PROTO_DIR) |
| | |
| | | $(COMPONENT_PRE_BUILD_ACTION) |
| | | ($(COMPONENT_BUILD_ACTION)) |
| | | $(COMPONENT_POST_BUILD_ACTION) |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | -$(PARFAIT) $(@D) |
| | | endif |
| | | $(TOUCH) $@ |
| | | |
| | | COMPONENT_INSTALL_ACTION ?= \ |
| | |
| | | $(COMPONENT_POST_TEST_ACTION) |
| | | $(COMPONENT_TEST_CLEANUP) |
| | | $(TOUCH) $@ |
| | | |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | parfait: build |
| | | else |
| | | parfait: |
| | | $(MAKE) PARFAIT_BUILD=yes parfait |
| | | endif |
| | | |
| | | clean:: |
| | | $(RM) -r $(BUILD_DIR) $(PROTO_DIR) |
| | |
| | | PATCH_PATTERN ?= *.patch* |
| | | |
| | | PATCH_DIR ?= patches |
| | | # patches specific to parfait builds. |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | PARFAIT_PATCH_DIR = parfait |
| | | endif |
| | | |
| | | PATCHES = $(shell find $(PATCH_DIR) $(PARFAIT_PATCH_DIR) -type f \ |
| | | PATCHES = $(shell find $(PATCH_DIR) -type f \ |
| | | -name '$(PATCH_PATTERN)' 2>/dev/null | \ |
| | | LC_COLLATE=C sort) |
| | | |
| | |
| | | |
| | | ifneq ($$(PATCHES$(1)),) |
| | | PATCH_STAMPS$(1) += $$(PATCHES$(1):$(PATCH_DIR)/%=$$(SOURCE_DIR$(1))/.patched-%) |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | PATCH_STAMPS$(1) += $$(PATCHES$(1):$(PARFAIT_PATCH_DIR)/%=$$(SOURCE_DIR$(1))/.patched-%) |
| | | endif |
| | | |
| | | # We should unpack the source that we patch before we patch it. |
| | | $$(PATCH_STAMPS$(1)): unpack |
| | |
| | | $(GPATCH) -d $$(@D) $$(GPATCH_FLAGS) < $$< |
| | | $(TOUCH) $$(@) |
| | | |
| | | $$(SOURCE_DIR$(1))/.patched-%: $(PARFAIT_PATCH_DIR)/% $(MAKEFILE_PREREQ) |
| | | $$(SOURCE_DIR$(1))/.patched-%: $(MAKEFILE_PREREQ) |
| | | $(GPATCH) -d $$(@D) $$(GPATCH_FLAGS) < $$< |
| | | $(TOUCH) $$(@) |
| | | |
| | |
| | | (cd $(SOURCE_DIR) ; $(ENV) HOME=$(BUILD_DIR)/config-$* $(COMPONENT_BUILD_ENV) \ |
| | | $(PYTHON) ./setup.py build $(COMPONENT_BUILD_ARGS)) |
| | | $(COMPONENT_POST_BUILD_ACTION) |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | -$(PARFAIT) $(SOURCE_DIR)/$(@D:$(BUILD_DIR)/%=%) |
| | | endif |
| | | $(TOUCH) $@ |
| | | |
| | | |
| | |
| | | $(COMPONENT_POST_TEST_ACTION) |
| | | $(COMPONENT_TEST_CLEANUP) |
| | | $(TOUCH) $@ |
| | | |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | parfait: install |
| | | -$(PARFAIT) build |
| | | else |
| | | parfait: |
| | | $(MAKE) PARFAIT_BUILD=yes parfait |
| | | endif |
| | | |
| | | clean:: |
| | | $(RM) -r $(SOURCE_DIR) $(BUILD_DIR) |
| | |
| | | # BUILD_TOOLS is the root of all tools not normally installed on the system. |
| | | BUILD_TOOLS ?= /opt |
| | | |
| | | PARFAIT_ROOT = $(BUILD_TOOLS)/parfait/parfait-tools-1.0.1/ |
| | | PARFAIT= $(PARFAIT_ROOT)/bin/parfait |
| | | export PARFAIT_NATIVEGCC=$(GCC_ROOT)/bin/gcc |
| | | export PARFAIT_NATIVEGXX=$(GCC_ROOT)/bin/g++ |
| | | |
| | | # |
| | | # The CCACHE makefile variable should evaluate to empty string or a pathname |
| | | # like /usr/bin/ccache depending on your PATH value and "which" implementation. |
| | |
| | | PYTHON.3.9.VENDOR_PACKAGES.64 = /usr/lib/python3.9/vendor-packages |
| | | PYTHON.3.9.VENDOR_PACKAGES.32 = /usr/lib/python3.9/vendor-packages |
| | | PYTHON.3.9.VENDOR_PACKAGES = $(PYTHON.3.9.VENDOR_PACKAGES.$(BITS)) |
| | | |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | CC.gcc.32 = $(WS_TOOLS)/parfait/gcc |
| | | CXX.gcc.32 = $(WS_TOOLS)/parfait/g++ |
| | | CC.gcc.64 = $(WS_TOOLS)/parfait/gcc |
| | | CXX.gcc.64 = $(WS_TOOLS)/parfait/g++ |
| | | LD = $(WS_TOOLS)/parfait/ld |
| | | endif |
| | | |
| | | CC = $(CC.$(COMPILER).$(BITS)) |
| | | CXX = $(CXX.$(COMPILER).$(BITS)) |
| | |
| | | COMPONENT_INSTALL_ARGS += $(COMPONENT_INSTALL_ARGS.$(BITS)) |
| | | |
| | | # declare these phony so that we avoid filesystem conflicts. |
| | | .PHONY: prep build install publish test clean clobber parfait |
| | | .PHONY: prep build install publish test clean clobber |
| | | |
| | | # If there are no tests to execute |
| | | NO_TESTS = test-nothing |
| | |
| | | (cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \ |
| | | $(WAF) $(COMPONENT_BUILD_TARGETS) $(COMPONENT_BUILD_ARGS)) |
| | | $(COMPONENT_POST_BUILD_ACTION) |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | -$(PARFAIT) $(@D) |
| | | endif |
| | | $(TOUCH) $@ |
| | | |
| | | # If BUILD_STYLE is set, provide a default configure target. |
| | |
| | | $(COMPONENT_POST_SYSTEM_TEST_ACTION) |
| | | $(COMPONENT_SYSTEM_TEST_CLEANUP) |
| | | $(TOUCH) $@ |
| | | |
| | | ifeq ($(strip $(PARFAIT_BUILD)),yes) |
| | | parfait: build |
| | | else |
| | | parfait: |
| | | $(MAKE) PARFAIT_BUILD=yes parfait |
| | | endif |
| | | |
| | | clean:: |
| | | $(RM) -r $(BUILD_DIR) $(PROTO_DIR) |