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