# Sanity checks
#
update-check.doc:
- ${Q}echo "TEST-DOC UPDATE XLAT & RADDB DATABASE"
+ @echo "TEST-DOC UPDATE XLAT & RADDB DATABASE"
${Q}./scripts/build/missing-xlat-doc.sh ${top_srcdir}/scripts/build/missing-xlat-doc.txt
${Q}./scripts/build/missing-raddb-mod-conf.sh > ${top_srcdir}/scripts/build/missing-raddb-mod-conf.txt
.PHONY: test.doc
test.doc:
- ${Q}echo TEST-DOC ALL
+ @echo TEST-DOC ALL
${Q}${MAKE} all.doc 3>&1 2>&1 > ${BUILD_DIR}/doc_stderr.log
${Q}if egrep -qi "(asciidoctor|pandoc).*(error|failed)" ${BUILD_DIR}/doc_stderr.log; then \
- ${Q}echo "TEST-DOC ERROR" \
+ echo "TEST-DOC ERROR"; \
cat ${BUILD_DIR}/doc_stderr.log; \
exit 1; \
fi
${Q}if egrep -qi '^warning:' ${BUILD_DIR}/doc_stderr.log; then \
- ${Q}echo "TEST-DOC DOXYGEN ERROR" \
+ echo "TEST-DOC DOXYGEN ERROR"; \
cat ${BUILD_DIR}/doc_stderr.log; \
exit 1; \
fi
# of the files over manually.
#
install.doxygen: $(R)/$(docdir)/doxygen/html/index.html
- @cp -RP doc/doxygen/html $(R)/$(docdir)/doc/doxygen/html
+ ${Q}cp -RP doc/doxygen/html $(R)/$(docdir)/doc/doxygen/html
#
# Add the doxygen files to the install targt
doc/man/%.8: doc/man/%.adoc
@echo MAN $^
- @${Q}${ASCIIDCOCTOR} asciidoctor -b manpage $<
+ ${Q}${ASCIIDCOCTOR} asciidoctor -b manpage $<
doc/man/%.1: doc/man/%.adoc
@echo MAN $^
- @${Q}${ASCIIDCOCTOR} asciidoctor -b manpage $<
+ ${Q}${ASCIIDCOCTOR} asciidoctor -b manpage $<
.PHONY: asciidoc html pdf clean clean.doc
asciidoc: $(ADOC_FILES)
HEADERS_DY += protocol/base.h
src/include/protocol/base.h: $(wildcard share/dictionary/*/dictionary) $(wildcard share/dictionary/eap/*/dictionary) | src/include/protocol
- ${Q}echo HEADER $(patsubst src/include/%,%,$@)
+ @echo HEADER $(patsubst src/include/%,%,$@)
${Q}echo "#pragma once" > $@
${Q}for X in $^; do grep ^PROTOCOL $$X | ${NORMALIZE} | awk '{print "#define FR_PROTOCOL_"$$2" " $$3 " //!< AUTOGENERATED PROTOCOL NUMBER DEFINITION"}' >> $@; done
# denominator's grep (Solaris).
#
src/include/features.h: src/include/features-h src/include/autoconf.h
- ${Q}$(ECHO) HEADER $@
+ @$(ECHO) HEADER $@
${Q}echo "#pragma once" > $@
${Q}cat $< >> $@
${Q}grep "^#define[ ]*WITH_" src/include/autoconf.h >> $@
# of definitions in missing-h to build missing.h
#
src/include/missing.h: src/include/missing-h src/include/autoconf.sed
- ${Q}$(ECHO) HEADER $@
+ @$(ECHO) HEADER $@
${Q}sed -f src/include/autoconf.sed < $< > $@
src/include/radpaths.h: src/include/build-radpaths-h
- ${Q}$(ECHO) HEADER $@
+ @$(ECHO) HEADER $@
${Q}cd src/include && /bin/sh build-radpaths-h
#
# Create the soft link for the fake include file paths.
#
src/freeradius-devel:
- ${Q}[ -e $@ ] || ln -s include $@
@echo LN-SF src/include src/freeradius-devel
+ ${Q}[ -e $@ ] || ln -s include $@
#
# Ensure we set up the build environment
# it already created, and fails...
#
${SRC_INCLUDE_DIR}/%.h: src/include/%.h | $(SRC_INCLUDE_DIR)
- ${Q}echo INSTALL $(subst src/include,freeradius-server,$<)
+ @echo INSTALL $(subst src/include,freeradius-server,$<)
${Q}$(INSTALL) -d -m 755 `echo $(dir $@) | sed 's/\/$$//'`
# Expression must deal with indentation after the hash and copy it to the substitution string.
# Hash not anchored to allow substitution in function documentation.
src/freeradius-devel: | src/include/${1}
src/include/${1}:
- $${Q}[ -e $$@ ] || ln -sf $${top_srcdir}/src/lib/${1} $$@
@echo LN-SF src/lib/${1} $$@
+ $${Q}[ -e $$@ ] || ln -sf $${top_srcdir}/src/lib/${1} $$@
install.src.include: $(addprefix ${SRC_INCLUDE_DIR}/,${1}/base.h)
endef
src/freeradius-devel: | src/include/${1}
src/include/${1}:
- $${Q}[ -e $$@ ] || ln -sf $${top_srcdir}/src/protocols/${1} $$@
@echo LN-SF src/protocols/${1} $$@
+ $${Q}[ -e $$@ ] || ln -sf $${top_srcdir}/src/protocols/${1} $$@
install.src.include: $(addprefix ${SRC_INCLUDE_DIR}/${1}/,$(notdir $(wildcard src/protocols/${1}/*.h)))
endef
#
.PHONY:
raddb/test.conf:
- @echo 'security {' >> $@
- @echo ' allow_vulnerable_openssl = yes' >> $@
- @echo '}' >> $@
- @echo '$$INCLUDE radiusd.conf' >> $@
+ ${Q}echo 'security {' >> $@
+ ${Q}echo ' allow_vulnerable_openssl = yes' >> $@
+ ${Q}echo '}' >> $@
+ ${Q}echo '$$INCLUDE radiusd.conf' >> $@
#
# Run "radiusd -C", looking for errors.
# Don't molest STDERR as this may be used to receive output from a debugger.
radiusd-c $(BUILD_DIR)/tests/radiusd-c: raddb/test.conf ${BUILD_DIR}/bin/radiusd $(GENERATED_CERT_FILES) | $(BUILD_DIR)/tests build.raddb
@printf "radiusd -C... "
- @if ! ${TESTBIN}/radiusd -XCMd ./raddb -n debug -D ./share/dictionary -n test > $(BUILD_DIR)/tests/radiusd.config.log; then \
+ ${Q}if ! ${TESTBIN}/radiusd -XCMd ./raddb -n debug -D ./share/dictionary -n test > $(BUILD_DIR)/tests/radiusd.config.log; then \
rm -f raddb/test.conf; \
cat $(BUILD_DIR)/tests/radiusd.config.log; \
echo "fail"; \
echo "${TESTBIN}/radiusd -XCMd ./raddb -n debug -D ./share/dictionary -n test"; \
exit 1; \
fi
- @rm -f raddb/test.conf
+ ${Q}rm -f raddb/test.conf
@echo "ok"
- @touch $@
+ ${Q}touch $@
#
# The tests are manually ordered for now, as it's a PITA to fix all
# Tests specifically for Travis. We do a LOT more than just
# the above tests
travis-test: raddb/test.conf test
- @FR_LIBRARY_PATH=${BUILD_DIR}/lib/local/.libs/ ${BUILD_DIR}/make/jlibtool --mode=execute ${BUILD_DIR}/bin/local/radiusd -xxxv -n test
- @rm -f raddb/test.conf
- @$(MAKE) install
- @perl -p -i -e 's/allow_vulnerable_openssl = no/allow_vulnerable_openssl = yes/' ${raddbdir}/radiusd.conf
- @${sbindir}/radiusd -XC
+ ${Q}FR_LIBRARY_PATH=${BUILD_DIR}/lib/local/.libs/ ${BUILD_DIR}/make/jlibtool --mode=execute ${BUILD_DIR}/bin/local/radiusd -xxxv -n test
+ ${Q}rm -f raddb/test.conf
+ ${Q}$(MAKE) install
+ ${Q}perl -p -i -e 's/allow_vulnerable_openssl = no/allow_vulnerable_openssl = yes/' ${raddbdir}/radiusd.conf
+ ${Q}${sbindir}/radiusd -XC
#
# The tests do a lot of rooting through files, which slows down non-test builds.
.PHONY: $(BUILD_DIR)/tests
$(BUILD_DIR)/tests:
- @mkdir -p $@
+ ${Q}mkdir -p $@
#
# Include all of the autoconf definitions into the Make variable space
# ERROR line in the input.
#
$(BUILD_DIR)/tests/modules/%: src/tests/modules/%.unlang $(BUILD_DIR)/tests/modules/%.attrs $(TESTBINDIR)/unit_test_module | build.raddb
- @mkdir -p $(dir $@)
+ ${Q}mkdir -p $(dir $@)
@echo MODULE-TEST $(lastword $(subst /, ,$(dir $@))) $(basename $(notdir $@))
- @if ! MODULE_TEST_DIR=$(dir $<) MODULE_TEST_UNLANG=$< $(TESTBIN)/unit_test_module -D share/dictionary -d src/tests/modules/ -i "$@.attrs" -f "$@.attrs" -r "$@" -xxx > "$@.log" 2>&1 || ! test -f "$@"; then \
+ ${Q}if ! MODULE_TEST_DIR=$(dir $<) MODULE_TEST_UNLANG=$< $(TESTBIN)/unit_test_module -D share/dictionary -d src/tests/modules/ -i "$@.attrs" -f "$@.attrs" -r "$@" -xxx > "$@.log" 2>&1 || ! test -f "$@"; then \
if ! grep ERROR $< 2>&1 > /dev/null; then \
cat "$@.log"; \
echo "# $@.log"; \
-include $(BUILD_DIR)/tests/modules/depends.mk
$(BUILD_DIR)/tests/modules/depends.mk: $(MODULE_UNLANG) | $(BUILD_DIR)/tests/modules
- @rm -f $@
- @for x in $^; do \
+ ${Q}rm -f $@
+ ${Q}for x in $^; do \
y=`grep PRE $$x | awk '{ print $$3 }'`; \
if [ "$$y" != "" ]; then \
z=`echo $$x | sed 's,src/,$(BUILD_DIR)/', | sed 's/.unlang//'`; \