diff --git a/Makefile b/Makefile index a95c00a8..b9a2b57a 100644 --- a/Makefile +++ b/Makefile @@ -12,77 +12,40 @@ endif include $(ONL)/make/config.mk -all: amd64 ppc arm arm64 - $(MAKE) -C REPO build-clean +# All available architectures. +ALL_ARCHES := amd64 powerpc armel arm64 -onl-amd64 onl-x86 x86 x86_64 amd64: packages_base_all - $(MAKE) -C packages/base/amd64/kernels - $(MAKE) -C packages/base/amd64/initrds - $(MAKE) -C packages/base/amd64/onlp - $(MAKE) -C packages/base/amd64/onlp-snmpd - $(MAKE) -C packages/base/amd64/faultd - $(MAKE) -C builds/amd64 - -onl-ppc ppc: packages_base_all - $(MAKE) -C packages/base/powerpc/kernels - $(MAKE) -C packages/base/powerpc/initrds - $(MAKE) -C packages/base/powerpc/onlp - $(MAKE) -C packages/base/powerpc/onlp-snmpd - $(MAKE) -C packages/base/powerpc/faultd - $(MAKE) -C packages/base/powerpc/fit - $(MAKE) -C builds/powerpc - -ifdef ONL_DEBIAN_SUITE_jessie - -arm_toolchain_check: - @which arm-linux-gnueabi-gcc || (/bin/echo -e "*\n* ERROR\n*\n* This container does not support building for the ARM architecture.\n* Please use opennetworklinux/onlbuilder8:1.2 later.\n*" && exit 1) - -arm64_toolchain_check: - @which aarch64-linux-gnu-gcc || (/bin/echo -e "*\n* ERROR\n*\n* This container does not support building for the ARM64 architecture.\n* Please use opennetworklinux/onlbuilder8:1.5 or later.\n*" && exit 1) - -onl-arm arm: arm_toolchain_check packages_base_all - $(MAKE) -C packages/base/armel/kernels - $(MAKE) -C packages/base/armel/initrds - $(MAKE) -C packages/base/armel/onlp - $(MAKE) -C packages/base/armel/onlp-snmpd - $(MAKE) -C packages/base/armel/faultd - $(MAKE) -C packages/base/armel/fit - $(MAKE) -C builds/armel - -onl-arm64 arm64: arm64_toolchain_check packages_base_all - $(MAKE) -C packages/base/arm64/kernels - $(MAKE) -C packages/base/arm64/initrds - $(MAKE) -C packages/base/arm64/onlp - $(MAKE) -C packages/base/arm64/onlp-snmpd - $(MAKE) -C packages/base/arm64/faultd - $(MAKE) -C packages/base/arm64/fit - $(MAKE) -C builds/arm64 - -else - -onl-arm arm: - @/bin/echo -e "*\n* Warning\n*\n* ARM Architecture support is only available in Jessie builds. Please use onbuilder -8.\n*" - -onl-arm64 arm64: - @/bin/echo -e "*\n* Warning\n*\n* ARM64 Architecture support is only available in Jessie builds. Please use onbuilder -8.\n*" - -endif +# Build rule for each architecture. +define build_arch_template +$(1) : + $(MAKE) -C builds/$(1) +endef +$(foreach a,$(ALL_ARCHES),$(eval $(call build_arch_template,$(a)))) -packages_base_all: - $(MAKE) -C packages/base/all +# Available build architectures based on the current suite +BUILD_ARCHES_wheezy := amd64 powerpc +BUILD_ARCHES_jessie := $(ALL_ARCHES) -rpc rebuild: +# Build available architectures by default. +.DEFAULT_GOAL := all +all: $(BUILD_ARCHES_$(ONL_DEBIAN_SUITE)) + + +rebuild: $(ONLPM) --rebuild-pkg-cache -endif -endif +modclean: + rm -rf $(ONL)/make/modules/modules.* + +endif +endif .PHONY: docker ifndef VERSION -VERSION:=7 +VERSION := 8 endif docker_check: