# Makefile for AGrandTech EMS project PROJECT = OMC VERSION = 1.6.1 RelDate = shell date +%Y%m%d Release = $(RelDate) RelVer = $(VERSION)-$(RelDate) PLATFORM = amd64 ARMPLATFORM = aarch64 GitLocalRoot = $(HOME)/local.git EmsBuildRoot=$(GitLocalRoot)/build.ems BuildDir = $(EmsBuildRoot)/build DebBuildDir = $(EmsBuildRoot)/debbuild RpmBuildDir = $(EmsBuildRoot)/rpmbuild OmcInstallDir = /usr/local/omc ReleaseDir = $(EmsBuildRoot)/release EmsBEDir = $(GitLocalRoot)/ems.agt ConfigEtcDir = $(EmsBEDir)/config/etc ConfigSystemdDir = $(EmsBEDir)/config/systemd EmsFEDir = $(GitLocalRoot)/fe.ems LibDir = $(EmsBEDir)/lib RESTAGENT = restagent CRONTASK = crontask SshSvcBin = sshsvc CapTraceBin = captrace NBI_ALARM = nbi_alarm NBI_AGENT = nbi_agent 4A_AGENT = 4a_agent RestagentDir = $(EmsBEDir)/$(RESTAGENT) CrontaskDir = $(EmsBEDir)/$(CRONTASK) SshSvcDir = $(EmsBEDir)/$(SshSvcBin) CapTraceDir = $(EmsBEDir)/$(CapTraceBin) DBSQLSrcDir = $(EmsBEDir)/database MiscDir = $(EmsBEDir)/misc FrontBuildDir = $(BuildDir)/omc/htdocs FrontSrcDir = $(EmsBEDir)/front ReleaseDebs = $(ReleaseDir)/debs/$(PLATFORM) BinDir = $(BuildDir)/omc/bin BinDir2 = $(BuildDir)/omc/run CrontaskSize = 27788951 RestagentSize = 29525312 BinWriterDir = $(HOME)/bin .PHONY: all $(RESTAGENT) $(CRONTASK) $(SshSvcBin) $(CapTraceBin) all: $(RESTAGENT) $(CRONTASK) $(SshSvcBin) $(CapTraceBin) cd $(RestagentDir) go build -o $(RESTAGENT) -v -ldflags "-X 'ems.agt/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 $(SshSvcBin) -v -ldflags "-X '$(LibDir)/conifg.Version=$(RelVer)' \ -X '$(LibDir)/conifg.BuildTime=`date`' \ -X '$(LibDir)/conifg.GoVer=`go version`'" cd $(CapTraceDir) go build -o $(CapTraceBin) -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)/$(SshSvcBin) $(CapTraceDir)/$(CapTraceBin) 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) cp -rf ./restagent/$(RESTAGENT) $(BinDir) cp -rf ./crontask/$(CRONTASK) $(BinDir) cp -rf $(SshSvcDir)/$(SshSvcBin) $(BinDir) cp -rf $(CapTraceDir)/$(CapTraceBin) $(BinDir) cp -rf $(MiscDir)/* $(BinDir) cp -rf $(ConfigEtcDir)/* $(BuildDir)/omc/etc/ cp -rf $(DBSQLSrcDir)/* $(BuildDir)/omc/etc/db/ cp -rf $(ConfigSystemdDir)/* $(BuildDir)/systemd/ rm -rf $(FrontBuildDir)/* mkdir -p $(FrontBuildDir)/front cp -rf $(EmsFEDir)/* $(FrontBuildDir)/front >/dev/null chmod 755 $(BinDir)/* chmod 755 $(BuildDir)/omc/bin/* chmod 755 $(DebBuildDir)/DEBIAN/preinst chmod 755 $(DebBuildDir)/DEBIAN/postinst chmod 755 $(DebBuildDir)/DEBIAN/postrm cp -rf $(BuildDir)/omc/* $(DebBuildDir)/usr/local/omc/ chmod +x $(DebBuildDir)/usr/local/omc/bin/* cp -rf $(BuildDir)/nginx/* $(DebBuildDir)/etc/nginx/conf.d cp -rf $(BuildDir)/systemd/*.service $(DebBuildDir)/lib/systemd/system/ sed -i.bak 's/YYYYMMDD/$(RelDate)/g' $(DebBuildDir)/DEBIAN/control dpkg -b $(DebBuildDir) $(ReleaseDebs)/$(PROJECT)-$(VERSION)-$(Release).$(PLATFORM).deb rpm: $(BINNAME) cp -rf ./restagent/$(RESTAGENT) $(BinDir) cp -rf ./crontask/$(CRONTASK) $(BinDir) cp -rf $(SshSvcDir)/$(SshSvcBin) $(BinDir) cp -rf $(CapTraceDir)/$(CapTraceBin) $(BinDir) # $(BinWriterDir)/binWriter $(BinDir)/$(RESTAGENT) $(RestagentSize) # $(BinWriterDir)/binWriter $(BinDir)/$(CRONTASK) $(CrontaskSize) # cp -rf $(MiscDir)/ne-hosts $(BinDir) # 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)/* $(BinDir) # rm -rf $(BinDir2)/ne-hosts cp -rf $(ConfigEtcDir)/* $(BuildDir)/omc/etc/ cp -rf $(DBSQLSrcDir)/* $(BuildDir)/omc/etc/db/ cp -rf $(ConfigSystemdDir)/* $(BuildDir)/systemd/ rm -rf $(FrontBuildDir)/* #unzip $(FrontSrcDir)/front.zip -d $(FrontBuildDir) >/dev/null mkdir -p $(FrontBuildDir)/front cp -rf $(EmsFEDir)/* $(FrontBuildDir)/front >/dev/null chmod 755 $(BinDir)/* # chmod 755 $(BinDir2)/* cp -rf $(BuildDir)/omc $(RpmBuildDir)/BUILD cp -rf $(BuildDir)/nginx $(RpmBuildDir)/BUILD cp -rf $(BuildDir)/systemd $(RpmBuildDir)/BUILD cd $(RpmBuildDir) rpmbuild -bb -D "_topdir $(RpmBuildDir)" $(RpmBuildDir)/SPECS/omc.spec