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
13 ##############################################################################
14 .PHONY: all dep run clean distclean objects
15 # convert and compile are NOT phony in the subdirectories!
17 TTCN3_LIB = ttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX)
19 TTCN3_MODULES = $(GENERATED_TTCN3_MODULES) $(USER_TTCN3_MODULES)
21 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
22 GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
24 GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc _seqof.cc _setof.cc _union.cc))
25 else ifdef SPLIT_TO_SLICES
26 POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
27 POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
28 GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
29 GENERATED_SOURCES += $(GENERATED_SOURCES2)
33 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
35 OTHER_FILES = Makefile
37 SOLARIS_LIBS = -lsocket -lnsl -lxml2 -lresolv -lcurses
38 SOLARIS8_LIBS = -lsocket -lnsl -lxml2 -lresolv -lcurses
39 LINUX_LIBS = -lxml2 -lpthread -lrt -lncurses
40 FREEBSD_LIBS = -lxml2 -lncurses
41 WIN32_LIBS = -lxml2 -lncurses
49 $(CXX) $(LDFLAGS) -o $@ $^ \
50 -L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) \
51 -L$(OPENSSL_DIR)/lib -lcrypto \
52 -L$(XMLDIR)/lib $($(PLATFORM)_LIBS)
55 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
57 $(GENERATED_TTCN3_MODULES): convert
58 @if [ ! -f $@ ]; then $(RM) convert; $(MAKE) convert; fi
60 convert: $(XML_SCHEMAS)
61 $(TTCN3_DIR)/bin/xsd2ttcn -z $^
64 $(GENERATED_SOURCES) $(GENERATED_HEADERS): compile
65 @if [ ! -f $@ ]; then $(RM) compile; $(MAKE) compile; fi
67 compile: $(TTCN3_MODULES)
68 $(TTCN3_COMPILER) $^ - $?
72 -$(RM) $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \
73 $(GENERATED_SOURCES) $(GENERATED_TTCN3_MODULES) convert compile *.log
78 dep: $(GENERATED_SOURCES)
79 makedepend $(CPPFLAGS) $^
81 vpath %.xsd $(ABS_SRC)