# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
-# Kirjak, Adrien
+#
+# Baji, Laszlo
+# Balasko, Jeno
+# Delic, Adam
+# Forstner, Matyas
+# Godar, Marton
+# Horvath, Gabriella
+# Koppany, Csaba
+# Kovacs, Ferenc
+# Kovacs, Zoltan
+# Kremer, Peter
+# Lovassy, Arpad
+# Ormandi, Matyas
+# Pilisi, Gergely
+# Raduly, Csaba
+# Szabados, Kristof
+# Szabo, Janos Zoltan – initial implementation
+# Torpis, Zsolt
+# Zalanyi, Balazs Andor
#
-# not ready
##############################################################################
-#TOPDIR := ../..
-#include $(TOPDIR)/Makefile.regression
+# Main Makefile for the TTCN-3 Test Executor
+# For use with GNU make only.
-#ifdef LCOV
-#COVERAGE_FLAG := -C
-#endif
+TOP := .
+include $(TOP)/Makefile.cfg
-MAKE := make
+# Dirlist for "all", "clean", "distclean"
+ALLDIRS := common compiler2 repgen xsdconvert
-MAKECLEAN := make clean
+ifndef MINGW
+ ALLDIRS += mctr2 core core2 loggerplugins
+endif
-run:
- $(TTCN3_DIR)/bin/ttcn3_makefilegen -f -t pos_conf_tests.tpd && \
- cd bin && \
- $(MAKE) && \
- $(TTCN3_DIR)/bin/ttcn3_start pos_conf_tests pos_conf_tests.cfg && \
- cd ..
+# JNI not supported on Cygwin or Mingw
+ifneq ($(PLATFORM), WIN32)
+ ifeq ($(JNI), yes)
+ ALLDIRS += JNI
+ endif
+endif
-clean:
- cd bin && \
- $(MAKECLEAN) && \
- cd ..
+#ALLDIRS += ctags
-.PHONY: all clean run
+# Dirlist for "dep", "tags"
+DEPDIRS := $(ALLDIRS)
+ALLDIRS += usrguide
+# Dirlist for "install"
+INSTALLDIRS := $(ALLDIRS)
+INSTALLDIRS += etc help hello
+
+###########################################################
+
+all run clean distclean:
+ @for dir in $(ALLDIRS); do \
+ $(MAKE) -C $$dir $@ || exit; \
+ done
+
+dep tags:
+ @for dir in $(DEPDIRS); do \
+ $(MAKE) -C $$dir $@ || exit; \
+ done
+
+install:
+ if test -h $(TTCN3_DIR); then \
+ echo $(TTCN3_DIR) is a symlink, you cannot be serious; exit 1; fi
+ifdef MINGW
+ $(info cross your fingers...)
+endif
+ -rm -rf $(TTCN3_DIR)
+ifeq ($(INCLUDE_EXTERNAL_LIBS), yes)
+ mkdir -p $(TTCN3_DIR)/lib
+ cp -d $(OPENSSL_DIR)/lib/libcrypto.so* $(TTCN3_DIR)/lib
+ cp -d $(XMLDIR)/lib/libxml2.so* $(TTCN3_DIR)/lib
+endif
+ @for dir in $(INSTALLDIRS); do \
+ $(MAKE) -C $$dir $@ || exit; \
+ done
+ifeq ($(LICENSING), yes)
+ mkdir -p $(ETCDIR)/licensegen
+ cp licensegen/license.dat $(ETCDIR)/license
+endif
+ chmod -R +r,go-w $(TTCN3_DIR)
+
+# check is the standard GNU target for running tests
+# (avoids clash with shell builtin 'test')
+check:
+ compiler2/compiler -v
+
+ifneq (,$(findstring prereq,$(MAKECMDGOALS)))
+# Export all variables into the environment for the prereq target
+export
+endif
+
+
+# no need to include Makefile.genrules
+
+.PHONY: all clean distclean dep tags install psi dox check confess prereq
+
+
+Makefile.personal: SHELL:=/bin/bash
+Makefile.personal:
+ if [ -f $(TOP)/makefiles/$@.$${HOSTNAME:=$${COMPUTERNAME}} ]; then ln -s $(TOP)/makefiles/$@.$${HOSTNAME} $@; else touch $@; fi