# Makefile for AGrandTech EMS project ProjectL = omc ProjectU = OMC PROJECT = $(ProjectL) VERSION = 2.2403.1 RelDate = `date +%Y%m%d` Release = $(RelDate) RelVer = $(VERSION)-$(RelDate) PLATFORM = amd64 ARMPLATFORM = aarch64 GitLocalRoot = $(HOME)/local.git EmsBuildRoot=$(HOME)/local.git/build.ems BuildDir = $(HOME)/local.git/build.ems/build BuildOMCDir = $(HOME)/local.git/build.ems/build/usr/local/omc BuildOMCBinDir = $(HOME)/local.git/build.ems/build/usr/local/omc/bin BuildOMCEtcDir = $(HOME)/local.git/build.ems/build/usr/local/omc/etc BuildLibDir = $(HOME)/local.git/build.ems/build/lib BuildLibSystemDir = $(BuildLibDir)/systemd/system DebBuildDir = $(HOME)/local.git/build.ems/debbuild DebFEBuildDir = $(HOME)/local.git/build.ems/debbuild/usr/local/omc/htdocs DebBuild2204Dir = $(HOME)/local.git/build.ems/debbuild/22.04 DebFEBuild2204Dir = $(HOME)/local.git/build.ems/debbuild/22.04/usr/local/omc/htdocs RpmBuildDir = $(HOME)/local.git/build.ems/rpmbuild RpmFEBuildDir = $(RpmBuildDir)/BUILD/usr/local/omc/htdocs OmcInstallDir = /usr/local/omc ReleaseDir = $(HOME)/local.git/build.ems/release EmsBEDir = $(HOME)/local.git/nms_nbi ConfigEtcDir = $(HOME)/local.git/nms_nbi/config/etc ConfigSystemdDir = $(HOME)/local.git/nms_nbi/config/systemd EmsFEDir = $(HOME)/local.git/fe.ems EmsFEVue3Dir = $(HOME)/local.git/fe.ems.vue3/dist LibDir = $(HOME)/local.git/nms_nbi/lib RESTAGENT = restagent CRONTASK = crontask SshSvcBin = sshsvc CapTraceBin = captrace Data2htmlBin = data2html NBI_ALARM = nbi_alarm NBI_AGENT = nbi_agent 4A_AGENT = 4a_agent RestagentDir = $(HOME)/local.git/nms_nbi/restagent CrontaskDir = $(HOME)/local.git/nms_nbi/crontask SshSvcDir = $(HOME)/local.git/nms_nbi/sshsvc CapTraceDir = $(HOME)/local.git/nms_nbi/captrace Data2htmlDir = $(HOME)/local.git/nms_nbi/data2html DBSQLSrcDir = $(HOME)/local.git/nms_nbi/database MiscDir = $(HOME)/local.git/nms_nbi/misc FrontBuildDir = $(HOME)/local.git/build.ems/build/usr/local/omc/htdocs FrontSrcDir = $(HOME)/local.git/nms_nbi/front ReleaseDebs = $(ReleaseDir)/debs/amd64 CrontaskSize = 27788951 RestagentSize = 29525312 BinWriterDir = $(HOME)/bin ifeq ($(shell grep VERSION_ID /etc/os-release), VERSION_ID="22.04") DebBuildDir := $(DebBuild2204Dir) DebFEBuildDir := $(DebFEBuild2204Dir) #DebPkgFile := $(PROJECT)-$(VERSION)-22.04-$(Release).amd64.deb DebPkgFile := $(PROJECT)-r$(VERSION)-$(Release)-ub22.deb else ifeq ($(shell grep VERSION_ID /etc/os-release), VERSION_ID="18.04") DebPkgFile := $(PROJECT)-r$(VERSION)-$(Release)-ub18.deb endif .PHONY: all restagent crontask sshsvc captrace sshsvc all: restagent crontask sshsvc captrace sshsvc cd $(RestagentDir) go build -o restagent -v -ldflags "-X 'nms_nbi/lib/conifg.Version=$(RelVer)' \ -X '$(LibDir)/conifg.BuildTime=`date`' \ -X '$(LibDir)/conifg.GoVer=`go version`'" cd $(CrontaskDir) go build -o crontask -v -ldflags "-X '$(LibDir)/conifg.Version=$(RelVer)' \ -X '$(LibDir)/conifg.BuildTime=`date`' \ -X '$(LibDir)/conifg.GoVer=`go version`'" cd $(SshSvcDir) go build -o sshsvc -v -ldflags "-X '$(LibDir)/conifg.Version=$(RelVer)' \ -X '$(LibDir)/conifg.BuildTime=`date`' \ -X '$(LibDir)/conifg.GoVer=`go version`'" cd $(CapTraceDir) go build -o captrace -v -ldflags "-X '$(LibDir)/conifg.Version=$(RelVer)' \ -X '$(LibDir)/conifg.BuildTime=`date`' \ -X '$(LibDir)/conifg.GoVer=`go version`'" cd $(Data2htmlDir) go build -o sshsvc -v -ldflags "-X '$(LibDir)/conifg.Version=$(RelVer)' \ -X '$(LibDir)/conifg.BuildTime=`date`' \ -X '$(LibDir)/conifg.GoVer=`go version`'" clean: rm ./restagent/restagent ./crontask/crontask $(SshSvcDir)/sshsvc $(CapTraceDir)/captrace $(Data2htmlDir)/sshsvc dist: tar -zvcPf $(ReleaseDir)/$(PROJECT)-src-$(VERSION).tar.gz \ ../lib \ ../restagent \ ../crontask \ ../initems \ ../database \ ../docs \ ../misc \ ../config \ --exclude=../restagent/restagent \ --exclude=../crontask/crontask \ --exclude=../initems/initems deb: $(BINNAME) # clear build cache rm -rf $(FrontBuildDir)/front/* rm -rf $(DebFEBuildDir)/front/* rm -rf $(DebBuildDir)/usr/local/omc/etc/db/* cp -rf $(RestagentDir)/restagent $(BuildOMCBinDir) cp -rf $(CrontaskDir)/crontask $(BuildOMCBinDir) cp -rf $(SshSvcDir)/sshsvc $(BuildOMCBinDir) cp -rf $(CapTraceDir)/captrace $(BuildOMCBinDir) cp -rf $(Data2htmlDir)/sshsvc $(BuildOMCBinDir) cp -rf $(MiscDir)/* $(BuildOMCBinDir) cp -rf $(ConfigEtcDir)/* $(BuildOMCEtcDir) rm -rf $(BuildOMCEtcDir)/db/* cp -rf $(DBSQLSrcDir)/* $(BuildOMCEtcDir)/db/ cp -rf $(ConfigSystemdDir)/* $(BuildLibSystemDir) cp -rf $(EmsFEVue3Dir)/* $(FrontBuildDir)/front >/dev/null chmod 755 $(BuildOMCBinDir)/* chmod 755 $(DebBuildDir)/DEBIAN/preinst chmod 755 $(DebBuildDir)/DEBIAN/postinst chmod 755 $(DebBuildDir)/DEBIAN/postrm cp -rf $(HOME)/local.git/build.ems/build/* $(DebBuildDir)/ #cp -rf $(HOME)/local.git/build.ems/build/nginx/* $(DebBuildDir)/etc/nginx/conf.d #cp -rf $(HOME)/local.git/build.ems/build/systemd/*.service $(DebBuildDir)/lib/systemd/system/ chmod +x $(DebBuildDir)/usr/local/omc/bin/* #sed -i.bak 's/YYYYMMDD/$(shell date +"%Y%m%d")/g' $(DebBuildDir)/DEBIAN/control sed -i 's/YYYYMMDD/$(shell date +"%Y%m%d")/g' $(DebBuildDir)/DEBIAN/control perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: agtuser/g' $(DebBuildDir)/usr/local/omc/etc/default/restconf.yaml dpkg -b $(DebBuildDir) $(ReleaseDebs)/$(DebPkgFile) rpm: $(BINNAME) # clear build cache rm -rf $(FrontBuildDir)/front/* rm -rf $(RpmFEBuildDir)/front/* rm -rf $(RpmBuildDir)/BUILD/usr/local/omc/etc/db/* cp -rf $(RestagentDir)/restagent $(BuildOMCBinDir) cp -rf $(CrontaskDir)/crontask $(BuildOMCBinDir) cp -rf $(SshSvcDir)/sshsvc $(BuildOMCBinDir) cp -rf $(CapTraceDir)/captrace $(BuildOMCBinDir) cp -rf $(Data2htmlDir)/sshsvc $(BuildOMCBinDir) # $(BinWriterDir)/binWriter $(BuildOMCBinDir)/restagent $(RestagentSize) # $(BinWriterDir)/binWriter $(BuildOMCBinDir)/crontask $(CrontaskSize) # cp -rf $(MiscDir)/ne-hosts $(BuildOMCBinDir) # cp -rf ./nbi/$(NBI_ALARM)/bin/$(NBI_ALARM) $(BinDir2) # cp -rf ./nbi/$(NBI_AGENT)/bin/$(NBI_AGENT) $(BinDir2) # cp -rf ./$(4A_AGENT)/bin/$(4A_AGENT) $(BinDir2) cp -rf $(MiscDir)/* $(BuildOMCBinDir) # rm -rf $(BinDir2)/ne-hosts cp -rf $(ConfigEtcDir)/* $(BuildOMCEtcDir) rm -rf $(BuildOMCEtcDir)/db/* cp -rf $(DBSQLSrcDir)/* $(BuildOMCEtcDir)/db/ cp -rf $(ConfigSystemdDir)/* $(BuildLibSystemDir) #unzip $(FrontSrcDir)/front.zip -d $(FrontBuildDir) >/dev/null mkdir -p $(FrontBuildDir)/front cp -rf $(EmsFEVue3Dir)/* $(FrontBuildDir)/front >/dev/null chmod 755 $(BuildOMCBinDir)/* # chmod 755 $(BinDir2)/* cp -rf $(HOME)/local.git/build.ems/build/* $(RpmBuildDir)/BUILD/ #cp -rf $(HOME)/local.git/build.ems/build/nginx $(RpmBuildDir)/BUILD/etc/ #cp -rf $(HOME)/local.git/build.ems/build/systemd $(RpmBuildDir)/BUILD/lib/ cd $(RpmBuildDir) rpmbuild -bb -D "_topdir $(RpmBuildDir)" $(RpmBuildDir)/SPECS/omc.spec