mirror of
https://github.com/Telecominfraproject/OpenNetworkLinux.git
synced 2025-10-29 17:32:49 +00:00
Makefiles that call $(shell onlpm --find-file *) have always failed poorly when the file cannot be found. The onlp_find_file template can be called to both assign and check the results. If an error occurred in getting the value then a Makefile error is raised.
94 lines
2.0 KiB
Makefile
94 lines
2.0 KiB
Makefile
############################################################
|
|
#
|
|
# Open Network Linux Configuration Makefile
|
|
#
|
|
############################################################
|
|
ifndef ONL
|
|
$(error $$ONL is not defined)
|
|
endif
|
|
|
|
ifndef ONLPM
|
|
ONLPM := $(ONL)/tools/onlpm.py
|
|
endif
|
|
|
|
ifndef BUILDER
|
|
# Builder is here
|
|
export BUILDER := $(ONL)/sm/infra/builder/unix
|
|
endif
|
|
|
|
#
|
|
# The default build directory for all infra:builder compilations is the following.
|
|
#
|
|
ifndef ONL_DEBIAN_SUITE
|
|
$(error "The $$ONL_DEBIAN_SUITE value is not set. Please source $$ONL/setup.env")
|
|
endif
|
|
export ONL_DEBIAN_SUITE_$(ONL_DEBIAN_SUITE)=1
|
|
|
|
export BUILD_DIR_BASE=BUILD/$(ONL_DEBIAN_SUITE)
|
|
|
|
# init system options sysvinit, systemd. default is sysvinit
|
|
ifndef INIT
|
|
export INIT := sysvinit
|
|
endif
|
|
|
|
# Use the new module database tool to resolve dependencies dynamically.
|
|
ifndef BUILDER_MODULE_DATABASE
|
|
export BUILDER_MODULE_DATABASE := $(ONL)/make/modules/modules.json
|
|
endif
|
|
|
|
# Regenerate the module manifest if necessary.
|
|
ifndef BUILDER_MODULE_DATABASE_ROOT
|
|
BUILDER_MODULE_DATABASE_ROOT := $(ONL)
|
|
endif
|
|
|
|
ifndef BUILDER_MODULE_MANIFEST
|
|
BUILDER_MODULE_MANIFEST := $(ONL)/make/modules/modules.mk
|
|
endif
|
|
|
|
export MODULEMANIFEST := $(shell $(BUILDER)/tools/modtool.py --db $(BUILDER_MODULE_DATABASE) --dbroot $(BUILDER_MODULE_DATABASE_ROOT) --make-manifest $(BUILDER_MODULE_MANIFEST))
|
|
|
|
# Generate versions if necessary.
|
|
$(shell $(ONL)/tools/make-versions.py --import-file=$(ONL)/tools/onlvi --class-name=OnlVersionImplementation --output-dir $(ONL)/make/versions)
|
|
|
|
|
|
#
|
|
# Default make options.
|
|
#
|
|
ifeq ("$(origin V)", "command line")
|
|
VERBOSE := $(V)
|
|
endif
|
|
|
|
ifneq ($(VERBOSE),1)
|
|
|
|
# quiet settings
|
|
ONL_V_P := false
|
|
ONL_V_at := @
|
|
ONL_V_GEN = @set -e; echo GEN $@;
|
|
|
|
else
|
|
|
|
# verbose settings
|
|
ONL_V_P := :
|
|
|
|
endif
|
|
|
|
ifneq ($(VERBOSE),1)
|
|
|
|
ONL_MAKE_FLAGS += --no-print-directory -s
|
|
|
|
else
|
|
|
|
ONL_MAKE_FLAGS += V=1
|
|
|
|
endif
|
|
|
|
ONL_MAKE := $(MAKE) $(ONL_MAKE_FLAGS)
|
|
|
|
#
|
|
# Some build and autogen tools require these settings.
|
|
#
|
|
export SUBMODULE_INFRA := $(ONL)/sm/infra
|
|
export SUBMODULE_BIGCODE := $(ONL)/sm/bigcode
|
|
|
|
include $(ONL)/make/templates.mk
|