Skip to content
Snippets Groups Projects
Commit a4c2f69b authored by Jan Trávníček's avatar Jan Trávníček
Browse files

Merge branch 'makefile-test' into 'master'

makefile: add tasks test-debug and test-release

I've intentionally omitted dependency of test-* on build-*, to not
require building all modules when one have executables in bin-*.
However, when debug or release is invoked and RUN_TESTS is 1, then
it invokes build and test in this order.

See merge request !22
parents 7f1f88a6 cd5523fa
Branches
Tags
1 merge request!22makefile: add tasks test-debug and test-release
......@@ -84,14 +84,22 @@ endif
 
SUBDIRS_WITH_MAKE = $(dir $(wildcard */makefile))
 
.PHONY: build-debug clean-debug \
build-release clean-release \
debug release clean doc all
.PHONY: build-debug test-debug clean-debug \
build-release test-release clean-release \
debug release clean doc all
 
all:
@echo "What to do master?"
 
debug build-debug:
ifeq ($(RUN_TESTS), 1)
debug: | build-debug test-debug
release: | build-release test-release
else
debug: build-debug
release: build-release
endif
build-debug:
for dir in $(SUBDIRS_LIBS); do \
$(MAKE) $@ -C $$dir || exit 1; \
done
......@@ -114,12 +122,9 @@ debug build-debug:
cp $$dir/bin-debug/* $(addsuffix -debug, $(BINFOLDER)); \
done
cp translateAddresses $(addsuffix -debug, $(BINFOLDER)); \
cp xmlFormat $(addsuffix -debug, $(BINFOLDER)); \
if [ "$@" == "debug" ] && [ $(RUN_TESTS) -eq 1 ]; then for test in $(wildcard tests.*.sh); do \
./$$test debug $(JOBS); \
done; fi
cp xmlFormat $(addsuffix -debug, $(BINFOLDER))
 
release build-release:
build-release:
for dir in $(SUBDIRS_LIBS); do \
$(MAKE) $@ -C $$dir || exit 1; \
done
......@@ -142,10 +147,17 @@ release build-release:
cp $$dir/bin-release/* $(addsuffix -release, $(BINFOLDER)); \
done
cp translateAddresses $(addsuffix -release, $(BINFOLDER)); \
cp xmlFormat $(addsuffix -release, $(BINFOLDER)); \
if [ "$@" == "release" ] && [ $(RUN_TESTS) -eq 1 ]; then for test in $(wildcard tests.*.sh); do \
cp xmlFormat $(addsuffix -release, $(BINFOLDER))
test-debug:
for test in $(wildcard tests.*.sh); do \
./$$test debug $(JOBS); \
done
test-release:
for test in $(wildcard tests.*.sh); do \
./$$test release $(JOBS); \
done; fi
done
 
clean: clean-debug clean-release
$(RM) -r bin-debug bin-release
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment