281 lines
7.2 KiB
Makefile
281 lines
7.2 KiB
Makefile
|
|
AUTOMAKE_OPTIONS = foreign no-dependencies no-installinfo
|
|
|
|
SUBDIRS = mans
|
|
|
|
GOFLAGS= -v
|
|
bin_PROGRAMS = mbasectl
|
|
sbin_PROGRAMS = mbased
|
|
|
|
mbasectl_SOURCES = \
|
|
cmd/mbasectl/main.go
|
|
|
|
EXTRA_mbasectl_SOURCES = \
|
|
cmd/mbasectl/util/util.go \
|
|
cmd/mbasectl/accountcmd/acccmd.go \
|
|
cmd/mbasectl/accountcmd/createacc.go \
|
|
cmd/mbasectl/accountcmd/creategrant.go \
|
|
cmd/mbasectl/accountcmd/delacc.go \
|
|
cmd/mbasectl/accountcmd/delgrant.go \
|
|
cmd/mbasectl/accountcmd/getacc.go \
|
|
cmd/mbasectl/accountcmd/getgrant.go \
|
|
cmd/mbasectl/accountcmd/grantcmd.go \
|
|
cmd/mbasectl/accountcmd/listacc.go \
|
|
cmd/mbasectl/accountcmd/listgrant.go \
|
|
cmd/mbasectl/accountcmd/printresp.go \
|
|
cmd/mbasectl/accountcmd/updacc.go \
|
|
cmd/mbasectl/accountcmd/updgrant.go
|
|
|
|
mbased_SOURCES = cmd/mbased/main.go
|
|
|
|
EXTRA_mbased_SOURCES = cmd/mbased/starter/starter.go
|
|
|
|
mbasectl$(EXEEXT): $(mbasectl_SOURCES) $(EXTRA_mbasectl_SOURCES) $(EXTRA_mbased_SOURCES)
|
|
env CGO_ENABLED=0 $(GO) build $(GOFLAGS) -o mbasectl$(EXEEXT) $(mbasectl_SOURCES)
|
|
|
|
mbased$(EXEEXT): $(mbased_SOURCES) $(EXTRA_mbased_SOURCES)
|
|
env CGO_ENABLED=1 $(GO) build $(GOFLAGS) -o mbased$(EXEEXT) $(mbased_SOURCES)
|
|
|
|
run: $(mbased_SOURCES)
|
|
cd cmd/mbased && env CGO_ENABLED=1 $(GO) run . --asDaemon=false --port=443
|
|
|
|
CWD=$(shell pwd)
|
|
|
|
EXTRA_mbased_SOURCES += \
|
|
app/accoper/createacc.go \
|
|
app/accoper/creategrant.go \
|
|
app/accoper/delacc.go \
|
|
app/accoper/delgrant.go \
|
|
app/accoper/getacc.go \
|
|
app/accoper/getgrant.go \
|
|
app/accoper/listacc.go \
|
|
app/accoper/listgrant.go \
|
|
app/accoper/operator.go \
|
|
app/accoper/updacc.go \
|
|
app/accoper/updgrant.go \
|
|
app/config/config.go \
|
|
app/config/variant.go \
|
|
app/handler/aaafunc.go \
|
|
app/handler/account.go \
|
|
app/handler/grant.go \
|
|
app/handler/handler.go \
|
|
app/handler/notfound.go \
|
|
app/handler/response.go \
|
|
app/handler/service.go \
|
|
app/locker/locker.go \
|
|
app/logger/logger.go \
|
|
app/maindb/account.go \
|
|
app/maindb/grant.go \
|
|
app/maindb/init.go \
|
|
app/maindb/maindb.go \
|
|
app/maindb/scheme.go \
|
|
app/router/bindobj.go \
|
|
app/router/context.go \
|
|
app/router/corsmw.go \
|
|
app/router/loggingmw.go \
|
|
app/router/pathc.go \
|
|
app/router/recovermw.go \
|
|
app/router/router.go \
|
|
app/server/server.go \
|
|
app/server/listen.go \
|
|
app/service/service.go \
|
|
\
|
|
app/servoper/operator.go \
|
|
app/servoper/service.go \
|
|
\
|
|
pkg/accntcli/client.go \
|
|
pkg/accntcli/createacc.go \
|
|
pkg/accntcli/creategrant.go \
|
|
pkg/accntcli/delacc.go \
|
|
pkg/accntcli/delgrant.go \
|
|
pkg/accntcli/getacc.go \
|
|
pkg/accntcli/getgrant.go \
|
|
pkg/accntcli/httpcall.go \
|
|
pkg/accntcli/listacc.go \
|
|
pkg/accntcli/listgrants.go \
|
|
pkg/accntcli/referer.go \
|
|
pkg/accntcli/servhello.go \
|
|
pkg/accntcli/updateacc.go \
|
|
pkg/accntcli/updgrant.go \
|
|
pkg/auxhttp/basic.go \
|
|
pkg/auxhttp/crange.go \
|
|
pkg/auxpwd/passwd.go \
|
|
pkg/auxtool/cleandir.go \
|
|
pkg/auxtool/fileex.go \
|
|
pkg/auxtool/randstr.go \
|
|
pkg/auxtool/tmpfile.go \
|
|
pkg/auxtool/unixnow.go \
|
|
pkg/auxutar/utar.go \
|
|
pkg/auxuuid/uuid.go \
|
|
pkg/auxx509/x509cert.go \
|
|
pkg/descr/account.go \
|
|
pkg/descr/grant.go \
|
|
pkg/descr/server.go \
|
|
pkg/terms/terms.go
|
|
|
|
|
|
EXTRA_DIST = vendor/* \
|
|
\
|
|
Containerfile \
|
|
go.mod \
|
|
go.sum \
|
|
LICENSE.txt \
|
|
README.md \
|
|
DEVEL.md \
|
|
\
|
|
test/file_test.go \
|
|
\
|
|
chart/Chart.yaml.in \
|
|
chart/.gitignore \
|
|
chart/.helmignore \
|
|
chart/templates/configmap.yaml \
|
|
chart/templates/deployment.yaml \
|
|
chart/templates/_imagepath.tpl \
|
|
chart/templates/_serviceport.tmpl \
|
|
chart/templates/service.yaml \
|
|
chart/templates/_storageclass.tpl \
|
|
chart/templates/_storagesize.tpl \
|
|
chart/templates/_userpass.tpl \
|
|
chart/templates/volumeclaim.yaml \
|
|
chart/values.yaml.in \
|
|
\
|
|
debian/changelog.in \
|
|
debian/compat \
|
|
debian/control.in \
|
|
debian/files \
|
|
debian/.gitignore \
|
|
debian/mbase-control.install \
|
|
debian/mbase-control.postinst \
|
|
debian/mbase-control.postrm \
|
|
debian/mbase-control.preinst \
|
|
debian/mbase-control.prerm \
|
|
debian/mbase-service.install \
|
|
debian/mbase-service.postinst \
|
|
debian/mbase-service.postrm \
|
|
debian/mbase-service.preinst \
|
|
debian/mbase-service.prerm \
|
|
debian/patches/series \
|
|
debian/README.Debian \
|
|
debian/rules \
|
|
debian/source/format \
|
|
debian/source/include-binaries \
|
|
debian/watch \
|
|
\
|
|
initrc/.gitignore \
|
|
initrc/mbased.in \
|
|
initrc/mbased.service.in \
|
|
\
|
|
app/locker/locker_test.go \
|
|
app/logger/logger_test.go \
|
|
app/maindb/file_test.go \
|
|
app/maindb/grant_test.go \
|
|
app/router/pathc_test.go \
|
|
app/router/router_test.go \
|
|
pkg/auxpwd/passwd_test.go \
|
|
pkg/auxx509/x509cert_test.go \
|
|
\
|
|
docs/helm-chart-manifest.json.txt \
|
|
docs/mbase.drawio \
|
|
docs/mbase.png \
|
|
docs/podman-manifest.json.txt
|
|
|
|
format:
|
|
@dirs=$$($(FIND) $(CWD)/app $(CWD)/cmd $(CWD)/pkg $(CWD)/test \
|
|
-name '*.go' | $(XARGS) -n1 dirname | $(SORT) | $(UNIQ)); \
|
|
for dir in $$dirs;do \
|
|
(echo "====$$dir===="; cd $$dir && $(GO) fmt .); \
|
|
done
|
|
|
|
.PHONY: test
|
|
test:
|
|
cd test && $(GO) test -v .
|
|
|
|
|
|
DIST_DIR= $(shell pwd)/DIST
|
|
BUILD_DIR= $(shell pwd)/BUILD
|
|
|
|
IMAGE_REPO = localhost
|
|
IMAGE_NAME = $(PACKAGE_NAME):$(PACKAGE_VERSION)
|
|
IMAGE_TARNAME = $(PACKAGE_NAME)-$(PACKAGE_VERSION).img
|
|
IMAGE_CONTAINERFILE = Containerfile
|
|
|
|
image:: build-image
|
|
build-image: clean
|
|
# $(GO) mod vendor
|
|
mkdir -p $(DIST_DIR)
|
|
$(SUDO) $(PODMAN) build -t $(IMAGE_REPO)/$(IMAGE_NAME) -f $(IMAGE_CONTAINERFILE) .
|
|
rm -f $(DIST_DIR)/$(IMAGE_TARNAME)
|
|
$(SUDO) $(PODMAN) image save $(IMAGE_REPO)/$(IMAGE_NAME) --format oci-archive \
|
|
-o $(DIST_DIR)/$(IMAGE_TARNAME)
|
|
username=$$(whoami); \
|
|
$(SUDO) chown $$username $(DIST_DIR)/$(IMAGE_TARNAME)
|
|
# rm -rf vendor
|
|
|
|
CHART_NAME = $(PACKAGE_NAME)-$(PACKAGE_VERSION).tgz
|
|
|
|
chart:: build-chart
|
|
build-chart:
|
|
mkdir -p $(DIST_DIR)
|
|
$(HELM) package --destination $(DIST_DIR) chart/
|
|
|
|
$(DIST_ARCHIVES): dist
|
|
|
|
package:: debian-package
|
|
debian-package: $(DIST_ARCHIVES)
|
|
mkdir -p $(BUILD_DIR)
|
|
mv $(DIST_ARCHIVES) $(BUILD_DIR)
|
|
cd $(BUILD_DIR) && $(AMTAR) -xf $(DIST_ARCHIVES)
|
|
cd $(BUILD_DIR)/$(distdir) && ./configure --prefix=/usr
|
|
cd $(BUILD_DIR)/$(distdir) && $(MAKE) clean
|
|
cd $(BUILD_DIR)/$(distdir) && $(DPKGSOURCE) -i --before-build .
|
|
cd $(BUILD_DIR)/$(distdir) && $(DBUILDPACKAGE) -nc -us -uc -ui -i -b
|
|
mkdir -p $(DIST_DIR)
|
|
$(CP) $(BUILD_DIR)/*.deb $(DIST_DIR)
|
|
rm -rf $(BUILD_DIR)
|
|
|
|
FREEBSD_LOCALBASE = /usr/local
|
|
FREEBSD_RCDIR = $(FREEBSD_LOCALBASE)/etc/rc.d
|
|
LINUX_SYSTEMDDIR = /lib/systemd/system
|
|
|
|
install-data-local:
|
|
test -z $(DESTDIR)$(srv_confdir) || $(MKDIR_P) $(DESTDIR)$(srv_confdir)
|
|
test -z $(DESTDIR)$(srv_logdir) || $(MKDIR_P) $(DESTDIR)$(srv_logdir)
|
|
test -z $(DESTDIR)$(srv_rundir) || $(MKDIR_P) $(DESTDIR)$(srv_rundir)
|
|
test -z $(DESTDIR)$(srv_datadir) || $(MKDIR_P) $(DESTDIR)$(srv_datadir)
|
|
if FREEBSD_OS
|
|
test -z $(DESTDIR)$(FREEBSD_RCDIR) || $(MKDIR_P) $(DESTDIR)$(FREEBSD_RCDIR)
|
|
$(INSTALL_DATA) initrc/mbased $(DESTDIR)$(FREEBSD_RCDIR)
|
|
chmod a+x $(DESTDIR)$(FREEBSD_RCDIR)/mbased
|
|
endif
|
|
if LINUX_OS
|
|
if SYSTEMD
|
|
test -z $(DESTDIR)$(LINUX_SYSTEMDDIR) || $(MKDIR_P) $(DESTDIR)$(LINUX_SYSTEMDDIR)
|
|
$(INSTALL_DATA) initrc/mbased.service $(DESTDIR)$(LINUX_SYSTEMDDIR)
|
|
endif
|
|
endif
|
|
|
|
clean-local:
|
|
$(FIND) $(CWD) -name '*~' | $(XARGS) rm -f
|
|
rm -rf autom4te.cache
|
|
rm -f cmd/mbased/mbased
|
|
rm -f cmd/mbasectl/mbasectl
|
|
# rm -rf tmp/
|
|
|
|
distclean-local:
|
|
rm -rf autom4te.cache
|
|
rm -rf $(DIST_DIR)
|
|
rm -rf tmp/
|
|
|
|
|
|
SWAG_OUTDIR = ./
|
|
SWAG_OPTS = --parseDependency \
|
|
--parseDepth 3 \
|
|
--exclude pkg,vendor \
|
|
--outputTypes yaml,json \
|
|
--output $(SWAG_OUTDIR)
|
|
|
|
apidoc:
|
|
mkdir -p $(SWAG_OUTDIR)
|
|
$(SWAG) init $(SWAG_OPTS) -g ./cmd/mbased/main.go
|
|
|