chiark / gitweb /
changelog: finalise 5.0.0
[chiark-utils.git] / cprogs / Makefile
index 141dbc0b107e78417ac63faf17c546afb3859852..0e60a4feff0be08ce41214754b4e9b99a3b92843 100644 (file)
@@ -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
 #
 # 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
 #
 # This is distributed in the hope that it will be useful, but WITHOUT ANY
 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 # details.
 #
 # You should have received a copy of the GNU General Public License along
 # 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.
+
+us=    chiark-utils-bin
 
 include ../settings.make
 
 RWBUFFER_SIZE_MB=16
 
 
 include ../settings.make
 
 RWBUFFER_SIZE_MB=16
 
-PROGRAMS=      readbuffer writebuffer
-DAEMONS=       trivsoundd
-MAN1PAGES=     readbuffer.1 writebuffer.1
-MAN8PAGES=     trivsoundd.8
+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)
+
+acctdump_cc_out:=$(shell \
+       printf "\#include <sys/types.h>\n\#include <sys/acct.h>" \
+               | $(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 
 
 all:           $(TARGETS)
 
 readbuffer:                    readbuffer.o                    rwbuffer.o
 writebuffer:                   writebuffer.o   wrbufcore.o     rwbuffer.o 
 trivsoundd:                    trivsoundd.o    wrbufcore.o     rwbuffer.o 
+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
 
 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:               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_DIRECTORY) $(man1dir) $(man8dir) $(txtdocdir)
                $(INSTALL) -m 644 $(MAN1PAGES) ${man1dir}/.
                $(INSTALL) -m 644 $(MAN8PAGES) ${man8dir}/.
+               $(INSTALL) -m 644 $(TXTDOCS) ${txtdocdir}/.
 
 install-examples:
 
 clean:
 
 install-examples:
 
 clean:
-               rm -f *~ ./#*# *.o
+               rm -f *~ ./#*# *.o $(PROGRAMS)
 
 distclean realclean:   clean
                rm -f $(TARGETS)
 
 distclean realclean:   clean
                rm -f $(TARGETS)