# This Makefile was generated by the Makefile Generator
# of the TTCN-3 Test Executor version CRL 113 200/5 R5B01
# for ebensza (ebensza@ebensza-VirtualBox) on Mon Aug 29 15:21:25 2016

# Copyright (c) 2000-2020 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.
#
# Set these variables...
#

# The path of your TTCN-3 Test Executor installation:
# Uncomment this line to override the environment variable.
# TTCN3_DIR = 

# 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 = clang++-3.9 

# Flags for the C++ preprocessor (and makedepend as well):
CPPFLAGS = -D$(PLATFORM) -I$(TTCN3_DIR)/include

# Flags for the C++ compiler:
CXXFLAGS = -Wall  

# Flags for the linker:
LDFLAGS = 

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 

# Execution mode: (either ttcn3 or ttcn3-parallel)
TTCN3_LIB = ttcn3-parallel

# 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:
# Note: you can set any directory except ./archive
ARCHIVE_DIR = backup

#
# You may change these variables. Add your files if necessary...
#

# TTCN-3 modules of this project:
TTCN3_MODULES = a1.ttcn a2.ttcn aDefault.ttcn b1.ttcn b2.ttcn bDefault.ttcn c1.ttcn c2.ttcn cDefault.ttcn d1.ttcn d2.ttcn dDefault.ttcn e1.ttcn e2.ttcn eDefault.ttcn f1.ttcn f2.ttcn fDefault.ttcn

# ASN.1 modules of this project:
ASN1_MODULES =

# C++ source & header files generated from the TTCN-3 & ASN.1 modules of
# this project:
GENERATED_SOURCES = a1.cc a2.cc aDefault.cc b1.cc b2.cc bDefault.cc c1.cc c2.cc cDefault.cc d1.cc d2.cc dDefault.cc e1.cc e2.cc eDefault.cc f1.cc f2.cc fDefault.cc
GENERATED_HEADERS = a1.hh a2.hh aDefault.hh b1.hh b2.hh bDefault.hh c1.hh c2.hh cDefault.hh d1.hh d2.hh dDefault.hh e1.hh e2.hh eDefault.hh f1.hh f2.hh fDefault.hh

# C/C++ Source & header files of Test Ports, external functions and
# other modules:
USER_SOURCES =
USER_HEADERS =

# Object files of this project that are needed for the executable test suite:
OBJECTS = $(GENERATED_OBJECTS) $(USER_OBJECTS)

GENERATED_OBJECTS = a1.o a2.o aDefault.o b1.o b2.o bDefault.o c1.o c2.o cDefault.o d1.o d2.o dDefault.o e1.o e2.o eDefault.o f1.o f2.o fDefault.o

USER_OBJECTS =

# 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 = a1



LIBRARY = lib$(EXECUTABLE).a

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
FREEBSD_LIBS = -lxml2
WIN32_LIBS = -lxml2

#
# Rules for building the executable...
#

all: $(TARGET) ;

executable: $(EXECUTABLE) ;

library: $(LIBRARY) ;

objects: $(OBJECTS) compile;

$(EXECUTABLE): $(OBJECTS)
	if $(CXX) $(LDFLAGS) -o $@ $(OBJECTS) \
	-L$(TTCN3_DIR)/lib -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)
	$(AR) -r $(ARFLAGS) $(LIBRARY) $(OBJECTS)

.cc.o .c.o:
	$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<

$(GENERATED_SOURCES) $(GENERATED_HEADERS): compile
	@if [ ! -f $@ ]; then rm -f compile; $(MAKE) compile; fi

check: $(TTCN3_MODULES) $(ASN1_MODULES)
	$(TTCN3_DIR)/bin/compiler -s $(COMPILER_FLAGS) \
	$(TTCN3_MODULES) $(PREPROCESSED_TTCN3_MODULES) $(ASN1_MODULES)

port: $(TTCN3_MODULES) 
	$(TTCN3_DIR)/bin/compiler -t $(COMPILER_FLAGS) \
	$(TTCN3_MODULES) $(PREPROCESSED_TTCN3_MODULES)

compile: $(TTCN3_MODULES) $(ASN1_MODULES)
	$(TTCN3_DIR)/bin/compiler $(COMPILER_FLAGS) \
	$(TTCN3_MODULES) $(ASN1_MODULES) - $?
	touch $@

clean:
	-rm -f $(EXECUTABLE) $(LIBRARY) $(OBJECTS) $(GENERATED_HEADERS) \
	$(GENERATED_SOURCES) compile \
	tags *.log

dep: $(GENERATED_SOURCES) $(USER_SOURCES) ;
	makedepend $(CPPFLAGS) -DMAKEDEPEND_RUN $(GENERATED_SOURCES) $(USER_SOURCES)

archive:
	mkdir -p $(ARCHIVE_DIR)
	tar -cvhf - $(TTCN3_MODULES) $(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/compiler -v 2>&1
	$(TTCN3_DIR)/bin/mctr_cli -v 2>&1
	$(CXX) -v 2>&1
	$(AR) -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...
#

