# definition of package
#
# Set CFLAGS and CXXFLAGS
# Set pre
#
act_system := $(shell cat /etc/eisfair-system)
$(info Compiling for $(act_system) system)

opts := -O2 -Wno-discarded-qualifiers -Wno-unused-result
ifeq ($(act_system),eisfair-1)
        opts += -march=i486
        pre =
        ldir =
else
        opts += -m64
        pre = eis64_
        ldir = --libdir=/usr/lib64
endif

CFLAGS = $(opts)
export CFLAGS
CXXFLAGS = $(opts)
export CXXFLAGS

package=rsyslogd

# actual source and destination versions
src_rsyslogd=rsyslog-8.2112.0
dest_rsyslogd=$(pre)bin_rsyslogd_8_2112_0

# definition of directories and names
path_base=${HOME}
path_svn=${HOME}/eisler-trunk
path_subfolder=utils
path_package=${path_svn}/${path_subfolder}/${package}/${dest_rsyslogd}

# names of sources
path_source=${path_base}/psource
path_rsyslogd=${path_source}/${src_rsyslogd}

# actual patches
patch_dir=${path_svn}/${path_subfolder}/${package}/_ADMIN/binaries_howto

# _ADMIN Path
admin_dir=${path_svn}/${path_subfolder}/${package}/_ADMIN

#=============================================================================

#
# requirements
#
#    developer
#
#    libestr-dev
#    libestr
#    libjson-c-dev   (up to rsyslog-8.16.0)
#    libjson-c       (up to rsyslog-8.16.0)
#    libfastjson-dev (from rsyslog-8.17.0)
#    libfastjson     (from rsyslog-8.17.0)
#    libmariadb-dev-dev
#    libmariadb3
#    util-linux-dev (uuid)
#    libgcrypt-dev
#    libgcrypt
#    liblogging-dev
#    liblogging
#

#
# create package source elements
#

all_psource: rsyslogd

#
# install package source elements to svn directory
#

install_all_psource: install_rsyslogd

#
# clean all package source elements
#

clean_all_psource: clean_rsyslogd

#
# rsyslogd
#

rsyslogd: ${path_rsyslogd}

${path_rsyslogd}: ${path_rsyslogd}.tar.gz
	echo "Building rsyslogd"
	(cd ${path_source} && tar xvfz ${src_rsyslogd}.tar.gz)
	(cd ${path_rsyslogd} &&                            \
		./configure                                \
		--prefix=/usr                              \
		--disable-generate-man-pages               \
		--enable-imfile                            \
		--enable-mysql                             \
		--enable-relp                              \
		--enable-impstats                          \
		--enable-omprog;                           \
		make;                                      \
	)

mod_rsyslogd:
	(                                                  \
	sh ${admin_dir}/mod_rsyslogd.sh ${path_package}                 \
	)

install_rsyslogd:
	(cd ${path_rsyslogd}; \
	mkdir -p ${path_package}/_ADMIN                                                                                       ;\
	mkdir -p ${path_package}/usr/sbin                                                                                     ;\
	mkdir -p ${path_package}/usr/lib/rsyslog                                                                              ;\
	/usr/bin/install -p -s -m  755 tools/rsyslogd                             ${path_package}/usr/sbin/.                  ;\
	/usr/bin/install -p -s -m  755 plugins/ommysql/.libs/ommysql.so           ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 plugins/imklog/.libs/imklog.so             ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 plugins/immark/.libs/immark.so             ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 plugins/imtcp/.libs/imtcp.so               ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 plugins/imudp/.libs/imudp.so               ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 plugins/imuxsock/.libs/imuxsock.so         ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 plugins/imfile/.libs/imfile.so             ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 plugins/omrelp/.libs/omrelp.so             ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 plugins/imrelp/.libs/imrelp.so             ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 plugins/impstats/.libs/impstats.so         ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 plugins/omprog/.libs/omprog.so             ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 runtime/.libs/lmcry_gcry.so                ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 runtime/.libs/lmnet.so                     ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 runtime/.libs/lmnetstrms.so                ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 runtime/.libs/lmnsd_ptcp.so                ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 runtime/.libs/lmregexp.so                  ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 runtime/.libs/lmtcpclt.so                  ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 runtime/.libs/lmtcpsrv.so                  ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 runtime/.libs/lmzlibw.so                   ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 plugins/mmexternal/.libs/mmexternal.so     ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p -s -m  755 plugins/omtesting/.libs/omtesting.so       ${path_package}/usr/lib/rsyslog/.           ;\
	/usr/bin/install -p    -m  644 plugins/ommysql/createDB.sql               ${path_package}/usr/lib/rsyslog/.           ;\
	sed -i '1,2d' ${path_package}/usr/lib/rsyslog/createDB.sql                                                            ;\
	sh ${admin_dir}/mod_rsyslogd.sh ${path_package} ${admin_dir} ;\
	)
	#/usr/bin/install -p -s -m  755 runtime/.libs/lmstrmsrv.so                 ${path_package}/usr/lib/rsyslog/.           ;\

clean_rsyslogd:
	(cd ${path_source} && rm -rf ${src_rsyslogd})