167 lines
6.8 KiB
Makefile
167 lines
6.8 KiB
Makefile
# 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
|