chiark / gitweb /
cgi-fcgi-interp: new garbage collection approach, spec (more)
[chiark-utils.git] / cprogs / Makefile
index e9f19e01bc7f12caeb9d8a3f4c59be337acc0833..c64a984f22e291cd98857c14f42230138d32807b 100644 (file)
 # 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
 
-PROGRAMS=              readbuffer writebuffer with-lock-ex xacpi-simple \
-                       summer watershed rcopy-repeatedly
+PROGRAMS=              readbuffer writebuffer with-lock-ex xbatmon-simple \
+                       summer watershed rcopy-repeatedly xduplic-copier
 SUIDSBINPROGRAMS=      really
 DAEMONS=               trivsoundd
-MAN1PAGES=             readbuffer.1 writebuffer.1 with-lock-ex.1
+MAN1PAGES=             readbuffer.1 writebuffer.1 with-lock-ex.1 \
+                       xduplic-copier.1
 MAN8PAGES=             trivsoundd.8 really.8
-
-TARGETS=       $(PROGRAMS) $(SUIDSBINPROGRAMS) $(DAEMONS)
+BUILTTXTDOCS=          watershed.txt
+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) $(SUIDSBINPROGRAMS) $(DAEMONS) $(BUILTTXTDOCS)
 
 all:           $(TARGETS)
 
@@ -40,21 +56,30 @@ 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
 
-really.o myopt.o rcopy-repeatedly.o: myopt.h
+acctdump.o really.o myopt.o rcopy-repeatedly.o: myopt.h
 readbuffer.o writebuffer.o rwbuffer.o wrbufcore.o trivsoundd.o:        rwbuffer.h
 
-xacpi-simple:  xacpi-simple.o
-               $(CC) -o $@ $< -L/usr/X11R6/lib -lX11 -lm
+xbatmon-simple: LDLIBS += -lX11 -lm
+
+xduplic-copier: LDLIBS += -lXmu -lSM -lICE -lXt -lXext
+xduplic-copier: LDLIBS += -lX11 -lxcb -lXau -lXdmcp
 
 summer:                summer.o
-               $(CC) -o $@ $< -lnettle -lgmp
+summer:                LDLIBS += -lnettle -lgmp
 
 rcopy-repeatedly: rcopy-repeatedly.o myopt.o
-               $(CC) -o $@ $^ -lm -lrt
+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 -lgmp
 
-watershed:     watershed.o
-               $(CC) -o $@ $< -lnettle -lgmp
+watershed.txt: watershed.c
+               sed '/^$$/,$$d' <$^ >$@.new && mv -f $@.new $@
 
 install:               all
                $(INSTALL_DIRECTORY) $(bindir) $(sbindir)
@@ -63,15 +88,16 @@ install:            all
                $(INSTALL) -m 4774 -o root -g $(SYSTEM_GROUP) \
                        $(SUIDSBINPROGRAMS) $(sbindir)
 
-install-docs:
+install-docs:  watershed.txt
                $(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)