File: Makefile

package info (click to toggle)
eclipse-titan 8.2.0-1
  • links: PTS
  • area: main
  • in suites: bookworm, sid
  • size: 103,544 kB
  • sloc: cpp: 271,008; ansic: 33,683; yacc: 23,419; makefile: 15,483; lex: 9,204; java: 4,848; perl: 4,555; sh: 2,242; xml: 1,378; javascript: 85; awk: 48; php: 32; python: 13
file content (138 lines) | stat: -rw-r--r-- 4,565 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
##############################################################################
# Copyright (c) 2000-2021 Ericsson Telecom AB
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
#
# Contributors:
#   
#   Balasko, Jeno
#   Baranyi, Botond
#   Beres, Szabolcs
#   Czerman, Oliver
#   Delic, Adam
#   Dimitrov, Peter
#   Forstner, Matyas
#   Godar, Marton
#   Hanko, Matyas
#   Koppany, Csaba
#   Kovacs, Ferenc
#   Lovassy, Arpad
#   Ormandi, Matyas
#   Raduly, Csaba
#   Szabados, Kristof
#   Szabo, Bence Janos
#   Szabo, Janos Zoltan – initial implementation
#   Szalai, Gabor
#   Tatarka, Gabor
#   Zalanyi, Balazs Andor
#
##############################################################################
# Settings for the regression test

TOPDIR := $(CURDIR)
include $(TOPDIR)/Makefile.regression

DIRS := intOper boolOper floatOper bitstrOper octetstrOper charOper charstrOper \
verdictOper recordOper recofOper setOper setofOper setofMatch unionOper \
enumOper arrayOper anytypeOper templateInt templateBool templateFloat templateBitstr \
templateHexstr templateOctetstr templateChar templateCharstr templateUnicharstr \
templateRec templateRec_nolegacy templateRecof templateSet templateSetof templateUnion templateEnum modifiedTemplate \
basicStatem configOper commMessage commProcedure lostTimer controlTimer \
EncodeDecode ASN1 predefFunction ERC preCompilerFlags functionReference \
nonMandatoryPar logFiles logger_control namedActualParameters \
assignmentNotation omitdef anytype implicitMsgEncoding pattern_quadruples \
macros visibility hexstrOper ucharstrOper objidOper CRTR00015758 slider \
XML ipv6 implicitOmit testcase_defparam transparent HQ16404 cfgFile \
all_from lazyEval tryCatch text2ttcn ttcn2json profiler templateOmit \
customEncoding makefilegen uidChars checkstate hostid templateIstemplatekind \
selectUnion templateExclusiveRange any_from templatePatternRef indexWithRecofArray \
connectMapOperTest fuzzy portTranslation ischosen functionSubref done \
nondeterministicDefaultParam predefFunction2 realtime portTranslationCentralStorage \
locale oop references unicharstrToCharstr defaultAlternative map_param

ifdef DYN
DIRS += loggerplugin junitlogger 
endif

ifdef RT2
DIRS += typeCompat negativeTest templateConcat
endif

ifeq (LTTNGUSTLOGGER, yes)
DIRS += LTTngUSTLogger
endif

# List of fake targets:
.PHONY: all dep clean run $(DIRS) $(addsuffix /, $(DIRS)) coverage compileonly

# Export all variables to the sub-directories.
#export

all dep clean distclean:
	$(MAKE) -C compileonly $@
	for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
	$(RM) report.txt
	$(RM) build.txt

run:
	for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done


# It is assumed, that the TITAN sources are available in `..'.  Please note,
# that if TITAN was compiled with coverage enabled, only this target will
# work properly.
coverage:
	$(LCOV_DIR)/bin/lcov -d .. -z
	make report LCOV=1
	$(LCOV_DIR)/bin/lcov -d .. -c -o regtest_coverage.info
	$(LCOV_DIR)/bin/genhtml -o regtest_coverage -t "TITAN Regression Test Coverage" regtest_coverage.info

compileonly $(DIRS) $(addsuffix /, $(DIRS)):
ifeq ($(DEBUG), yes)
	bash -c 'set -o pipefail; $(MAKE) -C $@ 2>&1 | tee current_build.txt'
	@if [ -f build.txt ]; \
	then cat build.txt current_build.txt > build_result.txt; rm current_build.txt; mv build_result.txt build.txt; \
	else mv current_build.txt build.txt; fi
else
	$(MAKE) -C $@
endif

# Build in parallel
parallel build-par: compileonly $(DIRS)
ifeq ($(DEBUG), yes)
	@echo "--------------------------------------"
	@echo "List of memory leaks during the build:"
	@echo "--------------------------------------"
	@perl vcheck.pl build.txt
endif

# To generate a report:
# First, build everything (incl. compileonly); possibly in parallel.
# Then, run the runnable tests in sequence (avoids garbled output).
report.txt: parallel
	bash -c 'set -o pipefail; $(MAKE) run 2>&1 | tee report.txt'

report: report.txt
	@echo "----------------------------------"
	@echo "List of tests not 100% successful:"
	@echo "----------------------------------"
	@perl vcheck.pl report.txt

testclean:
	$(MAKE) -C .. $@

rclean:
	$(MAKE) clean 'DIRS=$(filter-out $(TESTDIRS), $(DIRS))'

prereq:
	./prereq.pl ${MAKELEVEL}

$(TOPDIR)/Makefile.personal:
	ln -s $(TOPDIR)/../$(@F) $(TOPDIR)/

unexport DIRS

include Makefile.regression
export PLATFORM