source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml: Properly partition the build system and install some missing
@ 2014-08-05  3:02 schwarze
  0 siblings, 0 replies; 2+ messages in thread
From: schwarze @ 2014-08-05  3:02 UTC (permalink / raw)
  To: source

Log Message:
-----------
Properly partition the build system and install some missing stuff:
* Introduce targets base-build, db-build, cgi-build.
* Introduce targets base-install, db-install, cgi-install.
* Introduce a BUILD_TARGETS variable to contain db-build and cgi-build.
* Introduce an INSTALL_TARGETS variable and fill it using BUILD_TARGETS.
* Install the whatis(1) and makewhatis(8) binaries.
* Install the apropos(1), whatis(1), and makewhatis(8) manuals.
* Install mandoc_aux.h.
* Do not build manpage(1) by default.

Modified Files:
--------------
    mdocml:
        Makefile

Revision Data
-------------
Index: Makefile
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/Makefile,v
retrieving revision 1.427
retrieving revision 1.428
diff -LMakefile -LMakefile -u -p -r1.427 -r1.428
--- Makefile
+++ Makefile
@@ -54,8 +54,13 @@ INSTALL_MAN	 = $(INSTALL_DATA)
 
 # If you want to build without database support, for example to avoid
 # the dependency on SQLite3, comment the following line.
+# However, you won't get apropos(1) and makewhatis(8) in that case.
 #
-DBBIN		 = makewhatis manpage apropos
+BUILD_TARGETS	+= db-build
+
+# The remaining settings in this section
+# are only relevant if db-build is enabled.
+# Otherwise, they have no effect either way.
 
 # If your system has manpath(1), uncomment this.  This is most any
 # system that's not OpenBSD or NetBSD.  If uncommented, apropos(1)
@@ -74,12 +79,19 @@ DBBIN		 = makewhatis manpage apropos
 #
 DBLIB		+= -lutil
 
+SBINDIR		 = $(PREFIX)/sbin
+
 # --- user settings related to man.cgi ---------------------------------
 
 # To build man.cgi, copy cgi.h.example to cgi.h, edit it,
 # and enable the following line.
+# Obviously, this requires that db-build is enabled, too.
 #
-#DBBIN		+= man.cgi
+#BUILD_TARGETS	+= cgi-build
+
+# The remaining settings in this section
+# are only relevant if cgi-build is enabled.
+# Otherwise, they have no effect either way.
 
 # If your system does not support static binaries, comment this,
 # for example on Mac OS X.
@@ -96,10 +108,13 @@ CGIBINDIR	 = $(WWWPREFIX)/cgi-bin
 
 # === END OF USER SETTINGS =============================================
 
-ALLBIN		 = mandoc preconv demandoc $(DBBIN)
-DBLIB		+= -lsqlite3
+INSTALL_TARGETS	 = $(BUILD_TARGETS:-build=-install)
+
+BASEBIN		 = mandoc preconv demandoc
+DBBIN		 = apropos makewhatis
+CGIBIN		 = man.cgi
 
-all: $(ALLBIN)
+DBLIB		+= -lsqlite3
 
 TESTSRCS	 = test-fgetln.c \
 		   test-getsubopt.c \
@@ -267,6 +282,16 @@ COMPAT_OBJS	 = compat_fgetln.o \
 
 # === DEPENDENCY HANDLING ==============================================
 
+all: base-build $(BUILD_TARGETS)
+
+base-build: $(BASEBIN)
+
+db-build: $(DBBIN)
+
+cgi-build: $(CGIBIN)
+
+install: base-install $(INSTALL_TARGETS)
+
 arch.o: arch.in
 att.o: att.in
 chars.o: chars.in
@@ -377,26 +402,42 @@ clean:
 	rm -f $(WWW_MANS) $(WWW_OBJS)
 	rm -rf *.dSYM
 
-install: all
+base-install: base-build
 	mkdir -p $(DESTDIR)$(BINDIR)
 	mkdir -p $(DESTDIR)$(EXAMPLEDIR)
 	mkdir -p $(DESTDIR)$(LIBDIR)
 	mkdir -p $(DESTDIR)$(INCLUDEDIR)
 	mkdir -p $(DESTDIR)$(MANDIR)/man1
 	mkdir -p $(DESTDIR)$(MANDIR)/man3
-	mkdir -p $(DESTDIR)$(MANDIR)/man5
 	mkdir -p $(DESTDIR)$(MANDIR)/man7
-	$(INSTALL_PROGRAM) $(ALLBIN) $(DESTDIR)$(BINDIR)
+	$(INSTALL_PROGRAM) $(BASEBIN) $(DESTDIR)$(BINDIR)
 	$(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR)
-	$(INSTALL_LIB) man.h mdoc.h mandoc.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h \
+		$(DESTDIR)$(INCLUDEDIR)
 	$(INSTALL_MAN) mandoc.1 preconv.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1
-	$(INSTALL_MAN) mandoc.3 mansearch.3 tbl.3 $(DESTDIR)$(MANDIR)/man3
-	$(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5
+	$(INSTALL_MAN) mandoc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3
 	$(INSTALL_MAN) man.7 mdoc.7 roff.7 eqn.7 tbl.7 mandoc_char.7 \
 		$(DESTDIR)$(MANDIR)/man7
 	$(INSTALL_DATA) example.style.css $(DESTDIR)$(EXAMPLEDIR)
 
-installcgi: all
+db-install: db-build
+	mkdir -p $(DESTDIR)$(BINDIR)
+	mkdir -p $(DESTDIR)$(SBINDIR)
+	mkdir -p $(DESTDIR)$(MANDIR)/man1
+	mkdir -p $(DESTDIR)$(MANDIR)/man3
+	mkdir -p $(DESTDIR)$(MANDIR)/man5
+	mkdir -p $(DESTDIR)$(MANDIR)/man8
+	$(INSTALL_PROGRAM) apropos $(DESTDIR)$(BINDIR)
+	ln -f $(DESTDIR)$(BINDIR)/apropos $(DESTDIR)$(BINDIR)/whatis
+	$(INSTALL_PROGRAM) makewhatis $(DESTDIR)$(SBINDIR)
+	$(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1
+	ln -f $(DESTDIR)$(MANDIR)/man1/apropos.1 \
+		$(DESTDIR)$(MANDIR)/man1/whatis.1
+	$(INSTALL_MAN) mansearch.3 $(DESTDIR)$(MANDIR)/man3
+	$(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5
+	$(INSTALL_MAN) makewhatis.8 $(DESTDIR)$(MANDIR)/man8
+
+cgi-install: cgi-build
 	mkdir -p $(DESTDIR)$(CGIBINDIR)
 	mkdir -p $(DESTDIR)$(HTDOCDIR)
 	mkdir -p $(DESTDIR)$(WWWPREFIX)/man/mandoc/man1
@@ -407,7 +448,7 @@ installcgi: all
 	$(INSTALL_MAN) apropos.1 $(DESTDIR)$(WWWPREFIX)/man/mandoc/man1/
 	$(INSTALL_MAN) man.cgi.8 $(DESTDIR)$(WWWPREFIX)/man/mandoc/man8/
 
-installwww: www
+www-install: www
 	mkdir -p $(DESTDIR)$(HTDOCDIR)/snapshots
 	$(INSTALL_DATA) $(WWW_MANS) style.css $(DESTDIR)$(HTDOCDIR)
 	$(INSTALL_DATA) $(WWW_OBJS) $(DESTDIR)$(HTDOCDIR)/snapshots
@@ -454,7 +495,7 @@ config.h: configure config.h.pre config.
 	rm -f config.log
 	CC="$(CC)" CFLAGS="$(CFLAGS)" VERSION="$(VERSION)" ./configure
 
-.PHONY: 	 clean install installcgi installwww
+.PHONY: 	 base-install clean cgi-install db-install install www-install
 .SUFFIXES:	 .1       .3       .5       .7       .8       .h
 .SUFFIXES:	 .1.html  .3.html  .5.html  .7.html  .8.html  .h.html
 
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] 2+ messages in thread

* mdocml: Properly partition the build system and install some missing
@ 2014-08-05  3:15 schwarze
  0 siblings, 0 replies; 2+ messages in thread
From: schwarze @ 2014-08-05  3:15 UTC (permalink / raw)
  To: source

Log Message:
-----------
Properly partition the build system and install some missing stuff:
* Introduce targets base-build and db-build.
* Introduce targets base-install and db-install.
* Introduce a BUILD_TARGETS variable to contain db-build.
* Introduce an INSTALL_TARGETS variable and fill it using BUILD_TARGETS.
* Install the apropos(1) and mandocdb(8) binaries.
* Install whatis(1) as a hard link to apropos(1).
* Install the apropos(1), whatis(1), and mandocdb(8) manuals.
* Install mandoc_aux.h.

Tags:
----
VERSION_1_12

Modified Files:
--------------
    mdocml:
        Makefile

Revision Data
-------------
Index: Makefile
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/Makefile,v
retrieving revision 1.395.2.22
retrieving revision 1.395.2.23
diff -LMakefile -LMakefile -u -p -r1.395.2.22 -r1.395.2.23
--- Makefile
+++ Makefile
@@ -54,8 +54,13 @@ INSTALL_MAN	 = $(INSTALL_DATA)
 
 # If you want to build without database support, for example to avoid
 # the dependency on Berkeley DB, comment the following line.
+# However, you won't get apropos(1) and makewhatis(8) in that case.
 #
-DBBIN		 = apropos mandocdb whatis
+BUILD_TARGETS	+= db-build
+
+# The remaining settings in this section
+# are only relevant if db-build is enabled.
+# Otherwise, they have no effect either way.
 
 # Non-BSD systems (Linux, etc.) need -ldb to compile mandocdb and
 # apropos.
@@ -73,9 +78,10 @@ HTDOCDIR	 = $(WWWPREFIX)/htdocs
 
 # === END OF USER SETTINGS =============================================
 
-ALLBIN		 = mandoc preconv demandoc $(DBBIN)
+INSTALL_TARGETS	 = $(BUILD_TARGETS:-build=-install)
 
-all: $(ALLBIN)
+BASEBIN		 = mandoc preconv demandoc
+DBBIN		 = apropos mandocdb
 
 TESTSRCS	 = test-betoh64.c \
 		   test-fgetln.c \
@@ -234,6 +240,14 @@ COMPAT_OBJS	 = compat_fgetln.o \
 
 # === DEPENDENCY HANDLING ==============================================
 
+all: base-build $(BUILD_TARGETS)
+
+base-build: $(BASEBIN)
+
+db-build: $(DBBIN)
+
+install: base-install $(INSTALL_TARGETS)
+
 arch.o: arch.in
 att.o: att.in
 chars.o: chars.in
@@ -319,7 +333,7 @@ www: $(WWW_OBJS) $(WWW_MANS)
 
 clean:
 	rm -f libmandoc.a $(LIBMANDOC_OBJS)
-	rm -f apropos whatis $(APROPOS_OBJS)
+	rm -f apropos $(APROPOS_OBJS)
 	rm -f mandocdb $(MANDOCDB_OBJS)
 	rm -f preconv $(PRECONV_OBJS)
 	rm -f demandoc $(DEMANDOC_OBJS)
@@ -328,7 +342,7 @@ clean:
 	rm -f $(WWW_MANS) $(WWW_OBJS)
 	rm -rf *.dSYM
 
-install: all
+base-install: base-build
 	mkdir -p $(DESTDIR)$(BINDIR)
 	mkdir -p $(DESTDIR)$(EXAMPLEDIR)
 	mkdir -p $(DESTDIR)$(LIBDIR)
@@ -336,16 +350,26 @@ install: all
 	mkdir -p $(DESTDIR)$(MANDIR)/man1
 	mkdir -p $(DESTDIR)$(MANDIR)/man3
 	mkdir -p $(DESTDIR)$(MANDIR)/man7
-	$(INSTALL_PROGRAM) mandoc preconv demandoc $(DESTDIR)$(BINDIR)
+	$(INSTALL_PROGRAM) $(BASEBIN) $(DESTDIR)$(BINDIR)
 	$(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR)
-	$(INSTALL_LIB) man.h mdoc.h mandoc.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h \
+		$(DESTDIR)$(INCLUDEDIR)
 	$(INSTALL_MAN) mandoc.1 preconv.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1
 	$(INSTALL_MAN) mandoc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3
 	$(INSTALL_MAN) man.7 mdoc.7 roff.7 eqn.7 tbl.7 mandoc_char.7 \
 		$(DESTDIR)$(MANDIR)/man7
 	$(INSTALL_DATA) example.style.css $(DESTDIR)$(EXAMPLEDIR)
 
-installwww: www
+db-install: db-build
+	mkdir -p $(DESTDIR)$(BINDIR)
+	mkdir -p $(DESTDIR)$(MANDIR)/man1
+	mkdir -p $(DESTDIR)$(MANDIR)/man8
+	$(INSTALL_PROGRAM) $(DBBIN) $(DESTDIR)$(BINDIR)
+	ln -f $(DESTDIR)$(BINDIR)/apropos $(DESTDIR)$(BINDIR)/whatis
+	$(INSTALL_MAN) apropos.1 whatis.1 $(DESTDIR)$(MANDIR)/man1
+	$(INSTALL_MAN) mandocdb.8 $(DESTDIR)$(MANDIR)/man8
+
+www-install: www
 	mkdir -p $(DESTDIR)$(HTDOCDIR)/snapshots
 	$(INSTALL_DATA) $(WWW_MANS) style.css $(DESTDIR)$(HTDOCDIR)
 	$(INSTALL_DATA) $(WWW_OBJS) $(DESTDIR)$(HTDOCDIR)/snapshots
@@ -366,9 +390,6 @@ mandocdb: $(MANDOCDB_OBJS) libmandoc.a
 preconv: $(PRECONV_OBJS)
 	$(CC) $(LDFLAGS) -o $@ $(PRECONV_OBJS)
 
-whatis: apropos
-	cp -f apropos whatis
-
 apropos: $(APROPOS_OBJS) libmandoc.a
 	$(CC) $(LDFLAGS) -o $@ $(APROPOS_OBJS) libmandoc.a $(DBLIB)
 
@@ -389,7 +410,7 @@ config.h: configure config.h.pre config.
 	rm -f config.log
 	CC="$(CC)" CFLAGS="$(CFLAGS)" VERSION="$(VERSION)" ./configure
 
-.PHONY: 	 clean install installwww
+.PHONY: 	 base-install clean db-install install www-install
 .SUFFIXES:	 .1       .3       .5       .7       .8       .h
 .SUFFIXES:	 .1.html  .3.html  .5.html  .7.html  .8.html  .h.html
 
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-08-05  3:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-05  3:02 mdocml: Properly partition the build system and install some missing schwarze
2014-08-05  3:15 schwarze

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).