#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# Comment in if using Cygwin:
#SHELL:=/bin/bash

TARGET:=target
SRC:=src/main/java
SRC_NATIVE:=src/main/native

ifndef VERSION
$(error Set VERSION environment variable)
endif

ifndef JAVA_HOME
$(error Set JAVA_HOME environment variable)
endif

JAVA  := "$(JAVA_HOME)/bin/java"
JAVAC := "$(JAVA_HOME)/bin/javac"
JAVAH := "$(JAVA_HOME)/bin/javah"

OSINFO_CLASS := org.apache.commons.crypto.OsInfo
OSINFO_PROG := $(TARGET)/classes/org/apache/commons/crypto/OsInfo.class

OS_NAME := $(shell $(JAVA) -cp $(TARGET)/classes $(OSINFO_CLASS) --os)
OS_ARCH := $(shell $(JAVA) -cp $(TARGET)/classes $(OSINFO_CLASS) --arch)
LIB_FOLDER := $(shell $(JAVA) -cp $(TARGET)/classes $(OSINFO_CLASS))

commons-crypto := commons-crypto-$(VERSION)


jni_md := $(shell find -L "$(JAVA_HOME)" -name jni_md.h | head -1)
ifneq ($(jni_md),)
jni_include := $(shell dirname "$(jni_md)")
endif


# os=Default is meant to be generic Unix/Linux

known_os_archs := Linux-x86 Linux-x86_64 Linux-aarch64 Linux-arm Linux-armhf Linux-ppc Linux-ppc64 Mac-x86 Mac-x86_64 FreeBSD-x86_64 Windows-x86 Windows-x86_64 SunOS-x86 SunOS-sparc SunOS-x86_64 AIX-ppc64
os_arch := $(OS_NAME)-$(OS_ARCH)

ifeq (,$(findstring $(strip $(os_arch)),$(known_os_archs)))
  os_arch := Default
endif

os_folder := $(shell echo $(OS_NAME) | tr A-Z a-z)

# cross-compilation toolchain prefix (e.g. "arm-linux-gnueabi-")
CROSS_PREFIX :=

Default_CC            := $(CROSS_PREFIX)gcc
Default_CXX           := $(CROSS_PREFIX)g++
Default_STRIP         := $(CROSS_PREFIX)strip
Default_CFLAGS        := -I"$(JAVA_HOME)/include" -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden
Default_CXXFLAGS      := -I"$(JAVA_HOME)/include" -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden
Default_LINKFLAGS     := -shared -static
Default_LIBNAME       := libcommons-crypto.so
Default_LIBNAME_OSSL3 := libcommons-crypto-ossl3.so
Default_COMMONS_CRYPTO_FLAGS :=

Linux-x86_CC            := $(CROSS_PREFIX)gcc
Linux-x86_CXX           := $(CROSS_PREFIX)g++
Linux-x86_STRIP         := $(CROSS_PREFIX)strip
Linux-x86_CXXFLAGS      := -I"$(JAVA_HOME)/include" -O2 -fPIC -fvisibility=hidden -m32
Linux-x86_CFLAGS        := -I"$(JAVA_HOME)/include" -O2 -fPIC -fvisibility=hidden -m32
Linux-x86_LINKFLAGS     := -shared -static-libgcc -static-libstdc++
Linux-x86_LIBNAME       := libcommons-crypto.so
Linux-x86_LIBNAME_OSSL3 := libcommons-crypto-ossl3.so
Linux-x86_COMMONS_CRYPTO_FLAGS:=

Linux-x86_64_CC            := $(CROSS_PREFIX)gcc
Linux-x86_64_CXX           := $(CROSS_PREFIX)g++
Linux-x86_64_STRIP         := $(CROSS_PREFIX)strip
Linux-x86_64_CXXFLAGS      := -Ilib/inc_linux -I"$(JAVA_HOME)/include" -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden -m64 -Wall -Werror
Linux-x86_64_CFLAGS        := -Ilib/inc_linux -I"$(JAVA_HOME)/include" -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden -m64 -Wall -Werror
Linux-x86_64_LINKFLAGS     := -shared -static-libgcc
Linux-x86_64_LIBNAME       := libcommons-crypto.so
Linux-x86_64_LIBNAME_OSSL3 := libcommons-crypto-ossl3.so
Linux-x86_64_COMMONS_CRYPTO_FLAGS  :=

Linux-ppc_CC            := gcc
Linux-ppc_CXX           := g++
Linux-ppc_STRIP         := strip
Linux-ppc_CXXFLAGS      := -DHAVE_CONFIG_H -Ilib/inc_linux -I"$(JAVA_HOME)/include" -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden -m32
Linux-ppc_CFLAGS        := -DHAVE_CONFIG_H -Ilib/inc_linux -I"$(JAVA_HOME)/include" -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden -m32
Linux-ppc_LINKFLAGS     := -shared -static-libgcc -static-libstdc++
Linux-ppc_LIBNAME       := libcommons-crypto.so
Linux-ppc_LIBNAME_OSSL3 := libcommons-crypto-ossl3.so
Linux-ppc_COMMONS_CRYPTO_FLAGS  :=

Linux-ppc64_CC            := gcc
Linux-ppc64_CXX           := g++
Linux-ppc64_STRIP         := strip
Linux-ppc64_CXXFLAGS      := -DHAVE_CONFIG_H -Ilib/inc_linux -I"$(JAVA_HOME)/include" -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden -m64
Linux-ppc64_CFLAGS        := -DHAVE_CONFIG_H -Ilib/inc_linux -I"$(JAVA_HOME)/include" -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden -m64
Linux-ppc64_LINKFLAGS     := -shared -static-libgcc -static-libstdc++
Linux-ppc64_LIBNAME       := libcommons-crypto.so
Linux-ppc64_LIBNAME_OSSL3 := libcommons-crypto-ossl3.so
Linux-ppc64_COMMONS_CRYPTO_FLAGS  :=

AIX-ppc64_CC        := gcc
AIX-ppc64_CXX       := g++
AIX-ppc64_STRIP     := strip -X64
AIX-ppc64_LIBNAME   := libcommons-crypto.a
AIX-ppc64_CXXFLAGS     := -DHAVE_CONFIG_H -Ilib/inc_linux -I"$(JAVA_HOME)/include" -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden -m64
AIX-ppc64_CFLAGS       := -DHAVE_CONFIG_H -Ilib/inc_linux -I"$(JAVA_HOME)/include" -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden -m64
AIX-ppc64_LINKFLAGS := -shared -static-libgcc -static-libstdc++ -lcrypt
AIX-ppc64_COMMONS_CRYPTO_FLAGS  :=

SunOS-x86_CC            := gcc
SunOS-x86_CXX           := g++
SunOS-x86_STRIP         := strip
SunOS-x86_CFLAGS        := -include lib/inc_linux/jni_md.h -I"$(JAVA_HOME)/include" -O2 -fPIC -fvisibility=hidden
SunOS-x86_CXXFLAGS      := -include lib/inc_linux/jni_md.h -I"$(JAVA_HOME)/include" -O2 -fPIC -fvisibility=hidden
SunOS-x86_LINKFLAGS     := -shared -static-libgcc -static-libstdc++
SunOS-x86_LIBNAME       := libcommons-crypto.so
SunOS-x86_LIBNAME_OSSL3 := libcommons-crypto-ossl3.so
SunOS-x86_COMMONS_CRYPTO_FLAGS  :=

SunOS-sparc_CC        := gcc
SunOS-sparc_CXX       := g++
SunOS-sparc_STRIP     := strip
SunOS-sparc_CFLAGS    := -include lib/inc_linux/jni_md.h -I"$(JAVA_HOME)/include" -O2 -fPIC -fvisibility=hidden
SunOS-sparc_CXXFLAGS  := -include lib/inc_linux/jni_md.h -I"$(JAVA_HOME)/include" -O2 -fPIC -fvisibility=hidden
SunOS-sparc_LINKFLAGS := -shared -static-libgcc -static-libstdc++
SunOS-sparc_LIBNAME   := libcommons-crypto.so
SunOS-sparc_LIBNAME_OSSL3 := libcommons-crypto-ossl3.so
SunOS-sparc_COMMONS_CRYPTO_FLAGS  :=

SunOS-x86_64_CC        := gcc
SunOS-x86_64_CXX       := g++
SunOS-x86_64_STRIP     := strip
SunOS-x86_64_CFLAGS    := -include lib/inc_linux/jni_md.h -I"$(JAVA_HOME)/include" -O2 -fPIC -fvisibility=hidden -m64
SunOS-x86_64_CXXFLAGS  := -include lib/inc_linux/jni_md.h -I"$(JAVA_HOME)/include" -O2 -fPIC -fvisibility=hidden -m64
SunOS-x86_64_LINKFLAGS := -shared -static-libgcc -static-libstdc++
SunOS-x86_64_LIBNAME   := libcommons-crypto.so
SunOS-x86_64_LIBNAME_OSSL3  := libcommons-crypto-ossl3.so
SunOS-x86_64_COMMONS_CRYPTO_FLAGS  :=

# '-include lib/inc_linux/jni_md.h' is used to force the use of our version,
# which defines JNIEXPORT differently; otherwise, since OpenJDK includes
# jni_md.h in same directory as jni.h, the include path is ignored when
# jni_md.h is included from jni.h

Linux-arm_CC        := $(CROSS_PREFIX)gcc
Linux-arm_CXX       := $(CROSS_PREFIX)g++
Linux-arm_STRIP     := $(CROSS_PREFIX)strip
Linux-arm_CFLAGS    := -Ilib/inc_linux -I"$(JAVA_HOME)/include" -O2 -fPIC -fvisibility=hidden -mfloat-abi=softfp
Linux-arm_CXXFLAGS  := -Ilib/inc_linux -I"$(JAVA_HOME)/include" -O2 -fPIC -fvisibility=hidden -mfloat-abi=softfp
Linux-arm_LINKFLAGS := -shared -static-libgcc
Linux-arm_LIBNAME   := libcommons-crypto.so
Linux-arm_LIBNAME_OSSL3 := libcommons-crypto-ossl3.so
Linux-arm_COMMONS_CRYPTO_FLAGS:=

Linux-armhf_CC        := $(CROSS_PREFIX)gcc
Linux-armhf_CXX       := $(CROSS_PREFIX)g++
Linux-armhf_STRIP     := $(CROSS_PREFIX)strip
Linux-armhf_CFLAGS    := -Ilib/inc_linux -I"$(JAVA_HOME)/include" -O2 -fPIC -fvisibility=hidden -mfloat-abi=hard
Linux-armhf_CXXFLAGS  := -Ilib/inc_linux -I"$(JAVA_HOME)/include" -O2 -fPIC -fvisibility=hidden -mfloat-abi=hard
Linux-armhf_LINKFLAGS := -shared -static-libgcc
Linux-armhf_LIBNAME   := libcommons-crypto.so
Linux-armhf_LIBNAME_OSSL3 := libcommons-crypto-ossl3.so
Linux-armhf_COMMONS_CRYPTO_FLAGS:=

Linux-aarch64_CC        := $(CROSS_PREFIX)gcc
Linux-aarch64_CXX       := $(CROSS_PREFIX)g++
Linux-aarch64_STRIP     := $(CROSS_PREFIX)strip
Linux-aarch64_CXXFLAGS  := -Ilib/inc_linux -I"$(JAVA_HOME)/include" -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden -Wall -Werror
Linux-aarch64_CFLAGS    := -Ilib/inc_linux -I"$(JAVA_HOME)/include" -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden -Wall -Werror
Linux-aarch64_LINKFLAGS := -shared -static-libgcc
Linux-aarch64_LIBNAME   := libcommons-crypto.so
Linux-aarch64_LIBNAME_OSSL3 := libcommons-crypto-ossl3.so
Linux-aarch64_COMMONS_CRYPTO_FLAGS  :=

Mac-x86_CC        := gcc -arch i386
Mac-x86_CXX       := g++ -arch i386
Mac-x86_STRIP     := strip -x
Mac-x86_CFLAGS    := -Ilib/inc_mac -I"$(JAVA_HOME)/include" -O2 -fPIC -mmacosx-version-min=10.4 -fvisibility=hidden -I/usr/local/include -I/usr/local/opt/openssl/include
Mac-x86_CXXFLAGS  := -Ilib/inc_mac -I"$(JAVA_HOME)/include" -O2 -fPIC -mmacosx-version-min=10.4 -fvisibility=hidden -I/usr/local/include -I/usr/local/opt/openssl/include
Mac-x86_LINKFLAGS := -dynamiclib -static-libgcc -L/usr/local/lib
Mac-x86_LIBNAME   := libcommons-crypto.jnilib
Mac-x86_LIBNAME_OSSL3 := libcommons-crypto-ossl3.jnilib
Mac-x86_COMMONS_CRYPTO_FLAGS  :=

Mac-x86_64_CC        := gcc -arch $(OS_ARCH)
Mac-x86_64_CXX       := gcc -arch $(OS_ARCH)
Mac-x86_64_STRIP     := strip -x
Mac-x86_64_CFLAGS    := -Ilib/inc_mac -I"$(JAVA_HOME)/include" -O2 -fPIC -mmacosx-version-min=10.7 -fvisibility=hidden -I/usr/local/include -I/usr/local/opt/openssl/include
Mac-x86_64_CXXFLAGS  := -Ilib/inc_mac -I"$(JAVA_HOME)/include" -O2 -fPIC -mmacosx-version-min=10.7 -fvisibility=hidden -I/usr/local/include -I/usr/local/opt/openssl/include
Mac-x86_64_LINKFLAGS := -dynamiclib -L/usr/local/lib
Mac-x86_64_LIBNAME   := libcommons-crypto.jnilib
Mac-x86_64_LIBNAME_OSSL3 := libcommons-crypto-ossl3.jnilib
Mac-x86_64_COMMONS_CRYPTO_FLAGS  :=

FreeBSD-x86_64_CC           := $(CROSS_PREFIX)gcc
FreeBSD-x86_64_CXX          := $(CROSS_PREFIX)g++
FreeBSD-x86_64_STRIP        := $(CROSS_PREFIX)strip
FreeBSD-x86_64_CFLAGS       := -I"$(JAVA_HOME)/include" -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden
FreeBSD-x86_64_CXXFLAGS     := -I"$(JAVA_HOME)/include" -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden
FreeBSD-x86_64_LINKFLAGS    := -shared -static-libgcc
FreeBSD-x86_64_LIBNAME      := libcommons-crypto.so
FreeBSD-x86_64_LIBNAME_OSSL3 := libcommons-crypto-ossl3.so
FreeBSD-x86_64_COMMONS_CRYPTO_FLAGS :=

Windows-x86_CC           := $(CROSS_PREFIX)gcc
Windows-x86_CXX          := $(CROSS_PREFIX)g++
Windows-x86_STRIP        := $(CROSS_PREFIX)strip
Windows-x86_CFLAGS       := -I/usr/share/mingw-w64/include -I"$(JAVA_HOME)/include" -I"$(OPENSSL_HOME)/include" -Ilib/inc_win -O2 -fno-inline
Windows-x86_CXXFLAGS     := -I/usr/share/mingw-w64/include -I"$(JAVA_HOME)/include" -I"$(OPENSSL_HOME)/include" -Ilib/inc_win -O2 -fno-inline
Windows-x86_LINKFLAGS    := -Wl,--kill-at -shared -static
Windows-x86_LIBNAME      := commons-crypto.dll
Windows-x86_LIBNAME_OSSL3 := commons-crypto-ossl3.dll
Windows-x86_COMMONS_CRYPTO_FLAGS :=

Windows-x86_64_CC           := $(CROSS_PREFIX)gcc
Windows-x86_64_CXX          := $(CROSS_PREFIX)g++
Windows-x86_64_STRIP        := $(CROSS_PREFIX)strip
Windows-x86_64_CFLAGS       := -I/usr/share/mingw-w64/include -I"$(JAVA_HOME)/include" -I"$(OPENSSL_HOME)/include" -Ilib/inc_win -O2 -fno-inline
Windows-x86_64_CXXFLAGS     := -I/usr/share/mingw-w64/include -I"$(JAVA_HOME)/include" -I"$(OPENSSL_HOME)/include" -Ilib/inc_win -O2 -fno-inline
Windows-x86_64_LINKFLAGS    := -Wl,--kill-at -shared -static
Windows-x86_64_LIBNAME      := commons-crypto.dll
Windows-x86_64_LIBNAME_OSSL3 := commons-crypto-ossl3.dll
Windows-x86_64_COMMONS-CRYPTO_FLAGS :=


STRIP     := $($(os_arch)_STRIP)
CC        := $($(os_arch)_CC)
CXX       := $($(os_arch)_CXX)
STRIP     := $($(os_arch)_STRIP)
CFLAGS    := $($(os_arch)_CFLAGS)
CXXFLAGS  := $($(os_arch)_CXXFLAGS)
LINKFLAGS := $($(os_arch)_LINKFLAGS)
LIBNAME   := $($(os_arch)_LIBNAME)
LIBNAME_OSSL3 := $($(os_arch)_LIBNAME_OSSL3)
COMMONS-CRYPTO_FLAGS := $($(os_arch)_COMMONS-CRYPTO_FLAGS)


CFLAGS := $(CFLAGS) -Ilib/include -I/usr/include -I"$(SRC_NATIVE)/org/apache/commons/crypto/"
CXXFLAGS := $(CXXFLAGS) -Ilib/include  -I/usr/include
ifneq ($(jni_include),)
CFLAGS := $(CFLAGS) -I"$(jni_include)" -I"$(TARGET)/jni-classes"
CXXFLAGS := $(CXXFLAGS) -I"$(jni_include)" -I"$(TARGET)/jni-classes"
endif
