| # This Makefile was generated by the Makefile Generator |
| # of the TTCN-3 Test Executor version CRL 113 200/6 R6B |
| # for Harald Welte (laforge@nataraja) on Thu Jul 2 18:32:11 2020 |
| |
| # Copyright (c) 2000-2019 Ericsson Telecom AB |
| |
| # The following make commands are available: |
| # - make, make all Builds the executable test suite. |
| # - make archive Archives all source files. |
| # - make check Checks the semantics of TTCN-3 and ASN.1modules. |
| # - make port Generates port skeletons. |
| # - make clean Removes all generated files. |
| # - make compile Translates TTCN-3 and ASN.1 modules to C++. |
| # - make dep Creates/updates dependency list. |
| # - make executable Builds the executable test suite. |
| # - make library Builds the library archive. |
| # - make objects Builds the object files without linking the executable. |
| # - make shared_objects Builds the shared object files without linking the executable. |
| # - make preprocess Preprocess TTCN-3 files. |
| # WARNING! This Makefile can be used with GNU make only. |
| # Other versions of make may report syntax errors in it. |
| |
| # |
| # Do NOT touch this line... |
| # |
| .PHONY: all shared_objects executable library objects check port clean dep archive preprocess |
| |
| .SUFFIXES: .d |
| |
| # |
| # Set these variables... |
| # |
| |
| ifndef TTCN3_DIR |
| ifneq (,$(wildcard /usr/include/titan/)) |
| TTCN3_DIR = /usr |
| TTCN3_SUBDIR = /titan |
| else |
| TTCN3_DIR = /usr |
| TTCN3_SUBDIR = |
| endif |
| endif |
| |
| # Your platform: (SOLARIS, SOLARIS8, LINUX, FREEBSD or WIN32) |
| PLATFORM = LINUX |
| |
| # Your C++ compiler: |
| # (if you change the platform, you may need to change the compiler) |
| CXX = env CCACHE_SLOPPINESS=time_macros ccache g++ |
| |
| # C preprocessor used for TTCN-3 files: |
| CPP = cpp |
| |
| # Flags for the C++ preprocessor (and makedepend as well): |
| CPPFLAGS = -D$(PLATFORM) -DMAKEDEPEND_RUN -DUSE_SCTP -I$(TTCN3_DIR)/include$(TTCN3_SUBDIR) $(shell pkg-config --cflags libosmo-e1d libosmocore) |
| |
| # Flags for dependency generation |
| CXXDEPFLAGS = -MM |
| |
| # Flags for preprocessing TTCN-3 files: |
| CPPFLAGS_TTCN3 = $(shell pkg-config --cflags libosmo-e1d libosmocore) |
| |
| # Flags for the C++ compiler: |
| CXXFLAGS = -fPIC |
| |
| # Flags for the linker: |
| LDFLAGS = -L /usr/lib/titan -fPIC |
| |
| ifeq ($(PLATFORM), WIN32) |
| # Silence linker warnings. |
| LDFLAGS += -Wl,--enable-auto-import,--enable-runtime-pseudo-reloc |
| endif |
| |
| # Utility to create library files |
| AR = ar |
| ARFLAGS = |
| |
| # Flags for the TTCN-3 and ASN.1 compiler: |
| COMPILER_FLAGS = -L -U 5 -D |
| |
| # Execution mode: (either ttcn3 or ttcn3-parallel) |
| TTCN3_LIB = ttcn3-parallel-dynamic |
| |
| # The path of your libxml2 installation: |
| # If you do not have your own one, leave it unchanged. |
| XMLDIR = $(TTCN3_DIR) |
| |
| # Directory to store the archived source files: |
| ARCHIVE_DIR = backup |
| |
| # |
| # You may change these variables. Add your files if necessary... |
| # |
| |
| # TTCN-3 modules of this project: |
| TTCN3_MODULES = E1TS_Test.ttcn E1TS_PortType.ttcn E1TS_PortTypes.ttcn |
| |
| # TTCN-3 modules to preprocess: |
| TTCN3_PP_MODULES = |
| |
| # Files to include in TTCN-3 preprocessed modules: |
| TTCN3_INCLUDES = |
| |
| # ASN.1 modules of this project: |
| ASN1_MODULES = |
| |
| # TTCN-3 source files generated by the C preprocessor: |
| PREPROCESSED_TTCN3_MODULES = |
| |
| # C++ source & header files generated from the TTCN-3 & ASN.1 modules of |
| # this project: |
| GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) E1TS_Test_part_1.cc E1TS_Test_part_2.cc E1TS_Test_part_3.cc E1TS_Test_part_4.cc E1TS_PortType_part_1.cc E1TS_PortType_part_2.cc E1TS_PortType_part_3.cc E1TS_PortType_part_4.cc E1TS_PortTypes_part_1.cc E1TS_PortTypes_part_2.cc E1TS_PortTypes_part_3.cc E1TS_PortTypes_part_4.cc $(TTCN3_PP_MODULES:.ttcnpp=.cc) $(ASN1_MODULES:.asn=.cc) |
| GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh) $(TTCN3_PP_MODULES:.ttcnpp=.hh) $(ASN1_MODULES:.asn=.hh) |
| |
| # C/C++ Source & header files of Test Ports, external functions and |
| # other modules: |
| USER_SOURCES = E1TS_PT.cc |
| USER_HEADERS = $(USER_SOURCES:.cc=.hh) |
| |
| # Shared object files of this project: |
| SHARED_OBJECTS = $(GENERATED_SOURCES:.cc=.so) $(USER_SOURCES:.cc=.so) |
| |
| # Object files of this project that are needed for the executable test suite: |
| OBJECTS = $(GENERATED_OBJECTS) $(USER_OBJECTS) |
| |
| GENERATED_OBJECTS = $(GENERATED_SOURCES:.cc=.o) |
| |
| USER_OBJECTS = $(USER_SOURCES:.cc=.o) |
| |
| DEPFILES = $(USER_OBJECTS:.o=.d) $(GENERATED_OBJECTS:.o=.d) |
| |
| # Other files of the project (Makefile, configuration files, etc.) |
| # that will be added to the archived source files: |
| OTHER_FILES = Makefile |
| |
| # The name of the executable test suite: |
| EXECUTABLE = E1TS_Test |
| |
| |
| |
| LIBRARY = lib$(EXECUTABLE).so |
| |
| TARGET = $(EXECUTABLE) |
| |
| # |
| # Do not modify these unless you know what you are doing... |
| # Platform specific additional libraries: |
| # |
| SOLARIS_LIBS = -lsocket -lnsl -lxml2 |
| SOLARIS8_LIBS = -lsocket -lnsl -lxml2 |
| LINUX_LIBS = -lxml2 $(shell pkg-config --libs libosmo-e1d libosmocore) |
| FREEBSD_LIBS = -lxml2 |
| WIN32_LIBS = -lxml2 |
| |
| # |
| # Rules for building the executable... |
| # |
| |
| all: $(TARGET) ; |
| |
| shared_objects: $(SHARED_OBJECTS) ; |
| |
| executable: $(EXECUTABLE) ; |
| |
| library: $(LIBRARY) ; |
| |
| objects: $(OBJECTS) compile; |
| |
| $(EXECUTABLE): $(SHARED_OBJECTS) |
| if $(CXX) $(LDFLAGS) -o $@ -Wl,--no-as-needed $^ \ |
| -L$(TTCN3_DIR)/lib$(TTCN3_SUBDIR) -l$(TTCN3_LIB) \ |
| -L$(OPENSSL_DIR)/lib -lcrypto \ |
| -L$(XMLDIR)/lib $($(PLATFORM)_LIBS); \ |
| then : ; else $(TTCN3_DIR)/bin/titanver $(OBJECTS); exit 1; fi |
| |
| $(LIBRARY): $(OBJECTS) |
| $(CXX) -shared -o $@ $(OBJECTS) |
| |
| .cc.o .c.o: |
| $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $< |
| |
| .cc.d .c.d: |
| @echo Creating dependency file for '$<'; set -e; \ |
| $(CXX) $(CXXDEPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $< \ |
| | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \ |
| [ -s $@ ] || rm -f $@ |
| |
| %.so: %.o |
| $(CXX) -shared -o $@ $< |
| |
| %.ttcn: %.ttcnpp $(TTCN3_INCLUDES) |
| $(CPP) -x c -nostdinc $(CPPFLAGS_TTCN3) $< $@ |
| |
| preprocess: $(PREPROCESSED_TTCN3_MODULES) ; |
| |
| $(GENERATED_SOURCES) $(GENERATED_HEADERS): compile |
| @if [ ! -f $@ ]; then $(RM) compile; $(MAKE) compile; fi |
| |
| check: $(TTCN3_MODULES) $(PREPROCESSED_TTCN3_MODULES) $(ASN1_MODULES) |
| $(TTCN3_DIR)/bin/ttcn3_compiler -s $(COMPILER_FLAGS) $^ |
| |
| port: $(TTCN3_MODULES) $(PREPROCESSED_TTCN3_MODULES) $(ASN1_MODULES) |
| $(TTCN3_DIR)/bin/ttcn3_compiler -t $(COMPILER_FLAGS) $^ |
| |
| compile: $(TTCN3_MODULES) $(PREPROCESSED_TTCN3_MODULES) $(ASN1_MODULES) |
| $(TTCN3_DIR)/bin/ttcn3_compiler $(COMPILER_FLAGS) $^ - $? |
| touch $@ |
| |
| clean: |
| -$(RM) $(EXECUTABLE) $(LIBRARY) $(OBJECTS) $(GENERATED_HEADERS) \ |
| $(GENERATED_SOURCES) $(SHARED_OBJECTS) $(PREPROCESSED_TTCN3_MODULES) compile $(DEPFILES) \ |
| tags *.log |
| |
| dep: $(GENERATED_SOURCES) $(USER_SOURCES) ; |
| |
| ifeq ($(findstring n,$(MAKEFLAGS)),) |
| ifeq ($(filter clean check port compile archive diag preprocess,$(MAKECMDGOALS)),) |
| -include $(DEPFILES) |
| endif |
| endif |
| |
| archive: |
| mkdir -p $(ARCHIVE_DIR) |
| tar -cvhf - $(TTCN3_MODULES) $(TTCN3_PP_MODULES) \ |
| $(TTCN3_INCLUDES) $(ASN1_MODULES) \ |
| $(USER_HEADERS) $(USER_SOURCES) $(OTHER_FILES) \ |
| | gzip >$(ARCHIVE_DIR)/`basename $(TARGET) .exe`-`date '+%y%m%d-%H%M'`.tgz |
| |
| diag: |
| $(TTCN3_DIR)/bin/ttcn3_compiler -v 2>&1 |
| $(TTCN3_DIR)/bin/mctr_cli -v 2>&1 |
| $(CXX) -v 2>&1 |
| @echo TTCN3_DIR=$(TTCN3_DIR) |
| @echo OPENSSL_DIR=$(OPENSSL_DIR) |
| @echo XMLDIR=$(XMLDIR) |
| @echo PLATFORM=$(PLATFORM) |
| |
| # |
| # Add your rules here if necessary... |
| # |
| |