implemented new code splitting mechanism (split to equal slices)
[deliverable/titan.core.git] / regression_test / profiler / Makefile
CommitLineData
d44e3c4f 1##############################################################################
2# Copyright (c) 2000-2016 Ericsson Telecom AB
a38c6d4c 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
d44e3c4f 7#
8# Contributors:
9# Balasko, Jeno
10# Baranyi, Botond
14e21cff 11# Szabo, Bence Janos
d44e3c4f 12#
13##############################################################################
a38c6d4c 14TOPDIR := ..
15include $(TOPDIR)/Makefile.regression
16
17.SUFFIXES: .ttcn .asn .hh .json
18.PHONY: all clean dep run
19
20TTCN3_LIB = ttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX)
21
22# Tester modules
23TTCN3_MODULES = PIPEasp_PortType.ttcn PIPEasp_Types.ttcn PIPEasp_Templates.ttcn Shell.ttcn Testcases.ttcn
24
25GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
26GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
27ifdef CODE_SPLIT
28GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc _seqof.cc _setof.cc _union.cc))
14e21cff 29else ifdef SPLIT_TO_SLICES
30POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
31POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
32GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
33GENERATED_SOURCES += $(GENERATED_SOURCES2)
a38c6d4c 34endif
35
36USER_SOURCES = PIPEasp_PT.cc
37USER_HEADERS = $(USER_SOURCES:.cc=.hh)
38
39OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o)
40
41TARGET = profiler_test$(EXESUFFIX)
42
43# Tested modules (these are compiled with profiling enabled, and are executed by the tester modules)
44PROF_MODULES = prof1.ttcn prof2.ttcn prof3.ttcn
45
46PROF_COMPILER_FLAGS = $(COMPILER_FLAGS) -z prof_files.txt
47
48PROF_TTCN3_LIB = ttcn3$(RT2_SUFFIX)-parallel$(DYNAMIC_SUFFIX)
49
50PROF_GENERATED_SOURCES = $(PROF_MODULES:.ttcn=.cc)
51PROF_GENERATED_HEADERS = $(PROF_GENERATED_SOURCES:.cc=.hh)
14e21cff 52ifdef SPLIT_TO_SLICES
53POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
54POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
55PROF_GENERATED_SOURCES2 := $(foreach file, $(PROF_GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
56PROF_GENERATED_SOURCES += $(PROF_GENERATED_SOURCES2)
57endif
a38c6d4c 58
59PROF_OBJECTS = $(PROF_GENERATED_SOURCES:.cc=.o)
60
61PROF_TARGET = prof.exe
62
3abe9331 63TEMP_FILES = $(PROF_GENERATED_SOURCES) $(PROF_GENERATED_HEADERS) $(PROF_OBJECTS) $(PROF_TARGET) \
64data.json data2.json data3.json prof1.stats empty.stats double.json double.stats merged.json merged.stats
a38c6d4c 65
66# Rules for tester modules
67all: $(TARGET)
68
69$(TARGET): $(GENERATED_SOURCES) $(USER_SOURCES)
70 $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ -L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) -L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS)
71
72$(GENERATED_SOURCES) $(GENERATED_HEADERS): compile
73 @if [ ! -f $@ ]; then $(RM) compile; $(MAKE) compile; fi
74
75compile: $(TTCN3_MODULES)
76 $(filter-out -Nold -E, $(TTCN3_COMPILER)) $(COMPILER_FLAGS) $^
77 touch compile
78
79clean distclean:
80 -rm -f $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \
81 $(GENERATED_SOURCES) *.log Makefile.bak $(TEMP_FILES)
82
83dep: $(GENERATED_SOURCES) $(PROF_GENERATED_SOURCES)
84 makedepend $(CPPFLAGS) $^
85
86run: $(TARGET)
87 ./$^
88
89.NOTPARALLEL:
90
91# Rules for tested modules
92$(PROF_TARGET): $(PROF_GENERATED_SOURCES)
93 $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ -L$(TTCN3_DIR)/lib -l$(PROF_TTCN3_LIB) -L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS)
94
95$(PROF_GENERATED_SOURCES) $(PROF_GENERATED_HEADERS): prof_compile
96 @if [ ! -f $@ ]; then $(RM) prof_compile; $(MAKE) prof_compile; fi
97
98prof_compile: $(PROF_MODULES)
99 $(filter-out -Nold -E, $(TTCN3_COMPILER)) $(PROF_COMPILER_FLAGS) $^
100 touch compile
This page took 0.028127 seconds and 5 git commands to generate.