Files
be.ems/makefile
2023-08-14 17:02:50 +08:00

101 lines
3.3 KiB
Makefile

# Makefile for AGrandTech EMS project
PROJECT = OMC
VERSION = 5GC16.1.1
PLATFORM = amd64
ARMPLATFORM = aarch64
GOPROJECTS = $(HOME)/goprojects
BUILDDIR = $(GOPROJECTS)/build
DEBBUILDDIR = $(GOPROJECTS)/debbuild
RPMBUILDDIR = $(GOPROJECTS)/rpmbuild
INSTALLDIR = /usr/local/omc
RELEASEDIR = $(GOPROJECTS)/release
EMSPROJECT = $(GOPROJECTS)/ems.agt
LIBDIR = $(EMSPROJECT)/lib
RESTAGENT = restagent
CRONTASK = crontask
SshSvcBin = sshsvc
NBI_ALARM = nbi_alarm
NBI_AGENT = nbi_agent
4A_AGENT = 4a_agent
RESTAGENTDIR = $(EMSPROJECT)/$(RESTAGENT)
CRONTASKDIR = $(EMSPROJECT)/$(CRONTASK)
SshSvcDir = $(EMSPROJECT)/$(SshSvcBin)
DBSQLSRCDIR = $(EMSPROJECT)/database
MISCDIR = $(EMSPROJECT)/misc
FrontBuildDir = $(BUILDDIR)/omc/htdocs
FrontSrcDir = $(EMSPROJECT)/front
ReleaseDebs = $(RELEASEDIR)/debs/$(PLATFORM)
BinDir = $(BUILDDIR)/omc/bin
BinDir2 = $(BUILDDIR)/omc/run
CrontaskSize = 27788951
RestagentSize = 29525312
BinWriterDir = $(HOME)/bin
.PHONY: all $(RESTAGENT) $(CRONTASK)
all: $(RESTAGENT) $(CRONTASK)
cd $(RESTAGENTDIR)
go build -o $(RESTAGENT) -v -ldflags "-X 'ems.agt/lib/conifg.Version=$(VERSION)' \
-X '$(LIBDIR)/conifg.BuildTime=`date`' \
-X '$(LIBDIR)/conifg.GoVer=`go version`'"
cd $(CRONTASKDIR)
go build -o $(CRONTASK) -v -ldflags "-X '$(LIBDIR)/conifg.Version=$(VERSION)' \
-X '$(LIBDIR)/conifg.BuildTime=`date`' \
-X '$(LIBDIR)/conifg.GoVer=`go version`'"
clean:
rm ./restagent/$(RESTAGENT) ./crontask/$(CRONTASK)
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) $(BUILDDIR)/omc/bin
cp -rf ./crontask/$(CRONTASK) $(BUILDDIR)/omc/bin
cp -rf $(MISCDIR)/* $(BUILDDIR)/omc/bin
cp -rf $(DBSQLSRCDIR)/*.sql $(BUILDDIR)/omc/etc/db
rm -rf $(FrontBuildDir)/*
unzip $(FrontSrcDir)/front.zip -d $(FrontBuildDir) >/dev/null
chmod 755 $(BUILDDIR)/omc/bin/*
chmod 755 $(DEBBUILDDIR)/DEBIAN/*
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/
dpkg -b $(DEBBUILDDIR) $(ReleaseDebs)/$(PROJECT)-$(VERSION).$(PLATFORM).deb
rpm: $(BINNAME)
cp -rf ./restagent/$(RESTAGENT) $(BinDir)
cp -rf ./crontask/$(CRONTASK) $(BinDir)
cp -rf $(SshSvcDir)/$(SshSvcBin) $(BinDir2)
$(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)/* $(BinDir2)
rm -rf $(BinDir2)/ne-hosts
cp -rf $(DBSQLSRCDIR)/* $(BUILDDIR)/omc/etc/db
rm -rf $(FrontBuildDir)/*
unzip $(FrontSrcDir)/front.zip -d $(FrontBuildDir) >/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)" --sign $(RPMBUILDDIR)/SPECS/omc.spec