# Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright # notice and this notice are preserved. This file is offered as-is, # without any warranty. PREFIX = /usr BIN = /bin BINDIR = $(PREFIX)$(BIN) DATA = /share VARDIR = /var LOGDIR = $(VARDIR)/log DATADIR = $(PREFIX)$(DATA) DOCDIR = $(DATADIR)/doc INFODIR = $(DATADIR)/info LICENSEDIR = $(DATADIR)/licenses PKGNAME = cerberus-logging TEXI2DVI = texi2dvi CC = gcc -std=gnu99 CPPFLAGS = -D'LOGDIR="$(LOGDIR)"' CFLAGS = -Os LDFLAGS = SYSTEMS = btmp utmp lastlog syslog audit DEFAULT_SYSTEMS = utmp L_btmp = L_utmp = L_lastlog = L_syslog = L_audit = -laudit .PHONY: default default: $(DEFAULT_SYSTEMS) info .PHONY: all all: $(SYSTEMS) doc .PHONY: btmp utmp lastlog syslog audit btmp: bin/log-login-btmp utmp: bin/log-login-utmp lastlog: bin/log-login-lastlog syslog: bin/log-login-syslog audit: bin/log-login-audit bin/log-login-%: obj/log-login-%.o obj/common.o @mkdir -p bin $(CC) -o $@ $^ $(L_$*) $(LDFLAGS) obj/%.o: src/%.c src/*.h @mkdir -p obj $(CC) -c -o $@ $< $(CPPFLAGS) $(CFLAGS) .PHONY: doc doc: info pdf ps dvi .PHONY: info info: cerberus-logging.info %.info: info/%.texinfo makeinfo "$<" .PHONY: pdf pdf: cerberus-logging.pdf %.pdf: info/%.texinfo info/fdl.texinfo @mkdir -p obj/pdf cd obj/pdf && texi2pdf ../../$< < /dev/null mv obj/pdf/$@ $@ .PHONY: dvi dvi: cerberus-logging.dvi %.dvi: info/%.texinfo info/fdl.texinfo @mkdir -p obj/dvi cd obj/dvi && $(TEXI2DVI) ../../$< < /dev/null mv obj/dvi/$@ $@ .PHONY: ps ps: cerberus-logging.ps %.ps: info/%.texinfo info/fdl.texinfo @mkdir -p obj/ps cd obj/ps && texi2pdf --ps ../../$< < /dev/null mv obj/ps/$@ $@ .PHONY: install install: install-base install-default-systems install-info .PHONY: install-all install-all: install-base install-systems install-doc .PHONY: install-base install-base: install-logging install-license .PHONY: install-logging install-logging: mkdir -p -- "$(DESTDIR)$(DATADIR)/$(PKGNAME)" cp -- src/logging "$(DESTDIR)$(DATADIR)/$(PKGNAME)/logging" .PHONY: install-license install-license: mkdir -p -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" cp -- COPYING LICENSE "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" .PHONY: install-systems install-systems: $(foreach S,$(SYSTEMS),install-$(S)) .PHONY: install-default-systems install-default-systems: $(foreach S,$(DEFAULT_SYSTEMS),install-$(S)) .PHONY: install-btmp install-btmp: bin/log-login-btmp mkdir -p -- "$(DESTDIR)$(BINDIR)" cp -- bin/log-login-btmp "$(DESTDIR)$(BINDIR)/log-login-btmp" .PHONY: install-utmp install-utmp: bin/log-login-utmp mkdir -p -- "$(DESTDIR)$(BINDIR)" cp -- bin/log-login-utmp "$(DESTDIR)$(BINDIR)/log-login-utmp" .PHONY: install-lastlog install-lastlog: bin/log-login-lastlog mkdir -p -- "$(DESTDIR)$(BINDIR)" cp -- bin/log-login-lastlog "$(DESTDIR)$(BINDIR)/log-login-lastlog" .PHONY: install-syslog install-syslog: bin/log-login-syslog mkdir -p -- "$(DESTDIR)$(BINDIR)" cp -- bin/log-login-syslog "$(DESTDIR)$(BINDIR)/log-login-syslog" .PHONY: install-audit install-audit: bin/log-login-audit mkdir -p -- "$(DESTDIR)$(BINDIR)" cp -- bin/log-login-audit "$(DESTDIR)$(BINDIR)/log-login-audit" .PHONY: install-doc install-doc: install-info install-pdf install-ps install-dvi .PHONY: install-info install-info: cerberus-logging.info mkdir -p -- "$(DESTDIR)$(INFODIR)" cp -- cerberus-logging.info "$(DESTDIR)$(INFODIR)/$(PKGNAME).info" .PHONY: install-pdf install-pdf: cerberus-logging.pdf mkdir -p -- "$(DESTDIR)$(DOCDIR)" cp -- cerberus-logging.pdf "$(DESTDIR)$(DOCDIR)/$(PKGNAME).pdf" .PHONY: install-ps install-ps: cerberus-logging.ps mkdir -p -- "$(DESTDIR)$(DOCDIR)" cp -- cerberus-logging.ps "$(DESTDIR)$(DOCDIR)/$(PKGNAME).ps" .PHONY: install-dvi install-dvi: cerberus-logging.dvi mkdir -p -- "$(DESTDIR)$(DOCDIR)" cp -- cerberus-logging.dvi "$(DESTDIR)$(DOCDIR)/$(PKGNAME).dvi" .PHONY: uninstall uninstall: -rm -- "$(DESTDIR)$(DATADIR)/$(PKGNAME)/logging" -rmdir -- "$(DESTDIR)$(DATADIR)/$(PKGNAME)" -rm -- $(foreach S,$(SYSTEMS),"$(DESTDIR)$(BINDIR)/log-login-$(S)") -rm -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/COPYING" -rm -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/LICENSE" -rmdir -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" -rm -- "$(DESTDIR)$(INFODIR)/$(PKGNAME).info" -rm -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME).pdf" -rm -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME).ps" -rm -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME).dvi" .PHONY: clean clean: -rm -fr -- bin obj *.su src/*.su