X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-utils.git;a=blobdiff_plain;f=cprogs%2FMakefile;h=0e60a4feff0be08ce41214754b4e9b99a3b92843;hp=2066d600d2eba9afbd61e6ad5bfaaa42611e5087;hb=21675b620034c511324adc481210a83717cbcada;hpb=e483a046db5ff0972702a0dc29ba4e00b698d997;ds=sidebyside diff --git a/cprogs/Makefile b/cprogs/Makefile index 2066d60..0e60a4f 100644 --- a/cprogs/Makefile +++ b/cprogs/Makefile @@ -10,7 +10,7 @@ # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2, or (at your option) any later version. +# Foundation; either version 3, or (at your option) any later version. # # This is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS @@ -18,60 +18,90 @@ # details. # # You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# with this program; if not, consult the Free Software Foundation's +# website at www.fsf.org, or the GNU Project website at www.gnu.org. -CC= gcc -CFLAGS= $(WARNINGS) $(OPTIMISE) $(DEBUG) -CPPFLAGS= -DRWBUFFER_SIZE_MB=$(RWBUFFER_SIZE_MB) +us= chiark-utils-bin -WARNINGS= -Wall -Wwrite-strings -Wmissing-prototypes \ - -Wstrict-prototypes -Wpointer-arith -OPTIMISE= -O2 -DEBUG= -g -RWBUFFER_SIZE_MB=16 - -SYSTEM_GROUP= root - -prefix=/usr/local +include ../settings.make -bindir=$(prefix)/bin -sbindir=$(prefix)/sbin -mandir=${prefix}/man -man1dir=${mandir}/man1 -man8dir=${mandir}/man8 +RWBUFFER_SIZE_MB=16 -INSTALL= install -c -INSTALL_PROGRAM= $(INSTALL_SCRIPT) -s +PROGRAMS= readbuffer writebuffer with-lock-ex xbatmon-simple \ + summer watershed rcopy-repeatedly xduplic-copier \ + cgi-fcgi-interp +SUIDSBINPROGRAMS= really +DAEMONS= trivsoundd +MAN1PAGES= readbuffer.1 writebuffer.1 with-lock-ex.1 \ + xduplic-copier.1 summer.1 +MAN8PAGES= trivsoundd.8 really.8 +SEDDERYDOCS= watershed.txt cgi-fcgi-interp.txt \ + xbatmon-simple.txt rcopy-repeatedly.txt +BUILTTXTDOCS= $(SEDDERYDOCS) +TXTDOCS= $(BUILTTXTDOCS) -PROGRAMS= readbuffer writebuffer -DAEMONS= trivsoundd -MAN1PAGES= readbuffer.1 writebuffer.1 -MAN8PAGES= trivsoundd.8 +acctdump_cc_out:=$(shell \ + printf "\#include \n\#include " \ + | $(CC) -E - 2>&1 >/dev/null \ +) +ifeq (,$(acctdump_cc_out)) +PROGRAMS+=acctdump +MAN8PAGES+=acctdump.8 +else +$(warning Not building acctdump: $(acctdump_cc_out)) +endif -TARGETS= $(PROGRAMS) $(DAEMONS) +TARGETS= $(PROGRAMS) $(SUIDSBINPROGRAMS) $(DAEMONS) $(BUILTTXTDOCS) all: $(TARGETS) readbuffer: readbuffer.o rwbuffer.o writebuffer: writebuffer.o wrbufcore.o rwbuffer.o trivsoundd: trivsoundd.o wrbufcore.o rwbuffer.o -readbuffer.o writebuffer.o rwbuffer.o wrbufcoore.o: rwbuffer.h +really: really.o myopt.o +acctdump: acctdump.o myopt.o + +acctdump.o really.o myopt.o rcopy-repeatedly.o: myopt.h +readbuffer.o writebuffer.o rwbuffer.o wrbufcore.o trivsoundd.o: rwbuffer.h + +xbatmon-simple: LDLIBS += -lX11 -lm + +xduplic-copier: LDLIBS += -lXmu -lX11 +#xduplic-copier: LDLIBS += -lXmu -lSM -lICE -lXt -lXext +#xduplic-copier: LDLIBS += -lX11 -lxcb -lXau -lXdmcp + +summer: summer.o +summer: LDLIBS += -lnettle -lgmp + +rcopy-repeatedly: rcopy-repeatedly.o myopt.o +rcopy-repeatedly: LDLIBS += -lm -lrt + +watershed: watershed.o common.o +watershed: LDLIBS += -lnettle -lgmp + +cgi-fcgi-interp: cgi-fcgi-interp.o myopt.o common.o +cgi-fcgi-interp: LDLIBS += -lnettle + +$(SEDDERYDOCS): %.txt: %.c + sed '/^$$/,$$d' <$^ >$@.new && mv -f $@.new $@ install: all $(INSTALL_DIRECTORY) $(bindir) $(sbindir) $(INSTALL_PROGRAM) $(PROGRAMS) $(bindir) $(INSTALL_PROGRAM) $(DAEMONS) $(sbindir) + $(INSTALL) -m 4774 -o root -g $(SYSTEM_GROUP) \ + $(SUIDSBINPROGRAMS) $(sbindir) -install-docs: +install-docs: $(TXTDOCS) $(INSTALL_DIRECTORY) $(man1dir) $(man8dir) $(txtdocdir) $(INSTALL) -m 644 $(MAN1PAGES) ${man1dir}/. $(INSTALL) -m 644 $(MAN8PAGES) ${man8dir}/. + $(INSTALL) -m 644 $(TXTDOCS) ${txtdocdir}/. install-examples: clean: - rm -f *~ ./#*# *.o + rm -f *~ ./#*# *.o $(PROGRAMS) distclean realclean: clean rm -f $(TARGETS)