]> git.cameronkatri.com Git - mandoc.git/commitdiff
Integrate the makewhatis binary into the mandoc binary
authorIngo Schwarze <schwarze@openbsd.org>
Tue, 9 Dec 2014 07:29:42 +0000 (07:29 +0000)
committerIngo Schwarze <schwarze@openbsd.org>
Tue, 9 Dec 2014 07:29:42 +0000 (07:29 +0000)
just like we do it on OpenBSD.  Smaller and neater.
While here, let ./configure set INSTALL_TARGETS.

Makefile
configure
main.c
mandocdb.c

index 632c7a9d3c891b5d574a7f31b18e0a19d7f2632f..9fc6c03388833ed41e7aaf101f3d20fccf94eac8 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.451 2014/12/09 06:31:03 schwarze Exp $
+# $Id: Makefile,v 1.452 2014/12/09 07:29:42 schwarze Exp $
 #
 # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
 # Copyright (c) 2011, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -207,18 +207,19 @@ MANDOC_TERM_OBJS = eqn_term.o \
                   term_ps.o \
                   tbl_term.o
 
-MANDOC_OBJS     = $(MANDOC_HTML_OBJS) \
+BASE_OBJS       = $(MANDOC_HTML_OBJS) \
                   $(MANDOC_MAN_OBJS) \
                   $(MANDOC_TERM_OBJS) \
                   main.o \
                   out.o \
                   tree.o
 
-MAN_OBJS        = $(MANDOC_OBJS)
+MAIN_OBJS       = $(BASE_OBJS)
 
-MAKEWHATIS_OBJS         = mandocdb.o mansearch_const.o manpath.o
-
-APROPOS_OBJS    = mansearch.o mansearch_const.o manpath.o
+DB_OBJS                 = mandocdb.o \
+                  mansearch.o \
+                  mansearch_const.o \
+                  manpath.o
 
 CGI_OBJS        = $(MANDOC_HTML_OBJS) \
                   cgi.o \
@@ -265,16 +266,12 @@ WWW_OBJS   = mdocml.tar.gz \
 
 include Makefile.local
 
-INSTALL_TARGETS         = $(BUILD_TARGETS:-build=-install)
-
 # === DEPENDENCY HANDLING ==============================================
 
 all: base-build $(BUILD_TARGETS) Makefile.local
 
 base-build: mandoc demandoc
 
-db-build: makewhatis
-
 cgi-build: man.cgi
 
 install: base-install $(INSTALL_TARGETS)
@@ -295,8 +292,7 @@ distclean: clean
 
 clean:
        rm -f libmandoc.a $(LIBMANDOC_OBJS) $(COMPAT_OBJS)
-       rm -f mandoc $(MANDOC_OBJS) $(APROPOS_OBJS)
-       rm -f makewhatis $(MAKEWHATIS_OBJS)
+       rm -f mandoc $(BASE_OBJS) $(DB_OBJS)
        rm -f man.cgi $(CGI_OBJS)
        rm -f manpage $(MANPAGE_OBJS)
        rm -f demandoc $(DEMANDOC_OBJS)
@@ -322,7 +318,7 @@ base-install: base-build
                $(DESTDIR)$(MANDIR)/man7
        $(INSTALL_DATA) example.style.css $(DESTDIR)$(EXAMPLEDIR)
 
-db-install: db-build
+db-install: base-build
        mkdir -p $(DESTDIR)$(BINDIR)
        mkdir -p $(DESTDIR)$(SBINDIR)
        mkdir -p $(DESTDIR)$(MANDIR)/man1
@@ -332,7 +328,7 @@ db-install: db-build
        ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/apropos
        ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/man
        ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/whatis
-       $(INSTALL_PROGRAM) makewhatis $(DESTDIR)$(SBINDIR)
+       ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(SBINDIR)/makewhatis
        $(INSTALL_MAN) apropos.1 man.1 $(DESTDIR)$(MANDIR)/man1
        ln -f $(DESTDIR)$(MANDIR)/man1/apropos.1 \
                $(DESTDIR)$(MANDIR)/man1/whatis.1
@@ -358,11 +354,8 @@ Makefile.local config.h: configure ${TESTSRCS}
 libmandoc.a: $(COMPAT_OBJS) $(LIBMANDOC_OBJS)
        $(AR) rs $@ $(COMPAT_OBJS) $(LIBMANDOC_OBJS)
 
-mandoc: $(MAN_OBJS) libmandoc.a
-       $(CC) $(LDFLAGS) -o $@ $(MAN_OBJS) libmandoc.a $(DBLIB)
-
-makewhatis: $(MAKEWHATIS_OBJS) libmandoc.a
-       $(CC) $(LDFLAGS) -o $@ $(MAKEWHATIS_OBJS) libmandoc.a $(DBLIB)
+mandoc: $(MAIN_OBJS) libmandoc.a
+       $(CC) $(LDFLAGS) -o $@ $(MAIN_OBJS) libmandoc.a $(DBLIB)
 
 manpage: $(MANPAGE_OBJS) libmandoc.a
        $(CC) $(LDFLAGS) -o $@ $(MANPAGE_OBJS) libmandoc.a $(DBLIB)
index 0fb841cfcf205b2ed183e876cf31a9cc32a159ac..7e83d7245a5883f2c362ff9efee4abe97575f06d 100755 (executable)
--- a/configure
+++ b/configure
@@ -358,12 +358,15 @@ if [ ${BUILD_DB} -eq 0 -a ${BUILD_CGI} -gt 0 ]; then
 fi
 
 BUILD_TARGETS="base-build"
-[ ${BUILD_DB}  -gt 0 ] && BUILD_TARGETS="${BUILD_TARGETS} db-build"
 [ ${BUILD_CGI} -gt 0 ] && BUILD_TARGETS="${BUILD_TARGETS} cgi-build"
+INSTALL_TARGETS="base-install"
+[ ${BUILD_DB}  -gt 0 ] && INSTALL_TARGETS="${INSTALL_TARGETS} db-install"
+[ ${BUILD_CGI} -gt 0 ] && INSTALL_TARGETS="${INSTALL_TARGETS} cgi-install"
 
 cat << __HEREDOC__
 VERSION                = ${VERSION}
 BUILD_TARGETS  = ${BUILD_TARGETS}
+INSTALL_TARGETS        = ${INSTALL_TARGETS}
 CFLAGS         = ${CFLAGS}
 DBLIB          = ${DBLIB}
 STATIC         = ${STATIC}
@@ -385,7 +388,7 @@ INSTALL_DATA        = ${INSTALL_DATA}
 __HEREDOC__
 
 [ ${BUILD_DB} -gt 0 ] && \
-       echo "MAN_OBJS  = \$(MANDOC_OBJS) \$(APROPOS_OBJS)"
+       echo "MAIN_OBJS = \$(BASE_OBJS) \$(DB_OBJS)"
 
 echo "Makefile.local: written" 1>&2
 echo "Makefile.local: written" 1>&3
diff --git a/main.c b/main.c
index d55a5e8e9593ca9d815b86cbdb9dd1efd5544d75..7416321f81c702e4d209e67f6845211aa05c6c36 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1,4 +1,4 @@
-/*     $Id: main.c,v 1.202 2014/12/05 21:55:04 schwarze Exp $ */
+/*     $Id: main.c,v 1.203 2014/12/09 07:29:42 schwarze Exp $ */
 /*
  * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010, 2011, 2012, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -83,6 +83,9 @@ struct        curparse {
 };
 
 static int               koptions(int *, char *);
+#if HAVE_SQLITE3
+int                      mandocdb(int, char**);
+#endif
 static int               moptions(int *, char *);
 static void              mmsg(enum mandocerr, enum mandoclevel,
                                const char *, int, int, const char *);
@@ -130,6 +133,12 @@ main(int argc, char *argv[])
        else
                ++progname;
 
+#if HAVE_SQLITE3
+       if (0 == strncmp(progname, "mandocdb", 8) ||
+           0 == strncmp(progname, "makewhatis", 10))
+               return(mandocdb(argc, argv));
+#endif
+
        /* Search options. */
 
        memset(&paths, 0, sizeof(struct manpaths));
index 2da8687ff34b083a9042ba10d0ba1dbb2230064c..a2fac2027d5046a9f438828ac2328d81fca36eed 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mandocdb.c,v 1.178 2014/12/05 16:18:14 schwarze Exp $ */
+/*     $Id: mandocdb.c,v 1.179 2014/12/09 07:29:42 schwarze Exp $ */
 /*
  * Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2011, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -336,7 +336,7 @@ static      const struct mdoc_handler mdocs[MDOC_MAX] = {
 
 
 int
-main(int argc, char *argv[])
+mandocdb(int argc, char *argv[])
 {
        int               ch, i;
        size_t            j, sz;