Added file descriptor set library (Cygwin bug)
[deliverable/titan.core.git] / regression_test / Makefile
1 ###############################################################################
2 # Copyright (c) 2000-2015 Ericsson Telecom AB
3 # All rights reserved. This program and the accompanying materials
4 # are made available under the terms of the Eclipse Public License v1.0
5 # which accompanies this distribution, and is available at
6 # http://www.eclipse.org/legal/epl-v10.html
7 ###############################################################################
8 # Settings for the regression test
9
10 TOPDIR := $(CURDIR)
11 include $(TOPDIR)/Makefile.regression
12
13 DIRS := intOper boolOper floatOper bitstrOper octetstrOper charOper charstrOper \
14 verdictOper recordOper recofOper setOper setofOper setofMatch unionOper \
15 enumOper arrayOper anytypeOper templateInt templateBool templateFloat templateBitstr \
16 templateOctetstr templateChar templateCharstr templateRec templateRecof \
17 templateSet templateSetof templateUnion templateEnum modifiedTemplate \
18 basicStatem configOper commMessage commProcedure lostTimer controlTimer \
19 BER BER_x682 ASN1 predefFunction ERC preCompilerFlags functionReference \
20 nonMandatoryPar logFiles logger_control namedActualParameters \
21 assignmentNotation omitdef anytype RAW implicitMsgEncoding pattern_quadruples \
22 macros visibility hexstrOper ucharstrOper objidOper CRTR00015758 slider \
23 XML ipv6 implicitOmit testcase_defparam transparent HQ16404 cfgFile \
24 all_from lazyEval tryCatch text2ttcn json junitlogger ttcn2json profiler templateOmit \
25 customEncoding makefilegen logger
26
27 ifdef DYN
28 DIRS += loggerplugin
29 endif
30
31 ifdef RT2
32 DIRS += typeCompat negativeTest
33 endif
34
35 # List of fake targets:
36 .PHONY: all dep clean run $(DIRS) $(addsuffix /, $(DIRS)) coverage compileonly
37
38 # Export all variables to the sub-directories.
39 #export
40
41 all dep clean distclean:
42 $(MAKE) -C compileonly $@
43 for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
44 $(RM) report.txt
45
46 run:
47 for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
48
49
50 # It is assumed, that the TITAN sources are available in `..'. Please note,
51 # that if TITAN was compiled with coverage enabled, only this target will
52 # work properly.
53 coverage:
54 $(LCOV_DIR)/bin/lcov -d .. -z
55 make report LCOV=1
56 $(LCOV_DIR)/bin/lcov -d .. -c -o regtest_coverage.info
57 $(LCOV_DIR)/bin/genhtml -o regtest_coverage -t "TITAN Regression Test Coverage" regtest_coverage.info
58
59 compileonly $(DIRS) $(addsuffix /, $(DIRS)):
60 $(MAKE) -C $@
61
62 # Build in parallel
63 parallel build-par: compileonly $(DIRS)
64
65 # To generate a report:
66 # First, build everything (incl. compileonly); possibly in parallel.
67 # Then, run the runnable tests in sequence (avoids garbled output).
68 report.txt: parallel
69 bash -c 'set -o pipefail; $(MAKE) run 2>&1 | tee report.txt'
70
71 report: report.txt
72 @echo "----------------------------------"
73 @echo "List of tests not 100% successful:"
74 @echo "----------------------------------"
75 @perl vcheck.pl report.txt
76
77 testclean:
78 $(MAKE) -C .. $@
79
80 rclean:
81 $(MAKE) clean 'DIRS=$(filter-out $(TESTDIRS), $(DIRS))'
82
83 prereq:
84 ./prereq.pl ${MAKELEVEL}
85
86 $(TOPDIR)/Makefile.personal:
87 ln -s $(TOPDIR)/../$(@F) $(TOPDIR)/
88
89 unexport DIRS
90
91 include Makefile.regression
92 export PLATFORM
This page took 0.030938 seconds and 5 git commands to generate.