#############################################################
# Makefile to build iiiasn1 in toolchain
#
#

TOPDIR=..
LIBNAME=iiiasn
include $(TOPDIR)/Makefiles/Repo-defines.mk

EMPIRIX_CFLAGS := -fPIC -fpermissive $(EMPIRIX_LDFLAGS) -Wno-deprecated-declarations

.PHONY: all clean distclean regen_precompiled

all:
	rm -rf iiiasn1-2_12
	tar -xf iiiasn1-2_12-empirix.tar.gz
	mkdir -p $(PRECOMPILED_DIR) include
	cd iiiasn1-2_12 && \
		find . -print | xargs touch -t200303201900 && \
		mkdir -p ./build/$(BUILDID) && \
		mkdir -p ./build/noarch && \
		chmod +x ./configure && \
		CC=$(TOOLBIN)/gcc CXX=$(TOOLBIN)/g++ AR=$(TOOLBIN)/ar RANLIB=$(TOOLBIN)/ranlib \
		CFLAGS="$(EMPIRIX_CFLAGS)" CPPFLAGS="$(EMPIRIX_CFLAGS)" \
		LDFLAGS="$(EMPIRIX_LDFLAGS) $(ADDITIONAL_RPATHS_LINKER_FLAGS)" \
		PATH=$(TOOLBIN):${PATH} \
		./configure --host=$(ARCH)-unknown-linux-gnu --target=$(ARCH)-unknown-linux-gnu \
					--prefix=`pwd`/build/noarch/ --exec-prefix=`pwd`/build/$(BUILDID)/ \
					--enable-avn --disable-thread --disable-allocator
	# IMPORTANT: these makefiles do not support parallel building so use "make", not $(MAKE)
	cd iiiasn1-2_12 && \
		make -j1 && \
		make install
	cd iiiasn1-2_12 && \
		make -j1 SUBDIRS=asnparser
	cp -avf iiiasn1-2_12/build/noarch/include/*.h include/
	cp -avf iiiasn1-2_12/build/noarch/include/*.inl include/
	# for some reason we need in the include folder also a .cxx file:
	cp -avf iiiasn1-2_12/build/noarch/include/h235_security_messages_t.cxx include/
	cp -avf iiiasn1-2_12/build/$(BUILDID)/lib/*.a $(PRECOMPILED_DIR)/
	patch -p0 < empirix-headers.patch

clean_build_intermediate_artifacts:
	rm -rf iiiasn1-2_12

clean_build_outputs: clean
	rm -f $(PRECOMPILED_DIR)/*.a*


HAS_INSTALL_SUPPORT=2
include $(TOPDIR)/Makefiles/ThirdPartyTargetHelpers.mk

install_libs::
ifndef DESTDIR
	@echo "*** ERROR: please call this makefile supplying explicitly the DESTDIR variable"
	@exit 1
endif
	@echo "Installing $(LIBNAME) third party library to $(DESTDIR)"
	@mkdir --parents                   $(DESTDIR)
	@cp -af $(VERBOSE_FLAG) $(PRECOMPILED_DIR)/lib*.a        $(DESTDIR)

install_headers::
ifndef DESTDIR
	@echo "*** ERROR: please call this makefile supplying explicitly the DESTDIR variable"
	@exit 1
endif
	@echo "Installing $(LIBNAME) third party library header files to $(DESTDIR)"
	@mkdir --parents                        $(DESTDIR)/iiiasn
	@cp -afr $(VERBOSE_FLAG) include/*      $(DESTDIR)/iiiasn/
