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