implemented new code splitting mechanism (split to equal slices)
[deliverable/titan.core.git] / regression_test / negativeTest / Makefile
1 ##############################################################################
2 # Copyright (c) 2000-2016 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 # Contributors:
9 # Balasko, Jeno
10 # Baranyi, Botond
11 # Delic, Adam
12 # Raduly, Csaba
13 # Szabados, Kristof
14 # Szabo, Bence Janos
15 #
16 ##############################################################################
17 ifeq "$(MAKELEVEL)" "0"
18 # not recursive
19 RT2:=1
20 endif
21
22 TOPDIR := ..
23 include $(TOPDIR)/Makefile.regression
24
25 #ony works with RT2
26 ifndef RT2
27 $(error note: negativTest requires RT2)
28 endif
29
30 .PHONY: all clean dep run
31 .SUFFIXES: .d
32
33 CXXFLAGS += -Wall -Wextra -Wshadow -g
34 CXXDEPFLAGS := -MM
35
36 #COMPILER_FLAGS +=
37 #LDFLAGS += -rdynamic
38
39 TTCN3_LIB = ttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX)
40
41 TTCN3_MODULES = negtest.ttcn NegTestTestcases.ttcn \
42 NegTest_TEXT_Types.ttcn NegTest_TEXT_Testcases.ttcn \
43 NegTest_RAW_Types.ttcn NegTest_RAW_Testcases.ttcn \
44 www_XmlTest_org_negativeTest_XML_Types.ttcn NegTest_XML_Testcases.ttcn XSD.ttcn UsefulTtcn3Types.ttcn \
45 NegTest_JSON.ttcn
46
47 ASN1_MODULES = Types.asn NegTestTypes.asn
48
49 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
50 GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh) $(ASN1_MODULES:.asn=.hh)
51 ifdef CODE_SPLIT
52 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc _seqof.cc _setof.cc _union.cc))
53 else ifdef SPLIT_TO_SLICES
54 POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
55 POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
56 GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
57 GENERATED_SOURCES += $(GENERATED_SOURCES2)
58 endif
59
60 USER_SOURCES =
61 USER_HEADERS =
62
63 OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o)
64 DEPS := $(OBJECTS:.o=.d)
65
66 TARGET = negtest$(EXESUFFIX)
67
68 all: $(TARGET)
69
70 $(TARGET): $(OBJECTS)
71 $(CXX) $(LDFLAGS) -o $@ $(OBJECTS) -L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) \
72 -L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS)
73
74 .cc.o:
75 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $<
76
77 .cc.d .c.d:
78 @echo Creating dependency file for '$<'; set -e; \
79 $(CXX) $(CXXDEPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $< \
80 | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
81 [ -s $@ ] || rm -f $@
82
83 $(GENERATED_SOURCES) $(GENERATED_HEADERS): compile
84 @if [ ! -f $@ ]; then $(RM) compile; $(MAKE) compile; fi
85
86 compile: $(TTCN3_MODULES) $(ASN1_MODULES)
87 $(filter-out -Nold -E, $(TTCN3_COMPILER)) $(COMPILER_FLAGS) $^
88 touch compile
89
90 clean distclean:
91 -rm -f $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \
92 $(GENERATED_SOURCES) compile *.log *~ core
93
94 dep: $(DEPS) ;
95 # makedepend $(CPPFLAGS) $(USER_SOURCES) $(GENERATED_SOURCES)
96
97 run: $(TARGET)
98 ./$(TARGET) NegTest_all.cfg
99
100
101 run1: $(TARGET)
102 ./$(TARGET) NegTest.cfg
103
104 run2: $(TARGET)
105 ./$(TARGET) config.cfg
106
107 run3: $(TARGET)
108 ./$(TARGET) NegTest_TEXT.cfg
109
110 run4: $(TARGET)
111 ./$(TARGET) NegTest_XML.cfg
112
113 run5: $(TARGET)
114 ./$(TARGET) NegTest_RAW.cfg || perl -nwle 'if (/->(\w+\.ttcn:\d+)->.*? (.*fail.*)/) { print STDERR "$$1: note: $$2" }' NegTest_RAW.log
115 perl -i -pwle 's/!/\n/g' NegTest_RAW.log
116
117 run6: $(TARGET)
118 ./$(TARGET) NegTest_JSON.cfg
119
120
121 ifeq ($(findstring n,$(MAKEFLAGS)),)
122 ifeq ($(filter clean check compile archive diag,$(MAKECMDGOALS)),)
123 -include $(DEPFILES)
124 endif
125 endif
This page took 0.041439 seconds and 5 git commands to generate.