chiark / gitweb /
Makefile.am: Use $(mkdir_p) instead of $(mkinstalldirs).
[mLib] / Makefile.am
index 8b79b3ea3be78ff90ccdf9867ada58aafe0a7a97..5e7f7fdea02c8737e9032d96dd75a8ae2a83e425 100644 (file)
@@ -37,6 +37,8 @@ pkginclude_HEADERS     =
 EXTRA_DIST              =
 CLEANFILES              =
 DISTCLEANFILES          =
+PROGMANS                =
+LIBMANS                         =
 
 confsubst               = $(top_srcdir)/config/confsubst
 
@@ -83,12 +85,15 @@ libmLib_la_LIBADD   += libutils.la
 
 ## Utility macros.
 pkginclude_HEADERS     += macros.h
+LIBMANS                        += macros.3
 
 ## Alignment.
 pkginclude_HEADERS     += align.h
+LIBMANS                        += align.3
 
 ## Bit manipulation.
 pkginclude_HEADERS     += bits.h
+LIBMANS                        += bits.3
 
 EXTRA_DIST             += bits.in bits-testgen.c
 tests:: bits.t bits.in
@@ -102,14 +107,17 @@ bits_t_LDFLAGS             = -static
 ## Exceptions.
 pkginclude_HEADERS     += exc.h
 libmLib_la_SOURCES     += exc.c
+LIBMANS                        += exc.3
 
 ## String handling.
 pkginclude_HEADERS     += str.h
 libutils_la_SOURCES    += str.c
+LIBMANS                        += str.3
 
 ## Version comparison.
 pkginclude_HEADERS     += versioncmp.h
 libmLib_la_SOURCES     += versioncmp.c
+LIBMANS                        += versioncmp.3
 
 EXTRA_DIST             += versioncmp.in
 tests:: versioncmp.t versioncmp.in
@@ -126,10 +134,12 @@ versioncmp_t_LDFLAGS       = -static
 ## Memory allocation.
 pkginclude_HEADERS     += alloc.h arena.h sub.h
 libmLib_la_SOURCES     += alloc.c arena.c sub.c
+LIBMANS                        += alloc.3 arena.3 sub.3
 
 ## Pool allocator.
 pkginclude_HEADERS     += pool.h
 libmLib_la_SOURCES     += pool.c pool-file.c pool-sub.c
+LIBMANS                        += pool.3
 
 ###--------------------------------------------------------------------------
 ### Hashing.
@@ -137,10 +147,12 @@ libmLib_la_SOURCES        += pool.c pool-file.c pool-sub.c
 ## CRC32.
 pkginclude_HEADERS     += crc32.h
 libmLib_la_SOURCES     += crc32.c crc32-tab.c
+LIBMANS                        += crc32.3
 
 bin_PROGRAMS           += crc-mktab
 crc_mktab_SOURCES       = crc-mktab.c $(UTIL_SOURCES)
 crc_mktab_LDADD                 = libutils.la
+PROGMANS               += crc-mktab.1
 
 BUILT_SOURCES          += crc32-tab.c
 CLEANFILES             += crc32-tab.c
@@ -155,10 +167,12 @@ pkginclude_HEADERS        += unihash.h
 libutils_la_SOURCES    += unihash.c
 libmLib_la_SOURCES     += unihash-global.c
 BUILT_SOURCES          += unihash-global.c
+LIBMANS                        += unihash.3
 
 bin_PROGRAMS           += unihash-mkstatic
 unihash_mkstatic_SOURCES = unihash-mkstatic.c
 unihash_mkstatic_LDADD  = libutils.la
+PROGMANS               += unihash-mkstatic.1
 
 BUILT_SOURCES          += unihash-global.c
 CLEANFILES             += unihash-global.c
@@ -185,14 +199,17 @@ unihash.in: unihash-check.pl
 ## Dynamic strings.
 pkginclude_HEADERS     += dstr.h dspool.h
 libmLib_la_SOURCES     += dstr.c dputf.c dspool.c
+LIBMANS                        += dstr.3 dspool.3
 
 ## Buffers.
 pkginclude_HEADERS     += buf.h
 libmLib_la_SOURCES     += buf.c buf-dstr.c
+LIBMANS                        += buf.3
 
 ## Dynamic arrays.
 pkginclude_HEADERS     += darray.h
 libmLib_la_SOURCES     += darray.c
+LIBMANS                        += darray.3
 
 CLEANFILES             += da.out
 tests:: darray.t da.in da.ref
@@ -218,10 +235,12 @@ da.ref: da-ref da.in
 ## Hash tables.
 pkginclude_HEADERS     += hash.h
 libmLib_la_SOURCES     += hash.c
+LIBMANS                        += hash.3
 
 ## Symbol tables.
 pkginclude_HEADERS     += sym.h
 libmLib_la_SOURCES     += sym.c
+LIBMANS                        += sym.3
 
 CLEANFILES             += sym.out
 tests:: sym.t sym.in sym.ref
@@ -247,10 +266,12 @@ sym.ref: sym-ref sym.in
 ## Atoms.
 pkginclude_HEADERS     += atom.h
 libmLib_la_SOURCES     += atom.c
+LIBMANS                        += atom.3
 
 ## Association tables.
 pkginclude_HEADERS     += assoc.h
 libmLib_la_SOURCES     += assoc.c
+LIBMANS                        += assoc.3
 
 CLEANFILES             += assoc.out
 tests:: assoc.t sym.in sym.ref
@@ -272,14 +293,17 @@ pkginclude_HEADERS        += mdwopt.h
 libmdwopt_la_SOURCES    = mdwopt.c
 libmdwopt_la_CPPFLAGS   = $(AM_CPPFLAGS) -DBUILDING_MLIB
 libutils_la_LIBADD     += libmdwopt.la
+LIBMANS                        += mdwopt.3
 
 ## Program naming.
 pkginclude_HEADERS     += quis.h
 libutils_la_SOURCES    += quis.c pquis.c
+LIBMANS                        += quis.3
 
 ## Error reporting.
 pkginclude_HEADERS     += report.h
 libutils_la_SOURCES    += report.c
+LIBMANS                        += report.3
 
 ###--------------------------------------------------------------------------
 ### Encoding and decoding.
@@ -287,10 +311,12 @@ libutils_la_SOURCES       += report.c
 ## form-urlencoded
 pkginclude_HEADERS     += url.h
 libmLib_la_SOURCES     += url.c
+LIBMANS                        += url.3
 
 ## base64
 pkginclude_HEADERS     += base64.h
 libmLib_la_SOURCES     += base64.c
+LIBMANS                        += base64.3
 
 EXTRA_DIST             += base64.in base64.ref
 CLEANFILES             += base64.out
@@ -309,6 +335,7 @@ base64_t_LDFLAGS     = -static
 ## base32
 pkginclude_HEADERS     += base32.h
 libmLib_la_SOURCES     += base32.c
+LIBMANS                        += base32.3
 
 EXTRA_DIST             += base32.in base32.ref
 CLEANFILES             += base32.out
@@ -327,6 +354,7 @@ base32_t_LDFLAGS     = -static
 ## hex
 pkginclude_HEADERS     += hex.h
 libmLib_la_SOURCES     += hex.c
+LIBMANS                        += hex.3
 
 EXTRA_DIST             += hex.in hex.ref
 CLEANFILES             += hex.out
@@ -348,30 +376,52 @@ hex_t_LDFLAGS              = -static
 ## Daemons.
 pkginclude_HEADERS     += daemonize.h
 libmLib_la_SOURCES     += daemonize.c
+LIBMANS                        += daemonize.3
 
 ## Environment variables.
 pkginclude_HEADERS     += env.h
 libmLib_la_SOURCES     += env.c
+LIBMANS                        += env.3
 
 ## File and descriptor flags.
 pkginclude_HEADERS     += fdflags.h
 libmLib_la_SOURCES     += fdflags.c
+LIBMANS                        += fdflags.3
 
 ## File descriptor passing.
 pkginclude_HEADERS     += fdpass.h
 libmLib_la_SOURCES     += fdpass.c
+LIBMANS                        += fdpass.3
 
 ## Watching files for modification.
 pkginclude_HEADERS     += fwatch.h
 libmLib_la_SOURCES     += fwatch.c
+LIBMANS                        += fwatch.3
 
 ## File locking.
 pkginclude_HEADERS     += lock.h
 libmLib_la_SOURCES     += lock.c
+LIBMANS                        += lock.3
+
+## File descriptor juggling.
+pkginclude_HEADERS     += mdup.h
+libmLib_la_SOURCES     += mdup.c
+LIBMANS                        += mdup.3
+
+check_PROGRAMS         += mdup.t
+mdup_t_SOURCES          = mdup-test.c
+mdup_t_CPPFLAGS                 = $(TEST_CPPFLAGS)
+mdup_t_LDFLAGS          = -static
+
+EXTRA_DIST             += mdup-test.sh
+CLEANFILES             += mdup.[0-9]*.out mdup.[0-9]*.err
+tests:: mdup.t mdup-test.sh
+       $(srcdir)/mdup-test.sh
 
 ## Time arithmetic.
 pkginclude_HEADERS     += tv.h
 libmLib_la_SOURCES     += tv.c
+LIBMANS                        += tv.3
 
 ###--------------------------------------------------------------------------
 ### Buffering.
@@ -379,10 +429,12 @@ libmLib_la_SOURCES        += tv.c
 ## Line buffering.
 pkginclude_HEADERS     += lbuf.h
 libmLib_la_SOURCES     += lbuf.c
+LIBMANS                        += lbuf.3
 
 ## Packet buffering.
 pkginclude_HEADERS     += pkbuf.h
 libmLib_la_SOURCES     += pkbuf.c
+LIBMANS                        += pkbuf.3
 
 ###--------------------------------------------------------------------------
 ### Network utilities.
@@ -390,25 +442,31 @@ libmLib_la_SOURCES        += pkbuf.c
 ## Core event selection.
 pkginclude_HEADERS     += sel.h
 libmLib_la_SOURCES     += sel.c
+LIBMANS                        += sel.3
 
 ## Waiting for buffers to fill.
 pkginclude_HEADERS     += selbuf.h selpk.h
 libmLib_la_SOURCES     += selbuf.c selpk.c
+LIBMANS                        += selbuf.3 selpk.3
 
 ## RFC931 identification.
 pkginclude_HEADERS     += ident.h
 libmLib_la_SOURCES     += ident.c
+LIBMANS                        += ident.3
 
 ## Nonblocking connections.
 pkginclude_HEADERS     += conn.h
 libmLib_la_SOURCES     += conn.c
+LIBMANS                        += conn.3
 
 ## Signal handling
 pkginclude_HEADERS     += sig.h
 libmLib_la_SOURCES     += sig.c
+LIBMANS                        += sig.3
 
 ## Name resolution.
 pkginclude_HEADERS     += bres.h
+LIBMANS                        += bres.3
 
 if WITH_ADNS
 libmLib_la_SOURCES     += bres-adns.c
@@ -426,6 +484,7 @@ endif
 ## Tracing.
 pkginclude_HEADERS     += trace.h
 libmLib_la_SOURCES     += trace.c traceopt.c
+LIBMANS                        += trace.3
 
 ## Memory tracking.
 pkginclude_HEADERS     += track.h
@@ -434,18 +493,37 @@ libmLib_la_SOURCES        += track.c
 ## Testing.
 pkginclude_HEADERS     += testrig.h
 libmLib_la_SOURCES     += testrig.c
+LIBMANS                        += testrig.3
 
 ###--------------------------------------------------------------------------
 ### Manual.
 
-SUBDIRS                        += man
-
-install-man:
-       (cd man && $(MAKE) install-man)
+EXTRA_DIST             += $(LIBMANS) $(PROGMANS)
+
+install-data-local: install-man
+install-man: $(LIBMANS) $(PROGMANS)
+       @$(NORMAL_INSTALL)
+       $(mkdir_p) $(DESTDIR)$(mandir)
+       $(top_srcdir)/config/maninst \
+               -d $(DESTDIR)$(mandir) -s $(srcdir) \
+               -i "$(INSTALL)" \
+               install $(PROGMANS)
+       $(top_srcdir)/config/maninst \
+               -d $(DESTDIR)$(mandir) -s $(srcdir) \
+               -i "$(INSTALL)" -e $(manext) \
+               install $(LIBMANS)
+.PHONY: install-man
+
+uninstall-local: uninstall-man
 uninstall-man:
-       (cd man && $(MAKE) uninstall-man)
-.PHONY: install-man uninstall-man
-
+       @$(NORMAL_UNINSTALL)
+       $(top_srcdir)/config/maninst \
+               -d $(DESTDIR)$(mandir) -s $(srcdir) \
+               uninstall $(PROGMANS)
+       $(top_srcdir)/config/maninst \
+               -d $(DESTDIR)$(mandir) -s $(srcdir) -e $(manext) \
+               uninstall $(LIBMANS)
+.PHONY: uninstall-man
 
 ###--------------------------------------------------------------------------
 ### Distribution.