Titan Core Initial Contribution
[deliverable/titan.core.git] / regression_test / anytype / Makefile
CommitLineData
970ed795
EL
1###############################################################################
2# Copyright (c) 2000-2014 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###############################################################################
8TOPDIR := ..
9include ../Makefile.regression
10
11ORIG ?= .
12
13# WARNING! This Makefile can be used with GNU make only.
14# Other versions of make may report syntax errors in it.
15
16#
17# Do NOT touch this line...
18#
19.PHONY: all check clean dep objects preprocess
20
21#
22# Set these variables...
23#
24
25
26# C preprocessor used for TTCN-3 files:
27CPP = cpp
28
29# Flags for the C++ preprocessor (and makedepend as well):
30CPPFLAGS += -D$(PLATFORM)
31# -I$(TTCN3_DIR)/include
32
33# Flags for preprocessing TTCN-3 files:
34#CPPFLAGS_TTCN3 +=
35
36# Flags for the C++ compiler: (-Wall already in)
37CXXFLAGS += -g -W -Wformat=2
38
39# Flags for the linker:
40LDFLAGS += -g
41
42# Local flags for Titan (can be overridden from the environment or commandline)
43TTCNFLAGS += -b -r -x
44
45# Flags for the TTCN-3 and ASN.1 compiler
46# (common flags already set in Makefile.regression)
47COMPILER_FLAGS += $(TTCNFLAGS)
48
49# $(sort ) also eliminates duplicates
50COMPILER_FLAGS := $(sort $(COMPILER_FLAGS))
51
52# Execution mode: (either ttcn3 or ttcn3-parallel)
53TTCN3_LIB = ttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX)
54
55
56#
57# You may change these variables. Add your files if necessary...
58#
59
60# TTCN-3 modules to preprocess:
61TTCN3_PP_MODULES = $(wildcard $(ABS_SRC)/*.ttcnpp)
62
63# Files to include in TTCN-3 preprocessed modules:
64TTCN3_INCLUDES = $(TOP_SRC)/XML/macros.ttcnin
65
66# ASN.1 modules of this project:
67ASN1_MODULES =
68
69# TTCN-3 source files generated by the C preprocessor:
70PREPROCESSED_TTCN3_MODULES := $(notdir $(TTCN3_PP_MODULES:.ttcnpp=.ttcn))
71
72# TTCN-3 modules of this project:
73TTCN3_MODULES = smallany.ttcn noany.ttcn
74
75# C++ source & header files generated from the TTCN-3 & ASN.1 modules of
76# this project:
77GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(PREPROCESSED_TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
78GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
79ifdef CODE_SPLIT
80GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc _seqof.cc _setof.cc _union.cc))
81endif
82
83# C/C++ Source & header files of Test Ports, external functions and
84# other modules:
85USER_SOURCES =
86USER_HEADERS = $(USER_SOURCES:.cc=.hh)
87
88# Object files of this project that are needed for the executable test suite:
89OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o)
90
91# The name of the executable test suite:
92TARGET = AnytypeTest
93
94
95#
96# Rules for building the executable...
97#
98
99all: $(TARGET) ;
100
101objects: $(OBJECTS) ;
102
103$(TARGET): $(GENERATED_SOURCES) $(USER_SOURCES)
104 $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ \
105 -L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) \
106 -L$(OPENSSL_DIR)/lib -lcrypto \
107 -L$(XMLDIR)/lib $($(PLATFORM)_LIBS)
108
109%.ttcn: %.ttcnpp $(TTCN3_INCLUDES)
110 $(CPP) -x c -nostdinc $(CPPFLAGS_TTCN3) $< $@
111
112preprocess: $(PREPROCESSED_TTCN3_MODULES) ;
113
114$(GENERATED_SOURCES) $(GENERATED_HEADERS): compile
115 @if [ ! -f $@ ]; then $(RM) compile; $(MAKE) compile; fi
116
117ifeq ($(findstring dynamic,$(TTCN3_LIB)),)
118# not dynamic
119CORELIB_BINARY := $(TTCN3_DIR)/lib/lib$(TTCN3_LIB).a
120else
121CORELIB_BINARY := $(TTCN3_DIR)/lib/lib$(TTCN3_LIB).so
122endif
123
124
125compile:: $(firstword $(TTCN3_COMPILER)) $(CORELIB_BINARY)
126 @if [ -f $@ ]; then $(RM) compile; $(MAKE) compile; fi
127
128compile:: $(TTCN3_MODULES) $(PREPROCESSED_TTCN3_MODULES) $(ASN1_MODULES)
129# no old names due to modulepar verbose
130 $(filter-out -Nold -E, $(TTCN3_COMPILER) $(COMPILER_FLAGS)) $^ - $?
131 touch $@
132
133clean distclean:
134 -$(RM) $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \
135 $(GENERATED_SOURCES) $(PREPROCESSED_TTCN3_MODULES) compile \
136 tags *.log
137
138dep: $(GENERATED_SOURCES) $(USER_SOURCES)
139 makedepend $(CPPFLAGS) $^
140
141#
142# Add your rules here if necessary...
143#
144
145install:
146 @echo You cannot be serious!
147
148re:
149 rm -f compile
150
151RUN := $(shell which colortitan)
152ifeq ($(firstword $(RUN)),no)
153# stupid /bin/which on Solaris writes errors to stdout instead of stderr
154RUN :=
155endif
156
157
158run: $(TARGET) config.cfg
159 $(RUN) ./$^
160
This page took 0.028809 seconds and 5 git commands to generate.