Files
webserv/Makefile.am
Олег Бородин e18bc7beef initial import
2024-01-16 09:02:47 +02:00

80 lines
1.9 KiB
Makefile

AUTOMAKE_OPTIONS = foreign no-dependencies no-installinfo
SUFFIXES = .go
OBJEXT= none
if DEV_MODE
noinst_PROGRAMS = webservd
else
sbin_PROGRAMS = webservd
endif
BUILD = $(shell date -u '+%Y-%m-%d-%H%M')
GOFLAGS = -v -ldflags='-s -w -X webserv/internal/config.defaultBuild=$(BUILD)'
webservd_SOURCES = cmd/webservd/main.go
webservd$(EXEEXT): $(webservd_SOURCES) $(EXTRA_webservd_SOURCES)
env CGO_ENABLED=0 $(GO) build $(GOFLAGS) -o webservd$(EXEEXT) $(webservd_SOURCES)
EXTRA_webservd_SOURCES =
EXTRA_DIST = $(EXTRA_webservd_SOURCES)
gformat:
for dir in $$(find internal pkg cmd -type d); do \
(cd $$dir && $(GO) fmt .); \
done
run:
env CGO_ENABLED=0 $(GO) run $(GOFLAGS) ./cmd/webservd/...
distclean-local:
rm -rf autom4te.cache
SWAG_OUTDIR = ./pkg/swaginfo
SWAG_OPTS = -q --parseDependency \
--parseInternal \
--parseDepth 2 \
--exclude pkg,works,assets \
--outputTypes go,json \
--generatedTime \
--output $(SWAG_OUTDIR)
swag:
mkdir -p $(SWAG_OUTDIR)
swag init $(SWAG_OPTS) -g ./cmd/webservd/main.go
FREEBSD_LOCALBASE = /usr/local
FREEBSD_RCDIR = $(FREEBSD_LOCALBASE)/etc/rc.d
LINUX_SYSTEMDDIR = /lib/systemd/system
install-data-local:
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/webservd $(DESTDIR)$(FREEBSD_RCDIR)
chmod a+x $(DESTDIR)$(FREEBSD_RCDIR)/webservd
endif
if LINUX_OS
if SYSTEMD
test -z $(DESTDIR)$(LINUX_SYSTEMDDIR) || $(MKDIR_P) $(DESTDIR)$(LINUX_SYSTEMDDIR)
$(INSTALL_DATA) initrc/webservd.service $(DESTDIR)$(LINUX_SYSTEMDDIR)
endif
endif
clean-local:
rm -rf autom4te.cache
rm -f cmd/webservd/webservd
rm -f cmd/webservctl/webservctl
rm -f webservd.log
rm -f webservd.pid