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 ###############################################################################
9 include $(TOPDIR
)/Makefile.regression
11 .SUFFIXES
: .ttcn .asn .hh .json
12 .PHONY
: all clean dep run
14 TTCN3_LIB
= ttcn3
$(RT2_SUFFIX
)$(DYNAMIC_SUFFIX
)
17 TTCN3_MODULES
= PIPEasp_PortType.ttcn PIPEasp_Types.ttcn PIPEasp_Templates.ttcn Shell.ttcn Testcases.ttcn
19 GENERATED_SOURCES
= $(TTCN3_MODULES
:.ttcn
=.
cc) $(ASN1_MODULES
:.asn
=.
cc)
20 GENERATED_HEADERS
= $(GENERATED_SOURCES
:.
cc=.hh
)
22 GENERATED_SOURCES
:= $(foreach file
, $(GENERATED_SOURCES
:.
cc=), $(addprefix $(file
), .
cc _seq.
cc _set.
cc _seqof.
cc _setof.
cc _union.
cc))
25 USER_SOURCES
= PIPEasp_PT.
cc
26 USER_HEADERS
= $(USER_SOURCES
:.
cc=.hh
)
28 OBJECTS
= $(GENERATED_SOURCES
:.
cc=.o
) $(USER_SOURCES
:.
cc=.o
)
30 TARGET
= profiler_test
$(EXESUFFIX
)
32 # Tested modules (these are compiled with profiling enabled, and are executed by the tester modules)
33 PROF_MODULES
= prof1.ttcn prof2.ttcn prof3.ttcn
35 PROF_COMPILER_FLAGS
= $(COMPILER_FLAGS
) -z prof_files.txt
37 PROF_TTCN3_LIB
= ttcn3
$(RT2_SUFFIX
)-parallel
$(DYNAMIC_SUFFIX
)
39 PROF_GENERATED_SOURCES
= $(PROF_MODULES
:.ttcn
=.
cc)
40 PROF_GENERATED_HEADERS
= $(PROF_GENERATED_SOURCES
:.
cc=.hh
)
42 PROF_OBJECTS
= $(PROF_GENERATED_SOURCES
:.
cc=.o
)
44 PROF_TARGET
= prof.exe
46 TEMP_FILES
= $(PROF_GENERATED_SOURCES
) $(PROF_GENERATED_HEADERS
) $(PROF_OBJECTS
) $(PROF_TARGET
) data.json prof1.stats empty.stats
48 # Rules for tester modules
51 $(TARGET
): $(GENERATED_SOURCES
) $(USER_SOURCES
)
52 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) $(LDFLAGS
) -o
$@
$^
-L
$(TTCN3_DIR
)/lib
-l
$(TTCN3_LIB
) -L
$(OPENSSL_DIR
)/lib
-lcrypto
$($(PLATFORM
)_LIBS
)
54 $(GENERATED_SOURCES
) $(GENERATED_HEADERS
): compile
55 @if
[ ! -f
$@
]; then
$(RM
) compile
; $(MAKE
) compile
; fi
57 compile
: $(TTCN3_MODULES
)
58 $(filter-out -Nold
-E
, $(TTCN3_COMPILER
)) $(COMPILER_FLAGS
) $^
62 -rm -f
$(TARGET
) $(OBJECTS
) $(GENERATED_HEADERS
) \
63 $(GENERATED_SOURCES
) *.log Makefile.bak
$(TEMP_FILES
)
65 dep
: $(GENERATED_SOURCES
) $(PROF_GENERATED_SOURCES
)
66 makedepend
$(CPPFLAGS
) $^
73 # Rules for tested modules
74 $(PROF_TARGET
): $(PROF_GENERATED_SOURCES
)
75 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) $(LDFLAGS
) -o
$@
$^
-L
$(TTCN3_DIR
)/lib
-l
$(PROF_TTCN3_LIB
) -L
$(OPENSSL_DIR
)/lib
-lcrypto
$($(PLATFORM
)_LIBS
)
77 $(PROF_GENERATED_SOURCES
) $(PROF_GENERATED_HEADERS
): prof_compile
78 @if
[ ! -f
$@
]; then
$(RM
) prof_compile
; $(MAKE
) prof_compile
; fi
80 prof_compile
: $(PROF_MODULES
)
81 $(filter-out -Nold
-E
, $(TTCN3_COMPILER
)) $(PROF_COMPILER_FLAGS
) $^