126 lines
3.4 KiB
Makefile
126 lines
3.4 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
# Ngie Cooper, June 2010
|
|
|
|
# Makefiles that are considered critical to execution; if they don't exist
|
|
# all of the Makefiles will be rebuilt by default.
|
|
CRITICAL_MAKEFILE= conformance/interfaces/timer_settime/Makefile
|
|
|
|
top_srcdir?= .
|
|
|
|
include include/mk/env.mk
|
|
|
|
# The default logfile for the tests.
|
|
LOGFILE?= logfile
|
|
# Subdirectories to traverse down.
|
|
SUBDIRS= conformance functional stress
|
|
|
|
MAKE_ENV= LOGFILE=`if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else echo "\`pwd\`/$(LOGFILE)"; fi`.$@
|
|
|
|
BUILD_MAKE_ENV= "CFLAGS=$(CFLAGS)" "LDFLAGS=$(LDFLAGS)"
|
|
BUILD_MAKE_ENV+= "LDLIBS=$(LDLIBS)" $(MAKE_ENV)
|
|
|
|
TEST_MAKE_ENV= $(MAKE_ENV)
|
|
|
|
BUILD_MAKE= env $(BUILD_MAKE_ENV) $(MAKE)
|
|
|
|
TEST_MAKE= env $(TEST_MAKE_ENV) $(MAKE) -k
|
|
|
|
all: conformance-all functional-all stress-all tools-all
|
|
|
|
AUTOGENERATED_FILES = include/mk/config.mk
|
|
|
|
.PHONY: ac-clean
|
|
ac-clean: clean
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
$(RM) -f $(LOGFILE)*
|
|
$(RM) -f config.log config.status
|
|
@for dir in $(SUBDIRS) tools; do \
|
|
$(MAKE) -C $$dir clean >/dev/null; \
|
|
done
|
|
|
|
.PHONY: distclean
|
|
distclean: clean distclean-makefiles
|
|
@rm -f $(AUTOGENERATED_FILES)
|
|
|
|
# Clean out all of the generated Makefiles.
|
|
.PHONY: distclean-makefiles
|
|
distclean-makefiles:
|
|
@for dir in $(SUBDIRS); do \
|
|
$(MAKE) -C $$dir $@; \
|
|
done
|
|
|
|
$(AUTOGENERATED_FILES): $(top_builddir)/config.status
|
|
$(SHELL) $^
|
|
|
|
.PHONY: autotools
|
|
autotools: configure
|
|
|
|
configure: configure.ac
|
|
autoconf
|
|
|
|
.PHONY: generate-makefiles
|
|
generate-makefiles: distclean-makefiles
|
|
@env top_srcdir=$(top_srcdir) \
|
|
$(top_srcdir)/scripts/generate-makefiles.sh
|
|
|
|
.PHONY: install
|
|
install: bin-install conformance-install functional-install stress-install
|
|
|
|
.PHONY: test
|
|
test: conformance-test functional-test stress-test
|
|
|
|
# Test build and execution targets.
|
|
.PHONY: conformance-all conformance-install conformance-test
|
|
conformance-all: $(CRITICAL_MAKEFILE)
|
|
@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else echo "\`pwd\`/$(LOGFILE)"; fi`.$@
|
|
@$(BUILD_MAKE) -C conformance -j1 all
|
|
|
|
conformance-install:
|
|
@$(MAKE) -C conformance install
|
|
|
|
conformance-test:
|
|
@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else echo "\`pwd\`/$(LOGFILE)"; fi`.$@
|
|
@$(TEST_MAKE) -C conformance test
|
|
|
|
.PHONY: functional-all functional-install functional-test
|
|
functional-all: $(CRITICAL_MAKEFILE)
|
|
@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else echo "\`pwd\`/$(LOGFILE)"; fi`.$@
|
|
@$(BUILD_MAKE) -C functional -j1 all
|
|
|
|
functional-install:
|
|
@$(MAKE) -C functional install
|
|
|
|
functional-test:
|
|
@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else echo "\`pwd\`/$(LOGFILE)"; fi`.$@
|
|
@$(TEST_MAKE) -C functional test
|
|
|
|
.PHONY: stress-all stress-install stress-test
|
|
stress-all: $(CRITICAL_MAKEFILE)
|
|
@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else echo "\`pwd\`/$(LOGFILE)"; fi`.$@
|
|
@$(BUILD_MAKE) -C stress -j1 all
|
|
|
|
stress-install:
|
|
@$(MAKE) -C stress install
|
|
|
|
stress-test:
|
|
@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else echo "\`pwd\`/$(LOGFILE)"; fi`.$@
|
|
@$(TEST_MAKE) -C stress test
|
|
|
|
# Tools build and install targets.
|
|
.PHONY: bin-install
|
|
bin-install:
|
|
@$(MAKE) -C bin install
|
|
|
|
.PHONY: tools-all
|
|
tools-all:
|
|
@$(MAKE) -C tools all
|
|
|
|
$(CRITICAL_MAKEFILE): $(top_srcdir)/scripts/generate-makefiles.sh
|
|
@$(MAKE) generate-makefiles
|
|
|
|
.PHONY: check
|
|
check:
|
|
@echo "Checker not yet supported by Open POSIX testsuite"
|