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))
28 OBJECTS = $(GENERATED_SOURCES:.cc=.o)
30 OTHER_FILES = Makefile
32 SOLARIS_LIBS = -lsocket -lnsl -lxml2 -lresolv -lcurses
33 SOLARIS8_LIBS = -lsocket -lnsl -lxml2 -lresolv -lcurses
34 LINUX_LIBS = -lxml2 -lpthread -lrt -lncurses
35 FREEBSD_LIBS = -lxml2 -lncurses
36 WIN32_LIBS = -lxml2 -lncurses
44 $(CXX) $(LDFLAGS) -o $@ $^ \
45 -L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) \
46 -L$(OPENSSL_DIR)/lib -lcrypto \
47 -L$(XMLDIR)/lib $($(PLATFORM)_LIBS)
50 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
52 $(GENERATED_TTCN3_MODULES): convert
53 @if [ ! -f $@ ]; then $(RM) convert; $(MAKE) convert; fi
55 convert: $(XML_SCHEMAS)
56 $(TTCN3_DIR)/bin/xsd2ttcn -z $^
59 $(GENERATED_SOURCES) $(GENERATED_HEADERS): compile
60 @if [ ! -f $@ ]; then $(RM) compile; $(MAKE) compile; fi
62 compile: $(TTCN3_MODULES)
63 $(TTCN3_COMPILER) $^ - $?
67 -$(RM) $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \
68 $(GENERATED_SOURCES) $(GENERATED_TTCN3_MODULES) convert compile *.log
73 dep: $(GENERATED_SOURCES)
74 makedepend $(CPPFLAGS) $^
76 vpath %.xsd $(ABS_SRC)