1# Makefile to help building packages 2 3ifneq ("$(wildcard ../../src/config.mak)","") 4include ../../src/Makefile.defs 5else ifneq ($(MAKECMDGOALS),cfg) 6$(error Please start "make cfg" first) 7endif 8 9RPMBUILD_TOP := /tmp/kamailio_rpmbuild 10RPM_VER = ${shell echo "$(RELEASE)" | sed -e "s/-dev[0-9]//" -e "s/-rc[0-9]//" -e "s/-pre[0-9]//"} 11RPM_REL = ${shell echo "$(RELEASE)." | grep -o -P "dev[0-9]\." } 12DIST_ARCHIVE = ${shell echo "kamailio-$(RPM_VER)_src.tar.gz"} 13APK_VERSION = ${shell echo "$(RELEASE)" | grep -o "^[0-9.]*"} 14RPMBUILD_OPT= --define "_topdir $(RPMBUILD_TOP)" 15GIT_TAG = ${shell git rev-parse HEAD 2> /dev/null} 16 17# generate config.mak and modules.lst 18.PHONY: cfg 19cfg: 20 $(MAKE) -C ../../src cfg 21 22# generate the tarball with source tree 23.PHONY: tar 24tar: 25 rm -f ../../kamailio*_src.tar.gz 26 $(MAKE) -C ../.. tar 27 28# build alpine apk packages 29.PHONY: apk 30apk: 31 echo Building alpine packages using commit ${GIT_TAG} 32 sed -e "s/^_gitcommit=.*/_gitcommit=${GIT_TAG}/" \ 33 -e "s/^pkgver=.*/pkgver=${APK_VERSION}/" \ 34 -i alpine/APKBUILD 35 cd alpine && abuild snapshot 36 @echo \"abuild\" cannot be start from Makefile please start manualy \"cd alpine \&\& abuild -r\" 37 38# build source rpm package 39.PHONY: src.rpm 40src.rpm: tar 41 mkdir -p ${RPMBUILD_TOP}/SOURCES 42 mv ../../kamailio-$(RELEASE)_src.tar.gz ${RPMBUILD_TOP}/SOURCES/${DIST_ARCHIVE} 43 sed -e 's/%define ver .*/%define ver ${RPM_VER}/' \ 44 -e 's/%define rel .*/%define rel ${RPM_REL}0%{dist}/' \ 45 -e 's/setup -n %{name}-%{ver}/setup -n kamailio-$(RELEASE)/' \ 46 -i obs/kamailio.spec 47 rpmbuild ${RPMBUILD_OPT} -bs obs/kamailio.spec 48 mv ${RPMBUILD_TOP}/SRPMS/kamailio-${RPM_VER}*.src.rpm ../.. 49 rm -Rf ${RPMBUILD_TOP} 50 51# build rpm packages 52.PHONY: rpm 53rpm: src.rpm 54 mock ../../kamailio-$(RELEASE).*.src.rpm 55 56# build debian packages 57.PHONY: deb 58deb: 59 $(MAKE) -C ../.. deb 60