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
15 ##############################################################################
20 include ..
/..
/Makefile.regression
23 $(error note
: XML
/NegativeTest requires RT2
)
26 # WARNING! This Makefile can be used with GNU make only.
27 # Other versions of make may report syntax errors in it.
30 # Do NOT touch this line...
32 .PHONY
: all archive
check clean distclean dep objects
36 # Flags for dependency generation
39 # Flags for the C++ compiler:
40 #CXXFLAGS = -Wall -g -coverage
42 # Flags for the linker:
43 #LDFLAGS = -g -rdynamic -coverage
45 # Flags for the TTCN-3 and ASN.1 compiler (-R already added)
48 # Execution mode: (either ttcn3 or ttcn3-parallel)
49 TTCN3_LIB
:= ttcn3-rt2
52 # You may change these variables. Add your files if necessary...
55 # TTCN-3 modules of this project:
56 TTCN3_MODULES
= rec.ttcn rec_of.ttcn uni.ttcn exer_rec.ttcn exer_rec_of.ttcn exer_uni.ttcn \
57 ReadXml.ttcn runner.ttcn
59 # ASN.1 modules of this project:
62 # C++ source & header files generated from the TTCN-3 & ASN.1 modules of
64 GENERATED_SOURCES
= $(TTCN3_MODULES
:.ttcn
=.
cc) $(ASN1_MODULES
:.asn
=.
cc)
65 GENERATED_HEADERS
= $(GENERATED_SOURCES
:.
cc=.hh
)
67 POSTFIXES
:= $(foreach file
, $(SPLIT_TO_SLICES
), $(addsuffix $(file
), _part_
))
68 POSTFIXES
:= $(foreach file
, $(POSTFIXES
), $(addprefix $(file
), .
cc))
69 GENERATED_SOURCES2
:= $(foreach file
, $(GENERATED_SOURCES
:.
cc=), $(addprefix $(file
), $(POSTFIXES
)))
70 GENERATED_SOURCES
+= $(GENERATED_SOURCES2
)
72 # C/C++ Source & header files of Test Ports, external functions and
74 USER_SOURCES
= ReadXmlImpl.
cc
75 USER_HEADERS
= $(USER_SOURCES
:.
cc=.hh
)
77 # Object files of this project that are needed for the executable test suite:
78 OBJECTS
= $(GENERATED_OBJECTS
) $(USER_OBJECTS
)
80 GENERATED_OBJECTS
= $(GENERATED_SOURCES
:.
cc=.o
)
82 USER_OBJECTS
= $(USER_SOURCES
:.
cc=.o
)
84 DEPFILES
= $(USER_OBJECTS
:.o
=.d
) $(GENERATED_OBJECTS
:.o
=.d
)
86 # Other files of the project (Makefile, configuration files, etc.)
87 # that will be added to the archived source files:
88 OTHER_FILES
= Makefile
90 # The name of the executable test suite:
91 TARGET
= neg
$(EXESUFFIX
)
94 # Rules for building the executable...
101 $(TARGET
): $(OBJECTS
) $(TTCN3_DIR
)/lib
/lib
$(TTCN3_LIB
).a
102 $(CXX
) $(LDFLAGS
) -o
$@
$^ \
103 -L
$(TTCN3_DIR
)/lib
-l
$(TTCN3_LIB
) \
104 -L
$(OPENSSL_DIR
)/lib
-lcrypto \
105 -L
$(XMLDIR
)/lib
$($(PLATFORM
)_LIBS
) \
106 ||
$(TTCN3_DIR
)/bin
/titanver
$(OBJECTS
)
109 $(CXX
) -c
$(CPPFLAGS
) $(CXXFLAGS
) -o
$@
$<
112 @echo Creating dependency file for
'$<'; set
-e
; \
113 $(CXX
) $(CXXDEPFLAGS
) $(CPPFLAGS
) $(CXXFLAGS
) $< \
114 | sed
's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@
; \
115 [ -s
$@
] ||
rm -f
$@
117 $(GENERATED_SOURCES
) $(GENERATED_HEADERS
): compile
118 @if
[ ! -f
$@
]; then
$(RM
) compile
; $(MAKE
) compile
; fi
120 compile
:: $(firstword $(TTCN3_COMPILER
)) $(TTCN3_DIR
)/lib
/lib
$(TTCN3_LIB
).a
121 @if
[ -f
$@
]; then
$(RM
) compile
; $(MAKE
) compile
; fi
123 compile
:: $(TTCN3_MODULES
) $(ASN1_MODULES
)
124 $(TTCN3_COMPILER
) $(COMPILER_FLAGS
) $^
- $?
128 -$(RM
) $(TARGET
) $(OBJECTS
) $(GENERATED_HEADERS
) \
129 $(GENERATED_SOURCES
) compile
$(DEPFILES
) \
135 dep
: $(GENERATED_SOURCES
) $(USER_SOURCES
) ;
137 ifeq ($(findstring n
,$(MAKEFLAGS
)),)
138 ifeq ($(filter clean distclean check compile archive diag
,$(MAKECMDGOALS
)),)
144 $(TTCN3_DIR
)/bin
/compiler
-v
2>&1
145 $(TTCN3_DIR
)/bin
/mctr_cli
-v
2>&1
147 @echo TTCN3_DIR
=$(TTCN3_DIR
)
148 @echo OPENSSL_DIR
=$(OPENSSL_DIR
)
149 @echo XMLDIR
=$(XMLDIR
)
150 @echo PLATFORM
=$(PLATFORM
)
153 # Add your rules here if necessary...
156 RUN
:= $(shell which colortitan
2>/dev
/null
)
157 ifeq ($(firstword $(RUN
)),no
)
158 # stupid /bin/which on Solaris writes errors to stdout instead of stderr
162 run
: $(TARGET
) run.cfg
163 if
$(RUN
) .
/$^
; then .
/indent.pl neg.log
; else .
/indent.pl neg.log
; exit
1; fi