#
# Copyright © 2015-2024 Koherence, LLC (www.koherence.com).
# All Rights Reserved.
#

ifeq ($(strip $(BUILD_ARCH)),)
BUILD_ARCH := x86_64
endif

UNAME_OS := $(shell lsb_release -si)
ifeq ($(UNAME_OS),Ubuntu)
INSTALL_OS := ubuntu
else ifeq ($(UNAME_OS),RockyLinux)
INSTALL_OS := rhel
else ifeq ($(UNAME_OS),Rocky)
INSTALL_OS := rhel
else
$(error Unknown OS $(UNAME_OS))
endif


CFLAGS_MSHSTK ?= -mshstk

ifeq ($(strip $(ENABLE_RZR)),)
ENABLE_RZR := no
endif

ifeq ($(strip $(ENABLE_RZR)),yes)
RZR_COMPONENTS := airwavz/librzrsdk2
RZR_LEGACY_COMPONENTS := airwavz/libklatsc30device
CONFIG_RZR := --enable-rzr
endif

ifeq ($(strip $(ENABLE_HDHR)),)
ENABLE_HDHR := no
endif

ifeq ($(strip $(ENABLE_HDHR)),yes)
HDHR_COMPONENTS := silicondust/libhdhomerun opensource/openssl	opensource/curl 
CONFIG_HDHR := --enable-hdhr
endif

# Tools required for this build 
BUILDTOOLS := \
	opensource/libtool

# Non-source directories
BUILDDIRS := \
	staging \
	packagedir

# Components to build, in build order
COMPONENTS := \
	opensource/zlib \
	opensource/libxml2 \
	opensource/multipart-parser \
	opensource/openssl \
	libendebug-stub \
	libenutils-base \
	$(RZR_COMPONENTS) \
	$(HDHR_COMPONENTS) \
	enatsc3-base/enatsc3-common \
	enatsc3-base/libenatsc3utils \
	enatsc3-base/enatsc3cap \
	enatsc3-base/libenatsc3j288alp \
	enatsc3-base/libenatsc3baseband \
	enatsc3-base/libenatsc3alp \
	enatsc3-base/libenatsc3filereader \
	enatsc3-base/libenatsc3ipv4 \
	enatsc3-base/libenatsc3lls \
	enatsc3-base/libenatsc3ssp \
	enatsc3-base/libenatsc3sls \
	enatsc3-base/libenatsc3route \
	enatsc3-base/libenatsc3dashfeeder \
	enatsc3-base/libenatsc3mmtp \
	enatsc3-base/libenatsc3esg \
	enatsc3-base/enatsc3-examples \
	enatsc3-base/enatsc3-tools \
	build-done-messages

# Intermediate target for automatic install
STAGING := $(CURDIR)/staging

BUILDDATE := $(shell date -u +%Y%m%d-%H%M%SUTC)
CFLAGS := -O0 -g -Wall -Werror=incompatible-pointer-types  -Wno-stringop-truncation 
CPPFLAGS := -DBUILDDATE="\\\"$(BUILDDATE)\\\""
CXXFLAGS := -O0 -g -Wall -Werror=incompatible-pointer-types
LDFLAGS := -Wl,-rpath,/opt/enatsc3fe/lib -Wl,-rpath,/opt/enatsc3fe/lib64

FFMPEG_CFLAGS := -O3 -Wall $(CFLAGS_MSHSTK) -fstack-clash-protection -fstack-protector-all
FFMPEG_CXXFLAGS := -O3 -Wall $(CFLAGS_MSHSTK) -fstack-clash-protection -fstack-protector-all

ENABLE_DEBUG := --enable-debug
ENTANGLE_LOG_DIR := /var/log/enatsc3fe
ENTANGLE_CONFIG_FILENAME := /etc/entangle/enatsc3fe.conf

FULLCLEAN_ALLDIR_OBJECTS := -name Makefile.in -o -name .deps
FULLCLEAN_TOPDIR_OBJECTS := autom4te.cache build-aux aclocal.m4 config.h.in config.h.in~ configure

all: $(BUILDTOOLS) $(BUILDDIRS) $(COMPONENTS) 

install: $(COMPONENTS:%=%-install)

package-clean:
	rm -rf $(PACKAGEDIR)

package: package-clean $(BUILDDIRS:%=%-package) $(COMPONENTS:%=%-package)

debpackage-clean:
	rm -rf $(DEBPACKAGEDIR)

debpackage: debpackage-clean $(BUILDDIRS:%=%-debpackage) $(COMPONENTS:%=%-debpackage)

clean: $(BUILDDIRS:%=%-clean) $(COMPONENTS:%=%-clean) 

distclean: $(BUILDDIRS:%=%-distclean) $(COMPONENTS:%=%-distclean) 

maintainer-clean: $(BUILDDIRS:%=%-maintainer-clean) $(COMPONENTS:%=%-maintainer-clean) 

fullclean: $(BUILDDIRS:%=%-fullclean) $(COMPONENTS:%=%-fullclean) 

SRCROOT := $(shell pwd)

# Intermediate target for binaries to be packaged
PACKAGEDIR := $(CURDIR)/package/stage
DEBPACKAGEDIR := $(CURDIR)/debpackage

# Final target is rootfs. Bare necessities only.
DESTDIR := $(INSTALLDIR)

export LIBTOOLIZE := $(SRCROOT)/bin/libtoolize

ifeq ($(INSTALL_OS),ubuntu)
PKG_CONFIG_LIBDIR := $(STAGING)/opt/enatsc3fe/lib/pkgconfig:$(STAGING)/opt/enatsc3fe/lib64/pkgconfig:/lib/x86_64-linux-gnu/pkgconfig
else ifeq ($(INSTALL_OS),rhel)
PKG_CONFIG_LIBDIR := $(STAGING)/opt/enatsc3fe/lib/pkgconfig:$(STAGING)/opt/enatsc3fe/lib64/pkgconfig:/lib64/pkgconfig
else
$(error Unknown INSTALL_OS $(INSTALL_OS))
endif

CONFIG_FLAGS := --prefix=/opt/enatsc3fe \
	--sysconfdir=/etc \
	--with-sysroot=$(STAGING) \
	LD_LIBRARY_PATH="$(STAGING)/opt/enatsc3fe/lib:$(STAGING)/opt/enatsc3fe/lib64" \
	CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
	CPPFLAGS="$(CPPFLAGS)" \
	LDFLAGS="$(LDFLAGS) -L$(STAGING)/opt/enatsc3fe/lib -L$(STAGING)/opt/enatsc3fe/lib64" PKG_CONFIG_LIBDIR="$(PKG_CONFIG_LIBDIR)"

######################################################################
# staging

staging:
	mkdir -p $(STAGING)

staging-clean:
	-rm -rf $(STAGING)

staging-distclean:

staging-maintainer-clean:

staging-package:

staging-debpackage:

staging-install:

staging-fullclean:


######################################################################
# packagedir

packagedir:
	mkdir -p $(PACKAGEDIR)

packagedir-clean:
	-rm -rf $(PACKAGEDIR)

packagedir-distclean:

packagedir-maintainer-clean:

packagedir-fullclean:

packagedir-package:

packagedir-debpackage:

packagedir-install:

######################################################################
# debpackagedir

debpackagedir:
	mkdir -p $(DEBPACKAGEDIR)

debpackagedir-clean:
	-rm -rf $(DEBPACKAGEDIR)

debpackagedir-distclean:

debpackagedir-maintainer-clean:

debpackagedir-fullclean:

debpackagedir-package:

debpackagedir-debpackage:

debpackagedir-install:

######################################################################
# libtool

$(SRCROOT)/opensource/libtool/configure: $(SRCROOT)/opensource/libtool/configure.ac
	cd $(SRCROOT)/opensource/libtool && autoreconf
	cd $(SRCROOT)/opensource/libtool/libltdl && autoreconf

$(SRCROOT)/opensource/libtool/Makefile: $(SRCROOT)/opensource/libtool/configure
	cd $(SRCROOT)/opensource/libtool && ./configure \
		--prefix=$(SRCROOT) \
		--disable-ltdl-install
	make -C $(SRCROOT)/opensource/libtool clean

.PHONY: opensource/libtool
opensource/libtool: $(SRCROOT)/opensource/libtool/Makefile
	make -C $(SRCROOT)/opensource/libtool
	make -C $(SRCROOT)/opensource/libtool install

.PHONY: opensource/libtool-clean
opensource/libtool-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: opensource/libtool-distclean
opensource/libtool-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: opensource/libtool-maintainer-clean
opensource/libtool-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: opensource/libtool-fullclean
opensource/libtool-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf {} \;)

######################################################################
# zlib

$(SRCROOT)/opensource/zlib/Makefile: $(SRCROOT)/opensource/zlib/configure
	cd $(SRCROOT)/opensource/zlib && ./configure \
		--prefix=/opt/enatsc3fe
	$(MAKE) -C $(SRCROOT)/opensource/zlib clean

.PHONY: opensource/zlib
opensource/zlib: staging packagedir $(SRCROOT)/opensource/zlib/Makefile
	$(MAKE) -C $(SRCROOT)/opensource/zlib
	$(MAKE) -C $(SRCROOT)/opensource/zlib DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/zlib.pc

.PHONY: opensource/zlib-install
opensource/zlib-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libz.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: opensource/zlib-package
opensource/zlib-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libz.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: opensource/zlib-debpackage
opensource/zlib-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libz.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: opensource/zlib-clean
opensource/zlib-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: opensource/zlib-distclean
opensource/zlib-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: opensource/zlib-maintainer-clean
opensource/zlib-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: opensource/zlib-fullclean
opensource/zlib-fullclean:

######################################################################
# libxml2

$(SRCROOT)/opensource/libxml2/configure: $(SRCROOT)/opensource/libxml2/configure.ac
	rm -f $(SRCROOT)/opensource/libxml2/configure
	cd $(SRCROOT)/opensource/libxml2 && autoreconf -i -I m4

$(SRCROOT)/opensource/libxml2/Makefile: $(SRCROOT)/opensource/libxml2/configure
	cd $(SRCROOT)/opensource/libxml2 && ./configure $(CONFIG_FLAGS) \
		--without-ftp --without-docbook --without-python --without-schematron --disable-rebuild-docs
	$(MAKE) -C $(SRCROOT)/opensource/libxml2 clean

.PHONY: opensource/libxml2
opensource/libxml2: staging packagedir $(SRCROOT)/opensource/libxml2/Makefile
	$(MAKE) -C $(SRCROOT)/opensource/libxml2
	$(MAKE) -C $(SRCROOT)/opensource/libxml2 DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libxml-2.0.pc

.PHONY: opensource/libxml2-install
opensource/libxml2-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libxml2.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: opensource/libxml2-package
opensource/libxml2-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libxml2.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: opensource/libxml2-debpackage
opensource/libxml2-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libxml2.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: opensource/libxml2-clean
opensource/libxml2-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: opensource/libxml2-distclean
opensource/libxml2-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: opensource/libxml2-maintainer-clean
opensource/libxml2-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: opensource/libxml2-fullclean
opensource/libxml2-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf {} \;)

######################################################################
# curl

$(SRCROOT)/opensource/curl/Makefile: $(SRCROOT)/opensource/curl/configure.ac
	cd $(SRCROOT)/opensource/curl && autoreconf -I m4 -f -i
	cd $(SRCROOT)/opensource/curl && ./configure $(CONFIG_FLAGS) \
		--with-ssl=$(STAGING)/opt/enatsc3fe
	$(MAKE) -C $(SRCROOT)/opensource/curl clean

.PHONY: opensource/curl
opensource/curl: staging packagedir $(SRCROOT)/opensource/curl/Makefile
	$(MAKE) -C $(SRCROOT)/opensource/curl
	$(MAKE) -C $(SRCROOT)/opensource/curl DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libcurl.pc

.PHONY: opensource/curl-install
opensource/curl-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libcurl.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: opensource/curl-package
opensource/curl-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libcurl.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: opensource/curl-debpackage
opensource/curl-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libcurl.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: opensource/curl-clean
opensource/curl-clean:
	-$(MAKE) -C $(SRCROOT)/opensource/curl clean

.PHONY: opensource/curl-distclean
opensource/curl-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: opensource/curl-maintainer-clean
opensource/curl-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: opensource/curl-fullclean
opensource/curl-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -f Makefile)
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf {} \;)

######################################################################
# openssl

$(SRCROOT)/opensource/openssl/Makefile: $(SRCROOT)/opensource/openssl/Configure
	rm -f $(SRCROOT)/opensource/openssl/test/evptests.txt # copied by Configure
	cd $(SRCROOT)/opensource/openssl && CC= ./Configure \
		shared enable-md2 \
		--prefix=/opt/enatsc3fe --libdir=lib64 --openssldir=/opt/enatsc3fe/openssl \
		linux-$(BUILD_ARCH)-enatsc30
	$(MAKE) -C $(SRCROOT)/opensource/openssl clean

.PHONY: opensource/openssl
opensource/openssl: staging packagedir $(SRCROOT)/opensource/openssl/Makefile
	$(MAKE) -C $(SRCROOT)/opensource/openssl
	$(MAKE) -C $(SRCROOT)/opensource/openssl install_sw DESTDIR=$(STAGING)
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib64/pkgconfig/libcrypto.pc || sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libcrypto.pc
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib64/pkgconfig/libssl.pc || sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libssl.pc
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib64/pkgconfig/openssl.pc || sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/openssl.pc

.PHONY: opensource/openssl-install
opensource/openssl-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib64
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libcryptoenatsc30.so* $(DESTDIR)/opt/enatsc3fe/lib || cp -pdf $(STAGING)/opt/enatsc3fe/lib64/libcryptoenatsc30.so* $(DESTDIR)/opt/enatsc3fe/lib64
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libsslenatsc30.so* $(DESTDIR)/opt/enatsc3fe/lib || cp -pdf $(STAGING)/opt/enatsc3fe/lib64/libsslenatsc30.so* $(DESTDIR)/opt/enatsc3fe/lib64
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin

.PHONY: opensource/openssl-package
opensource/openssl-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib64
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libcryptoenatsc30.so* $(PACKAGEDIR)/opt/enatsc3fe/lib || cp -pdf $(STAGING)/opt/enatsc3fe/lib64/libcryptoenatsc30.so* $(PACKAGEDIR)/opt/enatsc3fe/lib64
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libsslenatsc30.so* $(PACKAGEDIR)/opt/enatsc3fe/lib || cp -pdf $(STAGING)/opt/enatsc3fe/lib64/libsslenatsc30.so* $(PACKAGEDIR)/opt/enatsc3fe/lib64

.PHONY: opensource/openssl-debpackage
opensource/openssl-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib64
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libcryptoenatsc30.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib || cp -pdf $(STAGING)/opt/enatsc3fe/lib64/libcryptoenatsc30.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib64
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libsslenatsc30.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib || cp -pdf $(STAGING)/opt/enatsc3fe/lib64/libsslenatsc30.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib64

.PHONY: opensource/openssl-clean
opensource/openssl-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: opensource/openssl-distclean
opensource/openssl-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: opensource/openssl-maintainer-clean
opensource/openssl-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: opensource/openssl-fullclean
opensource/openssl-fullclean:

######################################################################
# libmultipartparser

$(SRCROOT)/opensource/multipart-parser/configure: $(SRCROOT)/opensource/multipart-parser/configure.ac
	rm -f $(SRCROOT)/opensource/multipart-parser/configure
	cd $(SRCROOT)/opensource/multipart-parser && autoreconf -I m4 -f -i

$(SRCROOT)/opensource/multipart-parser/Makefile: $(SRCROOT)/opensource/multipart-parser/configure
	cd $(SRCROOT)/opensource/multipart-parser && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/opensource/multipart-parser clean

.PHONY: opensource/multipart-parser
opensource/multipart-parser: staging packagedir $(SRCROOT)/opensource/multipart-parser/Makefile
	$(MAKE) -C $(SRCROOT)/opensource/multipart-parser
	$(MAKE) -C $(SRCROOT)/opensource/multipart-parser DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libmultipartparser.pc

.PHONY: opensource/multipart-parser-install
opensource/multipart-parser-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libmultipartparser.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: opensource/multipart-parser-package
opensource/multipart-parser-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libmultipartparser.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: opensource/multipart-parser-debpackage
opensource/multipart-parser-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libmultipartparser.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: opensource/multipart-parser-clean
opensource/multipart-parser-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: opensource/multipart-parser-distclean
opensource/multipart-parser-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: opensource/multipart-parser-maintainer-clean
opensource/multipart-parser-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: opensource/multipart-parser-fullclean
opensource/multipart-parser-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf {} \;)

######################################################################
# silicondust/libhdhomerun

$(SRCROOT)/silicondust/libhdhomerun/configure: Makefile $(SRCROOT)/silicondust/libhdhomerun/configure.ac
	cd $(SRCROOT)/silicondust/libhdhomerun && autoreconf -I m4 -f -i
	touch $(SRCROOT)/silicondust/libhdhomerun/configure

$(SRCROOT)/silicondust/libhdhomerun/Makefile: $(SRCROOT)/silicondust/libhdhomerun/configure
	cd $(SRCROOT)/silicondust/libhdhomerun && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG) $(ENABLE_REALTIME_PROFILING) --enable-entangle
	$(MAKE) -C $(SRCROOT)/silicondust/libhdhomerun clean

.PHONY: silicondust/libhdhomerun
silicondust/libhdhomerun: staging packagedir $(SRCROOT)/silicondust/libhdhomerun/Makefile
	$(MAKE) -C $(SRCROOT)/silicondust/libhdhomerun
	$(MAKE) -C $(SRCROOT)/silicondust/libhdhomerun DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libhdhomerun.pc

.PHONY: silicondust/libhdhomerun-install
silicondust/libhdhomerun-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libhdhomerun.so* $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/bin/hdhomerun_config $(DESTDIR)/opt/enatsc3fe/bin

.PHONY: silicondust/libhdhomerun-package
silicondust/libhdhomerun-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/bin
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libhdhomerun.so* $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/bin/hdhomerun_config $(PACKAGEDIR)/opt/enatsc3fe/bin

.PHONY: silicondust/libhdhomerun-debpackage
silicondust/libhdhomerun-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/bin
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libhdhomerun.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/bin/hdhomerun_config $(DEBPACKAGEDIR)/opt/enatsc3fe/bin

.PHONY: silicondust/libhdhomerun-clean
silicondust/libhdhomerun-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: silicondust/libhdhomerun-distclean
silicondust/libhdhomerun-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: silicondust/libhdhomerun-maintainer-clean
silicondust/libhdhomerun-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: silicondust/libhdhomerun-fullclean
silicondust/libhdhomerun-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libklatsc30device

$(SRCROOT)/airwavz/libklatsc30device/configure: Makefile $(SRCROOT)/airwavz/libklatsc30device/configure.ac
	cd $(SRCROOT)/airwavz/libklatsc30device && autoreconf -I m4 -f -i
	touch $(SRCROOT)/airwavz/libklatsc30device/configure

$(SRCROOT)/airwavz/libklatsc30device/Makefile: $(SRCROOT)/airwavz/libklatsc30device/configure
	cd $(SRCROOT)/airwavz/libklatsc30device && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/airwavz/libklatsc30device clean

.PHONY: airwavz/libklatsc30device
airwavz/libklatsc30device: staging packagedir $(SRCROOT)/airwavz/libklatsc30device/Makefile
	$(MAKE) -C $(SRCROOT)/airwavz/libklatsc30device
	mkdir -p $(STAGING)/opt/enatsc3fe/include
	rm -rf $(STAGING)/opt/enatsc3fe/include/libklatsc30device
	cp -rpdf $(SRCROOT)/airwavz/libklatsc30device/include/libklatsc30device $(STAGING)/opt/enatsc3fe/include/
	mkdir -p $(STAGING)/opt/enatsc3fe/lib
	mkdir -p $(STAGING)/opt/enatsc3fe/lib/pkgconfig
	$(MAKE) -C $(SRCROOT)/airwavz/libklatsc30device DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libklatsc30device.pc

.PHONY: airwavz/libklatsc30device-install
airwavz/libklatsc30device-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: airwavz/libklatsc30device-package
airwavz/libklatsc30device-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: airwavz/libklatsc30device-debpackage
airwavz/libklatsc30device-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: airwavz/libklatsc30device-clean
airwavz/libklatsc30device-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: airwavz/libklatsc30device-distclean
airwavz/libklatsc30device-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: airwavz/libklatsc30device-maintainer-clean
airwavz/libklatsc30device-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: airwavz/libklatsc30device-fullclean
airwavz/libklatsc30device-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# librzrsdk2

$(SRCROOT)/airwavz/librzrsdk2/configure: Makefile $(SRCROOT)/airwavz/librzrsdk2/configure.ac
	cd $(SRCROOT)/airwavz/librzrsdk2 && autoreconf -I m4 -f -i
	touch $(SRCROOT)/airwavz/librzrsdk2/configure

$(SRCROOT)/airwavz/librzrsdk2/Makefile: $(SRCROOT)/airwavz/librzrsdk2/configure
	cd $(SRCROOT)/airwavz/librzrsdk2 && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/airwavz/librzrsdk2 clean

.PHONY: airwavz/librzrsdk2
airwavz/librzrsdk2: staging packagedir $(SRCROOT)/airwavz/librzrsdk2/Makefile
	$(MAKE) -C $(SRCROOT)/airwavz/librzrsdk2
	mkdir -p $(STAGING)/opt/enatsc3fe/lib
	rm -rf $(STAGING)/opt/enatsc3fe/lib/libredzone_c_api.so*
	rm -rf $(STAGING)/opt/enatsc3fe/lib/libredzone_c_vdev_api.so*
	rm -rf $(STAGING)/opt/enatsc3fe/lib/libRedZoneATSC3Parsers.so*
	cp -rpdf $(SRCROOT)/airwavz/librzrsdk2/lib/libredzone_api.so* $(STAGING)/opt/enatsc3fe/lib
	cp -rpdf $(SRCROOT)/airwavz/librzrsdk2/lib/libredzone_c_api.so* $(STAGING)/opt/enatsc3fe/lib
	cp -rpdf $(SRCROOT)/airwavz/librzrsdk2/lib/libredzone_c_vdev_api.so* $(STAGING)/opt/enatsc3fe/lib
	cp -rpdf $(SRCROOT)/airwavz/librzrsdk2/lib/libRedZoneATSC3Parsers.so* $(STAGING)/opt/enatsc3fe/lib
	$(MAKE) -C $(SRCROOT)/airwavz/librzrsdk2 DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/librzrsdk2.pc

.PHONY: airwavz/librzrsdk2-install
airwavz/librzrsdk2-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libredzone_api.so* $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libredzone_c_api.so* $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libRedZoneATSC3Parsers.so* $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/bin/rzrscan $(DESTDIR)/opt/enatsc3fe/bin

.PHONY: airwavz/librzrsdk2-package
airwavz/librzrsdk2-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/bin
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libredzone_api.so* $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libredzone_c_api.so* $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libRedZoneATSC3Parsers.so* $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/bin/rzrscan $(PACKAGEDIR)/opt/enatsc3fe/bin
	mkdir -p $(PACKAGEDIR)/etc/udev/rules.d
	cp -pdf $(SRCROOT)/airwavz/librzrsdk2/config/udev/rules.d/* $(PACKAGEDIR)/etc/udev/rules.d

.PHONY: airwavz/librzrsdk2-debpackage
airwavz/librzrsdk2-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/bin
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libredzone_api.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libredzone_c_api.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libRedZoneATSC3Parsers.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/bin/rzrscan $(DEBPACKAGEDIR)/opt/enatsc3fe/bin
	mkdir -p $(DEBPACKAGEDIR)/etc/udev/rules.d
	cp -pdf $(SRCROOT)/airwavz/librzrsdk2/config/udev/rules.d/* $(DEBPACKAGEDIR)/etc/udev/rules.d

.PHONY: airwavz/librzrsdk2-clean
airwavz/librzrsdk2-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: airwavz/librzrsdk2-distclean
airwavz/librzrsdk2-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: airwavz/librzrsdk2-maintainer-clean
airwavz/librzrsdk2-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: airwavz/librzrsdk2-fullclean
airwavz/librzrsdk2-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# airwavz/libklatsc30device_shim

$(SRCROOT)/airwavz/libklatsc30device_shim/configure: Makefile $(SRCROOT)/airwavz/libklatsc30device_shim/configure.ac
	cd $(SRCROOT)/airwavz/libklatsc30device_shim && autoreconf -I m4 -f -i
	touch $(SRCROOT)/airwavz/libklatsc30device_shim/configure

$(SRCROOT)/airwavz/libklatsc30device_shim/Makefile: $(SRCROOT)/airwavz/libklatsc30device_shim/configure
	cd $(SRCROOT)/airwavz/libklatsc30device_shim && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG) 
	$(MAKE) -C $(SRCROOT)/airwavz/libklatsc30device_shim clean

.PHONY: airwavz/libklatsc30device_shim
airwavz/libklatsc30device_shim: staging packagedir $(SRCROOT)/airwavz/libklatsc30device_shim/Makefile
	$(MAKE) -C $(SRCROOT)/airwavz/libklatsc30device_shim
	$(MAKE) -C $(SRCROOT)/airwavz/libklatsc30device_shim DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libklatsc30device_shim.pc

.PHONY: airwavz/libklatsc30device_shim-install
airwavz/libklatsc30device_shim-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libklatsc30device_shim.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: airwavz/libklatsc30device_shim-package
airwavz/libklatsc30device_shim-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libklatsc30device_shim.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: airwavz/libklatsc30device_shim-debpackage
airwavz/libklatsc30device_shim-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libklatsc30device_shim.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: airwavz/libklatsc30device_shim-clean
airwavz/libklatsc30device_shim-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: airwavz/libklatsc30device_shim-distclean
airwavz/libklatsc30device_shim-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: airwavz/libklatsc30device_shim-maintainer-clean
airwavz/libklatsc30device_shim-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: airwavz/libklatsc30device_shim-fullclean
airwavz/libklatsc30device_shim-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libendebug-stub

$(SRCROOT)/libendebug-stub/configure: Makefile $(SRCROOT)/libendebug-stub/configure.ac
	cd $(SRCROOT)/libendebug-stub && autoreconf -I m4 -f -i
	touch $(SRCROOT)/libendebug-stub/configure

$(SRCROOT)/libendebug-stub/Makefile: $(SRCROOT)/libendebug-stub/configure
	cd $(SRCROOT)/libendebug-stub && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG) 
	$(MAKE) -C $(SRCROOT)/libendebug-stub clean

.PHONY: libendebug-stub
libendebug-stub: staging packagedir $(SRCROOT)/libendebug-stub/Makefile
	$(MAKE) -C $(SRCROOT)/libendebug-stub
	$(MAKE) -C $(SRCROOT)/libendebug-stub DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libendebug.pc

.PHONY: libendebug-stub-install
libendebug-stub-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libendebug-stub.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: libendebug-stub-package
libendebug-stub-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libendebug-stub.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: libendebug-stub-clean
libendebug-stub-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: libendebug-stub-distclean
libendebug-stub-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: libendebug-stub-maintainer-clean
libendebug-stub-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: libendebug-stub-fullclean
libendebug-stub-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libenutils-base

$(SRCROOT)/libenconfig/configure: Makefile $(SRCROOT)/libenconfig/configure.ac
	cd $(SRCROOT)/libenconfig && autoreconf -I m4 -f -i
	touch $(SRCROOT)/libenconfig/configure

$(SRCROOT)/libenconfig/Makefile: $(SRCROOT)/libenconfig/configure
	cd $(SRCROOT)/libenconfig && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG) ENTANGLE_LOG_DIR=$(ENTANGLE_LOG_DIR) ENTANGLE_CONFIG_FILENAME=$(ENTANGLE_CONFIG_FILENAME)
	$(MAKE) -C $(SRCROOT)/libenconfig clean

.PHONY: libenconfig
libenconfig: staging packagedir $(SRCROOT)/libenconfig/Makefile
	$(MAKE) -C $(SRCROOT)/libenconfig
	$(MAKE) -C $(SRCROOT)/libenconfig DESTDIR=$(STAGING) install

.PHONY: libenconfig-install
libenconfig-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenconfig.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: libenconfig-package
libenconfig-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenconfig.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: libenconfig-debpackage
libenconfig-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenconfig.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: libenconfig-clean
libenconfig-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: libenconfig-distclean
libenconfig-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: libenconfig-maintainer-clean
libenconfig-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: libenconfig-fullclean
libenconfig-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)


######################################################################

$(SRCROOT)/libenutils-base/configure: Makefile $(SRCROOT)/libenutils-base/configure.ac
	cd $(SRCROOT)/libenutils-base && autoreconf -I m4 -f -i
	touch $(SRCROOT)/libenutils-base/configure

$(SRCROOT)/libenutils-base/Makefile: $(SRCROOT)/libenutils-base/configure
	cd $(SRCROOT)/libenutils-base && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG) \
		--enable-crypto_libcrypto
	$(MAKE) -C $(SRCROOT)/libenutils-base clean

.PHONY: libenutils-base
libenutils-base: staging packagedir $(SRCROOT)/libenutils-base/Makefile
	$(MAKE) -C $(SRCROOT)/libenutils-base
	$(MAKE) -C $(SRCROOT)/libenutils-base DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libenutils.pc

.PHONY: libenutils-base-install
libenutils-base-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenutils-base.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: libenutils-base-package
libenutils-base-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenutils-base.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: libenutils-base-clean
libenutils-base-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: libenutils-base-distclean
libenutils-base-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: libenutils-base-maintainer-clean
libenutils-base-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: libenutils-base-fullclean
libenutils-base-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# enatsc3-base/enatsc3cap

$(SRCROOT)/enatsc3-base/enatsc3cap/configure: Makefile $(SRCROOT)/enatsc3-base/enatsc3cap/configure.ac
	cd $(SRCROOT)/enatsc3-base/enatsc3cap && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/enatsc3cap/configure

$(SRCROOT)/enatsc3-base/enatsc3cap/Makefile: $(SRCROOT)/enatsc3-base/enatsc3cap/configure
	cd $(SRCROOT)/enatsc3-base/enatsc3cap && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG) $(CONFIG_RZR) $(CONFIG_HDHR)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/enatsc3cap clean

.PHONY: enatsc3-base/enatsc3cap
enatsc3-base/enatsc3cap: staging packagedir $(SRCROOT)/enatsc3-base/enatsc3cap/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/enatsc3cap
	$(MAKE) -C $(SRCROOT)/enatsc3-base/enatsc3cap DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/enatsc3cap.pc

.PHONY: enatsc3-base/enatsc3cap-install
enatsc3-base/enatsc3cap-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
ifeq ($(strip $(ENABLE_RZR)),yes)
	cp -pdf $(STAGING)/opt/enatsc3fe/bin/enatsc3capcapture_rzr $(DESTDIR)/opt/enatsc3fe/bin
endif

.PHONY: enatsc3-base/enatsc3cap-package
enatsc3-base/enatsc3cap-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/bin
ifeq ($(strip $(ENABLE_RZR)),yes)
	cp -pdf $(STAGING)/opt/enatsc3fe/bin/enatsc3capcapture_rzr $(PACKAGEDIR)/opt/enatsc3fe/bin
endif

.PHONY: enatsc3-base/enatsc3cap-debpackage
enatsc3-base/enatsc3cap-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/bin
ifeq ($(strip $(ENABLE_RZR)),yes)
	cp -pdf $(STAGING)/opt/enatsc3fe/bin/enatsc3capcapture_rzr $(DEBPACKAGEDIR)/opt/enatsc3fe/bin
endif

.PHONY: enatsc3-base/enatsc3cap-clean
enatsc3-base/enatsc3cap-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/enatsc3cap-distclean
enatsc3-base/enatsc3cap-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/enatsc3cap-maintainer-clean
enatsc3-base/enatsc3cap-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/enatsc3cap-fullclean
enatsc3-base/enatsc3cap-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# enatsc3-common

$(SRCROOT)/enatsc3-base/enatsc3-common/configure: Makefile $(SRCROOT)/enatsc3-base/enatsc3-common/configure.ac
	cd $(SRCROOT)/enatsc3-base/enatsc3-common && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/enatsc3-common/configure

$(SRCROOT)/enatsc3-base/enatsc3-common/Makefile: $(SRCROOT)/enatsc3-base/enatsc3-common/configure
	cd $(SRCROOT)/enatsc3-base/enatsc3-common && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/enatsc3-common clean

.PHONY: enatsc3-base/enatsc3-common
enatsc3-base/enatsc3-common: staging packagedir $(SRCROOT)/enatsc3-base/enatsc3-common/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/enatsc3-common
	$(MAKE) -C $(SRCROOT)/enatsc3-base/enatsc3-common DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/enatsc3-common.pc

.PHONY: enatsc3-base/enatsc3-common-install
enatsc3-base/enatsc3-common-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/enatsc3-common-package
enatsc3-base/enatsc3-common-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/enatsc3-common-debpackage
enatsc3-base/enatsc3-common-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/enatsc3-common-clean
enatsc3-base/enatsc3-common-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/enatsc3-common-distclean
enatsc3-base/enatsc3-common-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/enatsc3-common-maintainer-clean
enatsc3-base/enatsc3-common-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/enatsc3-common-fullclean
enatsc3-base/enatsc3-common-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# enatsc3-examples

$(SRCROOT)/enatsc3-base/enatsc3-examples/configure: Makefile $(SRCROOT)/enatsc3-base/enatsc3-examples/configure.ac
	cd $(SRCROOT)/enatsc3-base/enatsc3-examples && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/enatsc3-examples/configure

$(SRCROOT)/enatsc3-base/enatsc3-examples/Makefile: $(SRCROOT)/enatsc3-base/enatsc3-examples/configure
	cd $(SRCROOT)/enatsc3-base/enatsc3-examples && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG) $(CONFIG_RZR) $(CONFIG_HDHR)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/enatsc3-examples clean

.PHONY: enatsc3-base/enatsc3-examples
enatsc3-base/enatsc3-examples: staging packagedir $(SRCROOT)/enatsc3-base/enatsc3-examples/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/enatsc3-examples
	$(MAKE) -C $(SRCROOT)/enatsc3-base/enatsc3-examples DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/enatsc3-examples.pc

.PHONY: enatsc3-base/enatsc3-examples-install
enatsc3-base/enatsc3-examples-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/enatsc3-examples-package
enatsc3-base/enatsc3-examples-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/enatsc3-examples-debpackage
enatsc3-base/enatsc3-examples-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/enatsc3-examples-clean
enatsc3-base/enatsc3-examples-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/enatsc3-examples-distclean
enatsc3-base/enatsc3-examples-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/enatsc3-examples-maintainer-clean
enatsc3-base/enatsc3-examples-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/enatsc3-examples-fullclean
enatsc3-base/enatsc3-examples-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# enatsc3-base/libenatsc3utils

$(SRCROOT)/enatsc3-base/libenatsc3utils/configure: Makefile $(SRCROOT)/enatsc3-base/libenatsc3utils/configure.ac
	cd $(SRCROOT)/enatsc3-base/libenatsc3utils && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/libenatsc3utils/configure

$(SRCROOT)/enatsc3-base/libenatsc3utils/Makefile: $(SRCROOT)/enatsc3-base/libenatsc3utils/configure
	cd $(SRCROOT)/enatsc3-base/libenatsc3utils && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3utils clean

.PHONY: enatsc3-base/libenatsc3utils
enatsc3-base/libenatsc3utils: staging packagedir $(SRCROOT)/enatsc3-base/libenatsc3utils/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3utils
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3utils DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libenatsc3utils.pc

.PHONY: enatsc3-base/libenatsc3utils-install
enatsc3-base/libenatsc3utils-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3utils.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3utils-package
enatsc3-base/libenatsc3utils-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3utils.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3utils-debpackage
enatsc3-base/libenatsc3utils-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3utils.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3utils-clean
enatsc3-base/libenatsc3utils-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/libenatsc3utils-distclean
enatsc3-base/libenatsc3utils-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/libenatsc3utils-maintainer-clean
enatsc3-base/libenatsc3utils-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/libenatsc3utils-fullclean
enatsc3-base/libenatsc3utils-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libenatsc3ssp

$(SRCROOT)/enatsc3-base/libenatsc3ssp/configure: Makefile $(SRCROOT)/enatsc3-base/libenatsc3ssp/configure.ac
	cd $(SRCROOT)/enatsc3-base/libenatsc3ssp && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/libenatsc3ssp/configure

$(SRCROOT)/enatsc3-base/libenatsc3ssp/Makefile: $(SRCROOT)/enatsc3-base/libenatsc3ssp/configure
	cd $(SRCROOT)/enatsc3-base/libenatsc3ssp && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3ssp clean

.PHONY: enatsc3-base/libenatsc3ssp
enatsc3-base/libenatsc3ssp: staging packagedir $(SRCROOT)/enatsc3-base/libenatsc3ssp/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3ssp
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3ssp DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libenatsc3ssp.pc

.PHONY: enatsc3-base/libenatsc3ssp-install
enatsc3-base/libenatsc3ssp-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3ssp.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3ssp-package
enatsc3-base/libenatsc3ssp-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3ssp.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3ssp-debpackage
enatsc3-base/libenatsc3ssp-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3ssp.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3ssp-clean
enatsc3-base/libenatsc3ssp-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/libenatsc3ssp-distclean
enatsc3-base/libenatsc3ssp-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/libenatsc3ssp-maintainer-clean
enatsc3-base/libenatsc3ssp-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/libenatsc3ssp-fullclean
enatsc3-base/libenatsc3ssp-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libenatsc3j288alp

$(SRCROOT)/enatsc3-base/libenatsc3j288alp/configure: Makefile $(SRCROOT)/enatsc3-base/libenatsc3j288alp/configure.ac
	cd $(SRCROOT)/enatsc3-base/libenatsc3j288alp && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/libenatsc3j288alp/configure

$(SRCROOT)/enatsc3-base/libenatsc3j288alp/Makefile: $(SRCROOT)/enatsc3-base/libenatsc3j288alp/configure
	cd $(SRCROOT)/enatsc3-base/libenatsc3j288alp && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3j288alp clean

.PHONY: enatsc3-base/libenatsc3j288alp
enatsc3-base/libenatsc3j288alp: staging packagedir $(SRCROOT)/enatsc3-base/libenatsc3j288alp/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3j288alp
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3j288alp DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libenatsc3j288alp.pc

.PHONY: enatsc3-base/libenatsc3j288alp-install
enatsc3-base/libenatsc3j288alp-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3j288alp.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3j288alp-package
enatsc3-base/libenatsc3j288alp-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3j288alp.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3j288alp-debpackage
enatsc3-base/libenatsc3j288alp-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3j288alp.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3j288alp-clean
enatsc3-base/libenatsc3j288alp-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/libenatsc3j288alp-distclean
enatsc3-base/libenatsc3j288alp-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/libenatsc3j288alp-maintainer-clean
enatsc3-base/libenatsc3j288alp-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/libenatsc3j288alp-fullclean
enatsc3-base/libenatsc3j288alp-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libenatsc3baseband

$(SRCROOT)/enatsc3-base/libenatsc3baseband/configure: Makefile $(SRCROOT)/enatsc3-base/libenatsc3baseband/configure.ac
	cd $(SRCROOT)/enatsc3-base/libenatsc3baseband && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/libenatsc3baseband/configure

$(SRCROOT)/enatsc3-base/libenatsc3baseband/Makefile: $(SRCROOT)/enatsc3-base/libenatsc3baseband/configure
	cd $(SRCROOT)/enatsc3-base/libenatsc3baseband && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3baseband clean

.PHONY: enatsc3-base/libenatsc3baseband
enatsc3-base/libenatsc3baseband: staging packagedir $(SRCROOT)/enatsc3-base/libenatsc3baseband/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3baseband
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3baseband DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libenatsc3baseband.pc

.PHONY: enatsc3-base/libenatsc3baseband-install
enatsc3-base/libenatsc3baseband-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3baseband.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3baseband-package
enatsc3-base/libenatsc3baseband-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3baseband.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3baseband-debpackage
enatsc3-base/libenatsc3baseband-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3baseband.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3baseband-clean
enatsc3-base/libenatsc3baseband-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/libenatsc3baseband-distclean
enatsc3-base/libenatsc3baseband-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/libenatsc3baseband-maintainer-clean
enatsc3-base/libenatsc3baseband-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/libenatsc3baseband-fullclean
enatsc3-base/libenatsc3baseband-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libenatsc3alp

$(SRCROOT)/enatsc3-base/libenatsc3alp/configure: Makefile $(SRCROOT)/enatsc3-base/libenatsc3alp/configure.ac
	cd $(SRCROOT)/enatsc3-base/libenatsc3alp && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/libenatsc3alp/configure

$(SRCROOT)/enatsc3-base/libenatsc3alp/Makefile: $(SRCROOT)/enatsc3-base/libenatsc3alp/configure
	cd $(SRCROOT)/enatsc3-base/libenatsc3alp && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3alp clean

.PHONY: enatsc3-base/libenatsc3alp
enatsc3-base/libenatsc3alp: staging packagedir $(SRCROOT)/enatsc3-base/libenatsc3alp/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3alp
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3alp DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libenatsc3alp.pc

.PHONY: enatsc3-base/libenatsc3alp-install
enatsc3-base/libenatsc3alp-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3alp.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3alp-package
enatsc3-base/libenatsc3alp-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3alp.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3alp-debpackage
enatsc3-base/libenatsc3alp-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3alp.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3alp-clean
enatsc3-base/libenatsc3alp-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/libenatsc3alp-distclean
enatsc3-base/libenatsc3alp-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/libenatsc3alp-maintainer-clean
enatsc3-base/libenatsc3alp-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/libenatsc3alp-fullclean
enatsc3-base/libenatsc3alp-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libenatsc3ipv4

$(SRCROOT)/enatsc3-base/libenatsc3ipv4/configure: Makefile $(SRCROOT)/enatsc3-base/libenatsc3ipv4/configure.ac
	cd $(SRCROOT)/enatsc3-base/libenatsc3ipv4 && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/libenatsc3ipv4/configure

$(SRCROOT)/enatsc3-base/libenatsc3ipv4/Makefile: $(SRCROOT)/enatsc3-base/libenatsc3ipv4/configure
	cd $(SRCROOT)/enatsc3-base/libenatsc3ipv4 && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3ipv4 clean

.PHONY: enatsc3-base/libenatsc3ipv4
enatsc3-base/libenatsc3ipv4: staging packagedir $(SRCROOT)/enatsc3-base/libenatsc3ipv4/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3ipv4
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3ipv4 DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libenatsc3ipv4.pc

.PHONY: enatsc3-base/libenatsc3ipv4-install
enatsc3-base/libenatsc3ipv4-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3ipv4.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3ipv4-package
enatsc3-base/libenatsc3ipv4-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3ipv4.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3ipv4-debpackage
enatsc3-base/libenatsc3ipv4-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3ipv4.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3ipv4-clean
enatsc3-base/libenatsc3ipv4-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/libenatsc3ipv4-distclean
enatsc3-base/libenatsc3ipv4-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/libenatsc3ipv4-maintainer-clean
enatsc3-base/libenatsc3ipv4-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/libenatsc3ipv4-fullclean
enatsc3-base/libenatsc3ipv4-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libenatsc3lls

$(SRCROOT)/enatsc3-base/libenatsc3lls/configure: Makefile $(SRCROOT)/enatsc3-base/libenatsc3lls/configure.ac
	cd $(SRCROOT)/enatsc3-base/libenatsc3lls && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/libenatsc3lls/configure

$(SRCROOT)/enatsc3-base/libenatsc3lls/Makefile: $(SRCROOT)/enatsc3-base/libenatsc3lls/configure
	cd $(SRCROOT)/enatsc3-base/libenatsc3lls && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3lls clean

.PHONY: enatsc3-base/libenatsc3lls
enatsc3-base/libenatsc3lls: staging packagedir $(SRCROOT)/enatsc3-base/libenatsc3lls/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3lls
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3lls DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libenatsc3lls.pc

.PHONY: enatsc3-base/libenatsc3lls-install
enatsc3-base/libenatsc3lls-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3lls.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3lls-package
enatsc3-base/libenatsc3lls-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3lls.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3lls-debpackage
enatsc3-base/libenatsc3lls-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3lls.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3lls-clean
enatsc3-base/libenatsc3lls-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/libenatsc3lls-distclean
enatsc3-base/libenatsc3lls-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/libenatsc3lls-maintainer-clean
enatsc3-base/libenatsc3lls-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/libenatsc3lls-fullclean
enatsc3-base/libenatsc3lls-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libenatsc3sls

$(SRCROOT)/enatsc3-base/libenatsc3sls/configure: Makefile $(SRCROOT)/enatsc3-base/libenatsc3sls/configure.ac
	cd $(SRCROOT)/enatsc3-base/libenatsc3sls && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/libenatsc3sls/configure

$(SRCROOT)/enatsc3-base/libenatsc3sls/Makefile: $(SRCROOT)/enatsc3-base/libenatsc3sls/configure
	cd $(SRCROOT)/enatsc3-base/libenatsc3sls && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3sls clean

.PHONY: enatsc3-base/libenatsc3sls
enatsc3-base/libenatsc3sls: staging packagedir $(SRCROOT)/enatsc3-base/libenatsc3sls/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3sls
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3sls DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libenatsc3sls.pc

.PHONY: enatsc3-base/libenatsc3sls-install
enatsc3-base/libenatsc3sls-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3sls.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3sls-package
enatsc3-base/libenatsc3sls-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3sls.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3sls-debpackage
enatsc3-base/libenatsc3sls-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3sls.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3sls-clean
enatsc3-base/libenatsc3sls-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/libenatsc3sls-distclean
enatsc3-base/libenatsc3sls-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/libenatsc3sls-maintainer-clean
enatsc3-base/libenatsc3sls-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/libenatsc3sls-fullclean
enatsc3-base/libenatsc3sls-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libenatsc3route

$(SRCROOT)/enatsc3-base/libenatsc3route/configure: Makefile $(SRCROOT)/enatsc3-base/libenatsc3route/configure.ac
	cd $(SRCROOT)/enatsc3-base/libenatsc3route && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/libenatsc3route/configure

$(SRCROOT)/enatsc3-base/libenatsc3route/Makefile: $(SRCROOT)/enatsc3-base/libenatsc3route/configure
	cd $(SRCROOT)/enatsc3-base/libenatsc3route && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3route clean

.PHONY: enatsc3-base/libenatsc3route
enatsc3-base/libenatsc3route: staging packagedir $(SRCROOT)/enatsc3-base/libenatsc3route/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3route
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3route DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libenatsc3route.pc

.PHONY: enatsc3-base/libenatsc3route-install
enatsc3-base/libenatsc3route-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3route.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3route-package
enatsc3-base/libenatsc3route-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3route.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3route-debpackage
enatsc3-base/libenatsc3route-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3route.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3route-clean
enatsc3-base/libenatsc3route-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/libenatsc3route-distclean
enatsc3-base/libenatsc3route-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/libenatsc3route-maintainer-clean
enatsc3-base/libenatsc3route-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/libenatsc3route-fullclean
enatsc3-base/libenatsc3route-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libenatsc3dashfeeder

$(SRCROOT)/enatsc3-base/libenatsc3dashfeeder/configure: Makefile $(SRCROOT)/enatsc3-base/libenatsc3dashfeeder/configure.ac
	cd $(SRCROOT)/enatsc3-base/libenatsc3dashfeeder && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/libenatsc3dashfeeder/configure

$(SRCROOT)/enatsc3-base/libenatsc3dashfeeder/Makefile: $(SRCROOT)/enatsc3-base/libenatsc3dashfeeder/configure
	cd $(SRCROOT)/enatsc3-base/libenatsc3dashfeeder && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3dashfeeder clean

.PHONY: enatsc3-base/libenatsc3dashfeeder
enatsc3-base/libenatsc3dashfeeder: staging packagedir $(SRCROOT)/enatsc3-base/libenatsc3dashfeeder/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3dashfeeder
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3dashfeeder DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libenatsc3dashfeeder.pc

.PHONY: enatsc3-base/libenatsc3dashfeeder-install
enatsc3-base/libenatsc3dashfeeder-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3dashfeeder.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3dashfeeder-package
enatsc3-base/libenatsc3dashfeeder-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3dashfeeder.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3dashfeeder-debpackage
enatsc3-base/libenatsc3dashfeeder-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3dashfeeder.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3dashfeeder-clean
enatsc3-base/libenatsc3dashfeeder-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/libenatsc3dashfeeder-distclean
enatsc3-base/libenatsc3dashfeeder-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/libenatsc3dashfeeder-maintainer-clean
enatsc3-base/libenatsc3dashfeeder-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/libenatsc3dashfeeder-fullclean
enatsc3-base/libenatsc3dashfeeder-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libenatsc3mmtp

$(SRCROOT)/enatsc3-base/libenatsc3mmtp/configure: Makefile $(SRCROOT)/enatsc3-base/libenatsc3mmtp/configure.ac
	cd $(SRCROOT)/enatsc3-base/libenatsc3mmtp && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/libenatsc3mmtp/configure

$(SRCROOT)/enatsc3-base/libenatsc3mmtp/Makefile: $(SRCROOT)/enatsc3-base/libenatsc3mmtp/configure
	cd $(SRCROOT)/enatsc3-base/libenatsc3mmtp && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3mmtp clean

.PHONY: enatsc3-base/libenatsc3mmtp
enatsc3-base/libenatsc3mmtp: staging packagedir $(SRCROOT)/enatsc3-base/libenatsc3mmtp/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3mmtp
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3mmtp DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libenatsc3mmtp.pc

.PHONY: enatsc3-base/libenatsc3mmtp-install
enatsc3-base/libenatsc3mmtp-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3mmtp.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3mmtp-package
enatsc3-base/libenatsc3mmtp-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3mmtp.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3mmtp-debpackage
enatsc3-base/libenatsc3mmtp-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3mmtp.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3mmtp-clean
enatsc3-base/libenatsc3mmtp-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/libenatsc3mmtp-distclean
enatsc3-base/libenatsc3mmtp-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/libenatsc3mmtp-maintainer-clean
enatsc3-base/libenatsc3mmtp-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/libenatsc3mmtp-fullclean
enatsc3-base/libenatsc3mmtp-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libenatsc3esg

$(SRCROOT)/enatsc3-base/libenatsc3esg/configure: Makefile $(SRCROOT)/enatsc3-base/libenatsc3esg/configure.ac
	cd $(SRCROOT)/enatsc3-base/libenatsc3esg && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/libenatsc3esg/configure

$(SRCROOT)/enatsc3-base/libenatsc3esg/Makefile: $(SRCROOT)/enatsc3-base/libenatsc3esg/configure
	cd $(SRCROOT)/enatsc3-base/libenatsc3esg && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3esg clean

.PHONY: enatsc3-base/libenatsc3esg
enatsc3-base/libenatsc3esg: staging packagedir $(SRCROOT)/enatsc3-base/libenatsc3esg/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3esg
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3esg DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libenatsc3esg.pc

.PHONY: enatsc3-base/libenatsc3esg-install
enatsc3-base/libenatsc3esg-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3esg.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3esg-package
enatsc3-base/libenatsc3esg-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3esg.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3esg-debpackage
enatsc3-base/libenatsc3esg-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3esg.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3esg-clean
enatsc3-base/libenatsc3esg-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/libenatsc3esg-distclean
enatsc3-base/libenatsc3esg-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/libenatsc3esg-maintainer-clean
enatsc3-base/libenatsc3esg-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/libenatsc3esg-fullclean
enatsc3-base/libenatsc3esg-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# libenatsc3filereader

$(SRCROOT)/enatsc3-base/libenatsc3filereader/configure: Makefile $(SRCROOT)/enatsc3-base/libenatsc3filereader/configure.ac
	cd $(SRCROOT)/enatsc3-base/libenatsc3filereader && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/libenatsc3filereader/configure

$(SRCROOT)/enatsc3-base/libenatsc3filereader/Makefile: $(SRCROOT)/enatsc3-base/libenatsc3filereader/configure
	cd $(SRCROOT)/enatsc3-base/libenatsc3filereader && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3filereader clean

.PHONY: enatsc3-base/libenatsc3filereader
enatsc3-base/libenatsc3filereader: staging packagedir $(SRCROOT)/enatsc3-base/libenatsc3filereader/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3filereader
	$(MAKE) -C $(SRCROOT)/enatsc3-base/libenatsc3filereader DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/libenatsc3filereader.pc

.PHONY: enatsc3-base/libenatsc3filereader-install
enatsc3-base/libenatsc3filereader-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3filereader.so* $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3filereader-package
enatsc3-base/libenatsc3filereader-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3filereader.so* $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3filereader-debpackage
enatsc3-base/libenatsc3filereader-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib
	cp -pdf $(STAGING)/opt/enatsc3fe/lib/libenatsc3filereader.so* $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/libenatsc3filereader-clean
enatsc3-base/libenatsc3filereader-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/libenatsc3filereader-distclean
enatsc3-base/libenatsc3filereader-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/libenatsc3filereader-maintainer-clean
enatsc3-base/libenatsc3filereader-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/libenatsc3filereader-fullclean
enatsc3-base/libenatsc3filereader-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# enatsc3-tools

$(SRCROOT)/enatsc3-base/enatsc3-tools/configure: Makefile $(SRCROOT)/enatsc3-base/enatsc3-tools/configure.ac
	cd $(SRCROOT)/enatsc3-base/enatsc3-tools && autoreconf -I m4 -f -i
	touch $(SRCROOT)/enatsc3-base/enatsc3-tools/configure

$(SRCROOT)/enatsc3-base/enatsc3-tools/Makefile: $(SRCROOT)/enatsc3-base/enatsc3-tools/configure
	cd $(SRCROOT)/enatsc3-base/enatsc3-tools && ./configure $(CONFIG_FLAGS) $(ENABLE_DEBUG) $(CONFIG_RZR) $(CONFIG_HDHR)
	$(MAKE) -C $(SRCROOT)/enatsc3-base/enatsc3-tools clean

.PHONY: enatsc3-base/enatsc3-tools
enatsc3-base/enatsc3-tools: staging packagedir $(SRCROOT)/enatsc3-base/enatsc3-tools/Makefile
	$(MAKE) -C $(SRCROOT)/enatsc3-base/enatsc3-tools
	$(MAKE) -C $(SRCROOT)/enatsc3-base/enatsc3-tools DESTDIR=$(STAGING) install
	sed -i '/^includedir=/s,=.*$$,=$(STAGING)/opt/enatsc3fe/include,' $(STAGING)/opt/enatsc3fe/lib/pkgconfig/enatsc3-tools.pc

.PHONY: enatsc3-base/enatsc3-tools-install
enatsc3-base/enatsc3-tools-install:
	mkdir -p $(DESTDIR)/opt/enatsc3fe/bin
	mkdir -p $(DESTDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/enatsc3-tools-package
enatsc3-base/enatsc3-tools-package:
	mkdir -p $(PACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/enatsc3-tools-debpackage
enatsc3-base/enatsc3-tools-debpackage:
	mkdir -p $(DEBPACKAGEDIR)/opt/enatsc3fe/lib

.PHONY: enatsc3-base/enatsc3-tools-clean
enatsc3-base/enatsc3-tools-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-clean=) clean

.PHONY: enatsc3-base/enatsc3-tools-distclean
enatsc3-base/enatsc3-tools-distclean:
	-$(MAKE) -C $(SRCROOT)/$(@:-distclean=) distclean

.PHONY: enatsc3-base/enatsc3-tools-maintainer-clean
enatsc3-base/enatsc3-tools-maintainer-clean:
	-$(MAKE) -C $(SRCROOT)/$(@:-maintainer-clean=) maintainer-clean

.PHONY: enatsc3-base/enatsc3-tools-fullclean
enatsc3-base/enatsc3-tools-fullclean:
	-(cd $(SRCROOT)/$(@:-fullclean=) && rm -rf $(FULLCLEAN_TOPDIR_OBJECTS))
	-(find $(SRCROOT)/$(@:-fullclean=) \( $(FULLCLEAN_ALLDIR_OBJECTS) \) -exec rm -rf  {} \;)

######################################################################
# build-done-messages

.PHONY: build-done-messages
build-done-messages:
	$(info ** BUILD COMPLETE **)
	$(info To run executables set LD_LIBRARY_PATH=$(STAGING)/opt/enatsc3fe/lib:$(STAGING)/opt/enatsc3fe/lib64)
