1# Last modified by jlc on Apr 29, 2019
2
3SHSCRIPT  = ncidrotate.sh
4ETCCONF   = ncidrotate.conf rotatebysize.conf
5LOGCONF   = ncid.logrotate
6MANSRC1   = ncidrotate.1-in
7MANSRC5   = ncidrotate.conf.5 rotatebysize.conf.5
8MANSRC    = $(MANSRC1) $(MANSRC5)
9FILES     = README-logrotate Makefile \
10            $(SHSCRIPT) $(ETCCONF) $(LOGCONF) $(MANSRC)
11
12prefix    = /usr
13prefix2   =
14prefix3   =
15
16SHARE     = $(prefix)/share
17ETC       = $(prefix2)/etc
18CONFDIR   = $(ETC)/ncid
19ROTATEDIR = $(ETC)/logrotate.d
20
21NCIDDIR   = $(SHARE)/ncid
22SYSDIR    = $(NCIDDIR)/sys
23MODDIR    = $(NCIDDIR)/modules
24ANNDIR    = $(NCIDDIR)/recordings
25EXTDIR    = $(NCIDDIR)/extensions
26
27MANDIR    = $(SHARE)/man
28MAN1      = $(MANDIR)/man1
29MAN5      = $(MANDIR)/man5
30
31ROTATE  = $(LOGCONF:.logrotate=)
32SCRIPTS = $(SHSCRIPT:.sh=)
33
34DIST1   = $(MANSRC1:-in=)
35
36usage:
37	@echo "to build a Linux and Win/cygwin binary: make logrotate"
38	@echo "to build a BSD, or Mac binary: make local"
39	@echo "to install in /usr: make install"
40	@echo "to install in /usr/local: make install-local"
41
42local:
43	$(MAKE) logrotate prefix=/usr/local prefix2=/usr/local prefix3=$(prefix3)
44
45logrotate: $(ROTATE) $(SCRIPTS) man
46
47man: $(DIST1)
48
49%.1 : %.1-in
50	sed 's,/etc,$(ETC),;s,/usr/share,$(SHARE),' $< > $@
51
52% : %.sh
53	sed 's,/etc,$(ETC),' $< > $@
54	chmod 755 $@
55
56% : %.logrotate
57	sed 's,/usr/share,$(SHARE),;s,/etc,$(ETC),' $< > $@
58
59install-local:
60	$(MAKE) install prefix=/usr/local prefix2=/usr/local prefix3=$(prefix3)
61
62install:  install-scripts install-logrotate install-man
63
64install-scripts: $(SCRIPTS)
65	# The location for the logrotate script changed,
66	# This deletes the script from the old directory
67	# and installs the current script in the new directory.
68	@if test ! -d $(SYSDIR); then mkdir -p $(SYSDIR); fi
69	cd $(NCIDDIR); rm -f $(SCRIPTS)
70	install -m 755 $(SCRIPTS) $(SYSDIR)
71
72install-etc: $(ETCCONF)
73	@if test ! -d $(CONFDIR); then mkdir -p $(CONFDIR); fi
74	for conf in $(ETCCONF); do \
75        test -f $(CONFDIR)/$$conf &&  \
76            install -m 644 $$conf $(CONFDIR)/$$conf.new || \
77            install -m 644 $$conf $(CONFDIR); \
78    done
79
80install-logrotate: $(ROTATE)
81	@if test ! -d $(ROTATEDIR); then mkdir -p $(ROTATEDIR); fi
82	install -m 644 ncid $(ROTATEDIR)
83
84install-man: $(MANSRC1) $(MANSRC5)
85	@if ! test -d $(MAN1); then mkdir -p $(MAN1); fi
86	cd $(MAN1); rm -f $(MANSRC1)
87	install -m 644 $(DIST1) $(MAN1)
88	@if ! test -d $(MAN5); then mkdir -p $(MAN5); fi
89	cd $(MAN5); rm -f $(MANSRC5)
90	install -m 644 $(MANSRC5) $(MAN5)
91
92clean:
93
94clobber: clean
95	rm -f $(ROTATE) $(SCRIPTS) $(DIST1)
96	rm -f *.zip *.tar.gz *.tgz
97
98distclean: clobber
99
100files:	$(FILES)
101