##############################################################################
# Copyright (c) 2000-2025 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
#   Lovassy, Arpad
#
##############################################################################
#
# "org_eclipse_titan_executor_jni_JNIMiddleWare.h" is generated by javah (java header generator tool)
# DO NOT EDIT THAT FILE UNLESS YOU KNOW WHAT YOU ARE DOING
#
# CLI command for header generation:
# > javah -classpath . -jni org.eclipse.titan.executor.jni.JNIMiddleWare
# - must be issued in the /bin direcory within the project

TOP := ..
include $(TOP)/Makefile.cfg

CPPFLAGS += -I$(JDKDIR)/include
ifeq ($(PLATFORM), WIN32)
CPPFLAGS += -D__int64='long long'
endif

ifeq ($(PLATFORM), LINUX)
  CPPFLAGS += -I$(JDKDIR)/include/linux
endif
ifeq ($(PLATFORM), SOLARIS)
  CPPFLAGS += -I$(JDKDIR)/include/solaris
endif
ifeq ($(PLATFORM), SOLARIS8)
  CPPFLAGS += -I$(JDKDIR)/include/solaris
endif

STATIC_SOURCES := jnimw.cc jninativelib.cc
HEADERS := jnimw.h org_eclipse_titan_executor_jni_JNIMiddleWare.h

SOURCES := $(STATIC_SOURCES)

OBJECTS := $(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(SOURCES)))

OTHER_OBJECTS := $(TOP)/mctr2/mctr/MctrError.o $(TOP)/mctr2/mctr/MainController.o \
	$(TOP)/mctr2/mctr/UserInterface.o $(TOP)/common/memory.o \
	$(TOP)/common/new.o $(TOP)/core/Textbuf.o $(TOP)/core/RInt.o $(TOP)/common/NetworkHandler.o \
	$(TOP)/mctr2/cli/config_read.lex.o $(TOP)/mctr2/cli/config_read.tab.o $(TOP)/mctr2/mctr/config_data.o \
	$(TOP)/common/config_preproc_p.tab.o $(TOP)/common/config_preproc.o $(TOP)/common/config_preproc_la.o \
	$(TOP)/common/path.o $(TOP)/common/memory.o $(TOP)/common/Path2.o

ifeq ($(LICENSING), yes)
  OTHER_OBJECTS += $(TOP)/common/license.o
endif

TARGETS := libmctrjninative.so

SOLARIS_LIBS =
SOLARIS8_LIBS := -lsocket -lnsl
LINUX_LIBS :=
FREEBSD_LIBS =
WIN32_LIBS =

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

libmctrjninative.so: $(OBJECTS) $(OTHER_OBJECTS)
	$(LD) $(LDFLAGS) -o $@ $^ \
	$($(PLATFORM)_LIBS) -lpthread $(LICENSE_LIBS) -L$(OPENSSL_DIR)/$(OPENSSL_LIB_DIR) -lcrypto

install: $(TARGETS)
ifeq ($(DEBUG), no)
	$(STRIP) $(TARGETS)
endif
	mkdir -p $(LIBDIR)
	cp $(TARGETS) $(LIBDIR)

include $(TOP)/Makefile.genrules
