##############################################################################
# Copyright (c) 2000-2021 Ericsson Telecom AB
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
#
# Contributors:
#   Balasko, Jeno
#   Delic, Adam
#   Gecse, Roland
#   Raduly, Csaba
#   Szabo, Bence Janos
#
##############################################################################
# This Makefile was generated by the compiler
# of the TTCN-3 Test Executor version 1.4.pl3
# for Roland Gecse (ethrge@pauler) on Wed Aug  6 15:10:39 2003

# The following make commands are available:
# - make, make all       Builds the executable test suite.
# - make compile         Translates TTCN-3 and ASN.1 modules to C++.
# - make clean           Removes all generated files.
# - make dep             Creates/updates dependency list.
# - make archive         Archives all source files.

#
# 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, LINUX, FREEBSD or WIN32)
PLATFORM = SOLARIS

# Your C++ compiler:
CXX = /mnt/projects/TTCN/Tools/gcc-3.2.3-sol8/bin/g++

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

# Flags for the TTCN-3 and ASN.1 compiler:
COMPILER_FLAGS = -L

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

# The path of your OpenSSL installation:
# If you do not have your own one, leave it unchanged.
OPENSSL_DIR = $(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...
#

# The TTCN-3 modules needed for this project:
TTCN3_MODULES = Fibonacci.ttcn

# The ASN.1 modules needed for this project:
ASN1_MODULES =

# C++ source & header files generated by TTCN-3 & ASN.1 compilers:
GENERATED_SOURCES = Fibonacci.cc
GENERATED_HEADERS = Fibonacci.hh
ifdef CODE_SPLIT
GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
else ifdef SPLIT_TO_SLICES
POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
GENERATED_SOURCES += $(GENERATED_SOURCES2)
endif

# Source & header files of Test Ports and your other modules:
USER_SOURCES =
USER_HEADERS =

# All object files needed for the executable test suite:
OBJECTS = Fibonacci.o

# The name of the executable test suite:
TARGET = Fibonacci

#
# Do not modify these unless you know what you are doing...
#
SOLARIS_LIBS = -lxnet
LINUX_LIBS =
FREEBSD_LIBS =
WIN32_LIBS =

#
# Rules for building the executable...
#
all: $(TARGET) ;

$(TARGET): $(GENERATED_SOURCES) $(USER_SOURCES)
	$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ -L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) \
	-L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS)

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

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

clean:
	-$(RM) $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \
	$(GENERATED_SOURCES) compile *.log

dep: $(GENERATED_SOURCES)
	makedepend $(CPPFLAGS) $(USER_SOURCES) $(GENERATED_SOURCES)

archive:
	mkdir -p $(ARCHIVE_DIR)
	tar -cvhf - $(TTCN3_MODULES) $(ASN1_MODULES) \
	$(USER_HEADERS) $(USER_SOURCES) Makefile \
	| gzip >$(ARCHIVE_DIR)/$(TARGET)-`date '+%y%m%d-%H%M'`.tgz

#
# Add your rules here if necessary...
#
