[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Annotation of mandoc/Makefile, Revision 1.419

1.419   ! schwarze    1: # $Id$
        !             2: #
        !             3: # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
        !             4: # Copyright (c) 2011, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
        !             5: #
        !             6: # Permission to use, copy, modify, and distribute this software for any
        !             7: # purpose with or without fee is hereby granted, provided that the above
        !             8: # copyright notice and this permission notice appear in all copies.
        !             9: #
        !            10: # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
        !            11: # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
        !            12: # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
        !            13: # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
        !            14: # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
        !            15: # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
        !            16: # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1.259     kristaps   17:
1.413     schwarze   18: VERSION                 = 1.13.0
                     19:
                     20: # === USER SETTINGS ====================================================
                     21:
1.259     kristaps   22: # Specify this if you want to hard-code the operating system to appear
                     23: # in the lower-left hand corner of -mdoc manuals.
1.375     kristaps   24: #
1.419   ! schwarze   25: # CFLAGS       += -DOSNAME="\"OpenBSD 5.5\""
1.259     kristaps   26:
1.341     kristaps   27: # IFF your system supports multi-byte functions (setlocale(), wcwidth(),
                     28: # putwchar()) AND has __STDC_ISO_10646__ (that is, wchar_t is simply a
                     29: # UCS-4 value) should you define USE_WCHAR.  If you define it and your
                     30: # system DOESN'T support this, -Tlocale will produce garbage.
                     31: # If you don't define it, -Tlocale is a synonym for -Tacsii.
1.375     kristaps   32: #
1.362     kristaps   33: CFLAGS         += -DUSE_WCHAR
1.375     kristaps   34:
1.380     kristaps   35: # If your system has manpath(1), uncomment this.  This is most any
1.396     kristaps   36: # system that's not OpenBSD or NetBSD.  If uncommented, manpage(1) and
1.416     schwarze   37: # makewhatis(8) will use manpath(1) to get the MANPATH variable.
1.399     kristaps   38: #CFLAGS                += -DUSE_MANPATH
1.383     kristaps   39:
1.401     schwarze   40: # If your system does not support static binaries, comment this,
                     41: # for example on Mac OS X.
1.386     kristaps   42: STATIC          = -static
1.401     schwarze   43: # Linux requires -pthread to statically link with libdb.
                     44: #STATIC                += -pthread
1.379     kristaps   45:
1.404     schwarze   46: CFLAGS         += -I/usr/local/include -g -DHAVE_CONFIG_H
1.319     kristaps   47: CFLAGS         += -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings
                     48: PREFIX          = /usr/local
1.387     kristaps   49: WWWPREFIX       = /var/www
                     50: HTDOCDIR        = $(WWWPREFIX)/htdocs
                     51: CGIBINDIR       = $(WWWPREFIX)/cgi-bin
1.319     kristaps   52: BINDIR          = $(PREFIX)/bin
1.321     kristaps   53: INCLUDEDIR      = $(PREFIX)/include/mandoc
                     54: LIBDIR          = $(PREFIX)/lib/mandoc
1.319     kristaps   55: MANDIR          = $(PREFIX)/man
                     56: EXAMPLEDIR      = $(PREFIX)/share/examples/mandoc
                     57: INSTALL                 = install
                     58: INSTALL_PROGRAM         = $(INSTALL) -m 0755
                     59: INSTALL_DATA    = $(INSTALL) -m 0444
                     60: INSTALL_LIB     = $(INSTALL) -m 0644
1.353     kristaps   61: INSTALL_SOURCE  = $(INSTALL) -m 0644
1.319     kristaps   62: INSTALL_MAN     = $(INSTALL_DATA)
                     63:
1.413     schwarze   64: # If you want to build without database support, for example to avoid
                     65: # the dependency on SQLite3, comment the following two lines.
1.396     kristaps   66: DBLIB           = -L/usr/local/lib -lsqlite3
1.416     schwarze   67: DBBIN           = makewhatis manpage apropos
1.358     kristaps   68:
1.413     schwarze   69: # === END OF USER SETTINGS =============================================
                     70:
                     71: ALLBIN          = mandoc preconv demandoc $(DBBIN)
                     72:
                     73: all: $(ALLBIN)
1.319     kristaps   74:
1.407     schwarze   75: TESTSRCS        = test-fgetln.c \
                     76:                   test-getsubopt.c \
                     77:                   test-mmap.c \
                     78:                   test-ohash.c \
1.418     schwarze   79:                   test-reallocarray.c \
1.407     schwarze   80:                   test-strlcat.c \
                     81:                   test-strlcpy.c \
1.408     schwarze   82:                   test-strnlen.c \
1.407     schwarze   83:                   test-strptime.c
                     84:
1.417     schwarze   85: SRCS            = LICENSE \
                     86:                   Makefile \
1.401     schwarze   87:                   NEWS \
1.389     kristaps   88:                   TODO \
1.401     schwarze   89:                   apropos.1 \
                     90:                   apropos.c \
1.319     kristaps   91:                   arch.c \
                     92:                   arch.in \
                     93:                   att.c \
                     94:                   att.in \
1.389     kristaps   95:                   cgi.c \
1.319     kristaps   96:                   chars.c \
                     97:                   chars.in \
1.390     kristaps   98:                   compat_fgetln.c \
1.362     kristaps   99:                   compat_getsubopt.c \
1.410     schwarze  100:                   compat_ohash.c \
                    101:                   compat_ohash.h \
1.418     schwarze  102:                   compat_reallocarray.c \
1.406     schwarze  103:                   compat_strcasestr.c \
1.362     kristaps  104:                   compat_strlcat.c \
                    105:                   compat_strlcpy.c \
1.408     schwarze  106:                   compat_strnlen.c \
1.406     schwarze  107:                   compat_strsep.c \
1.319     kristaps  108:                   config.h.post \
                    109:                   config.h.pre \
1.409     schwarze  110:                   configure \
1.389     kristaps  111:                   demandoc.1 \
1.369     kristaps  112:                   demandoc.c \
1.319     kristaps  113:                   eqn.7 \
                    114:                   eqn.c \
1.360     kristaps  115:                   eqn_html.c \
1.359     kristaps  116:                   eqn_term.c \
1.319     kristaps  117:                   example.style.css \
1.401     schwarze  118:                   gmdiff \
1.319     kristaps  119:                   html.c \
                    120:                   html.h \
                    121:                   lib.c \
                    122:                   lib.in \
                    123:                   libman.h \
                    124:                   libmandoc.h \
                    125:                   libmdoc.h \
                    126:                   libroff.h \
                    127:                   main.c \
                    128:                   main.h \
1.416     schwarze  129:                   makewhatis.8 \
1.319     kristaps  130:                   man.7 \
                    131:                   man.c \
1.391     kristaps  132:                   man-cgi.css \
1.389     kristaps  133:                   man.h \
1.319     kristaps  134:                   man_hash.c \
                    135:                   man_html.c \
                    136:                   man_macro.c \
                    137:                   man_term.c \
                    138:                   man_validate.c \
                    139:                   mandoc.1 \
                    140:                   mandoc.3 \
                    141:                   mandoc.c \
1.415     schwarze  142:                   mandoc.db.5 \
1.319     kristaps  143:                   mandoc.h \
1.414     schwarze  144:                   mandoc_aux.c \
                    145:                   mandoc_aux.h \
1.389     kristaps  146:                   mandoc_char.7 \
1.355     kristaps  147:                   mandocdb.c \
1.410     schwarze  148:                   manpage.c \
1.380     kristaps  149:                   manpath.c \
                    150:                   manpath.h \
1.415     schwarze  151:                   mansearch.3 \
1.410     schwarze  152:                   mansearch.c \
                    153:                   mansearch.h \
1.411     schwarze  154:                   mansearch_const.c \
1.319     kristaps  155:                   mdoc.7 \
                    156:                   mdoc.c \
1.389     kristaps  157:                   mdoc.h \
1.319     kristaps  158:                   mdoc_argv.c \
                    159:                   mdoc_hash.c \
                    160:                   mdoc_html.c \
                    161:                   mdoc_macro.c \
1.371     schwarze  162:                   mdoc_man.c \
1.319     kristaps  163:                   mdoc_term.c \
                    164:                   mdoc_validate.c \
                    165:                   msec.c \
                    166:                   msec.in \
                    167:                   out.c \
                    168:                   out.h \
1.344     kristaps  169:                   preconv.1 \
                    170:                   preconv.c \
1.342     kristaps  171:                   predefs.in \
1.319     kristaps  172:                   read.c \
                    173:                   roff.7 \
                    174:                   roff.c \
                    175:                   st.c \
                    176:                   st.in \
                    177:                   style.css \
1.401     schwarze  178:                   tbl.3 \
1.319     kristaps  179:                   tbl.7 \
                    180:                   tbl.c \
                    181:                   tbl_data.c \
                    182:                   tbl_html.c \
                    183:                   tbl_layout.c \
                    184:                   tbl_opts.c \
                    185:                   tbl_term.c \
                    186:                   term.c \
                    187:                   term.h \
                    188:                   term_ascii.c \
                    189:                   term_ps.c \
                    190:                   tree.c \
                    191:                   vol.c \
1.407     schwarze  192:                   vol.in \
                    193:                   $(TESTSRCS)
1.319     kristaps  194:
                    195: LIBMAN_OBJS     = man.o \
                    196:                   man_hash.o \
                    197:                   man_macro.o \
                    198:                   man_validate.o
1.325     kristaps  199:
1.319     kristaps  200: LIBMDOC_OBJS    = arch.o \
                    201:                   att.o \
                    202:                   lib.o \
                    203:                   mdoc.o \
                    204:                   mdoc_argv.o \
                    205:                   mdoc_hash.o \
                    206:                   mdoc_macro.o \
                    207:                   mdoc_validate.o \
                    208:                   st.o \
                    209:                   vol.o
1.325     kristaps  210:
1.319     kristaps  211: LIBROFF_OBJS    = eqn.o \
                    212:                   roff.o \
                    213:                   tbl.o \
                    214:                   tbl_data.o \
                    215:                   tbl_layout.o \
                    216:                   tbl_opts.o
1.325     kristaps  217:
1.319     kristaps  218: LIBMANDOC_OBJS  = $(LIBMAN_OBJS) \
                    219:                   $(LIBMDOC_OBJS) \
                    220:                   $(LIBROFF_OBJS) \
1.333     kristaps  221:                   chars.o \
1.319     kristaps  222:                   mandoc.o \
1.414     schwarze  223:                   mandoc_aux.o \
1.385     schwarze  224:                   msec.o \
1.319     kristaps  225:                   read.o
1.325     kristaps  226:
1.390     kristaps  227: COMPAT_OBJS     = compat_fgetln.o \
                    228:                   compat_getsubopt.o \
1.397     kristaps  229:                   compat_ohash.o \
1.418     schwarze  230:                   compat_reallocarray.o \
1.406     schwarze  231:                   compat_strcasestr.o \
1.362     kristaps  232:                   compat_strlcat.o \
1.406     schwarze  233:                   compat_strlcpy.o \
1.408     schwarze  234:                   compat_strnlen.o \
1.406     schwarze  235:                   compat_strsep.o
1.319     kristaps  236:
1.419   ! schwarze  237: # === DEPENDENCY HANDLING ==============================================
        !           238:
1.396     kristaps  239: arch.o: arch.in
                    240: att.o: att.in
                    241: chars.o: chars.in
                    242: lib.o: lib.in
                    243: msec.o: msec.in
                    244: roff.o: predefs.in
                    245: st.o: st.in
                    246: vol.o: vol.in
                    247:
                    248: $(LIBMAN_OBJS): libman.h
                    249: $(LIBMDOC_OBJS): libmdoc.h
                    250: $(LIBROFF_OBJS): libroff.h
1.414     schwarze  251: $(LIBMANDOC_OBJS): mandoc.h mandoc_aux.h mdoc.h man.h libmandoc.h config.h
1.397     kristaps  252: $(COMPAT_OBJS): config.h compat_ohash.h
1.362     kristaps  253:
1.360     kristaps  254: MANDOC_HTML_OBJS = eqn_html.o \
                    255:                   html.o \
1.319     kristaps  256:                   man_html.o \
                    257:                   mdoc_html.o \
                    258:                   tbl_html.o
1.396     kristaps  259: $(MANDOC_HTML_OBJS): html.h
1.325     kristaps  260:
1.371     schwarze  261: MANDOC_MAN_OBJS  = mdoc_man.o
                    262:
1.359     kristaps  263: MANDOC_TERM_OBJS = eqn_term.o \
                    264:                   man_term.o \
1.319     kristaps  265:                   mdoc_term.o \
                    266:                   term.o \
                    267:                   term_ascii.o \
                    268:                   term_ps.o \
                    269:                   tbl_term.o
1.396     kristaps  270: $(MANDOC_TERM_OBJS): term.h
1.325     kristaps  271:
1.319     kristaps  272: MANDOC_OBJS     = $(MANDOC_HTML_OBJS) \
1.371     schwarze  273:                   $(MANDOC_MAN_OBJS) \
1.319     kristaps  274:                   $(MANDOC_TERM_OBJS) \
                    275:                   main.o \
                    276:                   out.o \
                    277:                   tree.o
1.414     schwarze  278: $(MANDOC_OBJS): main.h mandoc.h mandoc_aux.h mdoc.h man.h config.h out.h
1.319     kristaps  279:
1.416     schwarze  280: MAKEWHATIS_OBJS         = mandocdb.o mansearch_const.o manpath.o
                    281: $(MAKEWHATIS_OBJS): mansearch.h mandoc.h mandoc_aux.h \
1.414     schwarze  282:                  mdoc.h man.h config.h manpath.h
1.326     kristaps  283:
1.343     kristaps  284: PRECONV_OBJS    = preconv.o
1.396     kristaps  285: $(PRECONV_OBJS): config.h
1.376     kristaps  286:
1.412     schwarze  287: APROPOS_OBJS    = apropos.o mansearch.o mansearch_const.o manpath.o
1.419   ! schwarze  288: $(APROPOS_OBJS): config.h mandoc.h mandoc_aux.h manpath.h mansearch.h
1.372     kristaps  289:
1.412     schwarze  290: MANPAGE_OBJS    = manpage.o mansearch.o mansearch_const.o manpath.o
1.419   ! schwarze  291: $(MANPAGE_OBJS): config.h mandoc.h mandoc_aux.h manpath.h mansearch.h
1.381     kristaps  292:
1.369     kristaps  293: DEMANDOC_OBJS   = demandoc.o
1.419   ! schwarze  294: $(DEMANDOC_OBJS): config.h mandoc.h man.h mdoc.h
1.369     kristaps  295:
1.413     schwarze  296: WWW_MANS        = apropos.1.html \
1.401     schwarze  297:                   demandoc.1.html \
1.369     kristaps  298:                   mandoc.1.html \
1.401     schwarze  299:                   preconv.1.html \
1.319     kristaps  300:                   mandoc.3.html \
1.415     schwarze  301:                   mansearch.3.html \
1.401     schwarze  302:                   tbl.3.html \
1.415     schwarze  303:                   mandoc.db.5.html \
1.319     kristaps  304:                   eqn.7.html \
                    305:                   man.7.html \
                    306:                   mandoc_char.7.html \
                    307:                   mdoc.7.html \
                    308:                   roff.7.html \
                    309:                   tbl.7.html \
1.416     schwarze  310:                   makewhatis.8.html \
1.413     schwarze  311:                   man.h.html \
                    312:                   mandoc.h.html \
1.419   ! schwarze  313:                   mandoc_aux.h.html \
1.415     schwarze  314:                   manpath.h.html \
                    315:                   mansearch.h.html \
1.413     schwarze  316:                   mdoc.h.html
1.319     kristaps  317:
1.419   ! schwarze  318: WWW_OBJS        = mdocml.tar.gz \
        !           319:                   mdocml.sha256
        !           320:
        !           321: www: $(WWW_OBJS) $(WWW_MANS)
1.319     kristaps  322:
1.419   ! schwarze  323: # === TARGETS CONTAINING SHELL COMMANDS ================================
1.132     kristaps  324:
1.1       kristaps  325: clean:
1.319     kristaps  326:        rm -f libmandoc.a $(LIBMANDOC_OBJS)
1.396     kristaps  327:        rm -f apropos $(APROPOS_OBJS)
1.416     schwarze  328:        rm -f makewhatis $(MAKEWHATIS_OBJS)
1.343     kristaps  329:        rm -f preconv $(PRECONV_OBJS)
1.396     kristaps  330:        rm -f manpage $(MANPAGE_OBJS)
1.369     kristaps  331:        rm -f demandoc $(DEMANDOC_OBJS)
1.319     kristaps  332:        rm -f mandoc $(MANDOC_OBJS)
1.396     kristaps  333:        rm -f config.h config.log $(COMPAT_OBJS)
1.413     schwarze  334:        rm -f $(WWW_MANS) $(WWW_OBJS)
1.396     kristaps  335:        rm -rf *.dSYM
1.290     kristaps  336:
1.319     kristaps  337: install: all
1.270     joerg     338:        mkdir -p $(DESTDIR)$(BINDIR)
                    339:        mkdir -p $(DESTDIR)$(EXAMPLEDIR)
1.332     kristaps  340:        mkdir -p $(DESTDIR)$(LIBDIR)
1.334     kristaps  341:        mkdir -p $(DESTDIR)$(INCLUDEDIR)
1.270     joerg     342:        mkdir -p $(DESTDIR)$(MANDIR)/man1
1.319     kristaps  343:        mkdir -p $(DESTDIR)$(MANDIR)/man3
1.415     schwarze  344:        mkdir -p $(DESTDIR)$(MANDIR)/man5
1.270     joerg     345:        mkdir -p $(DESTDIR)$(MANDIR)/man7
1.413     schwarze  346:        $(INSTALL_PROGRAM) $(ALLBIN) $(DESTDIR)$(BINDIR)
1.324     kristaps  347:        $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR)
1.352     kristaps  348:        $(INSTALL_LIB) man.h mdoc.h mandoc.h $(DESTDIR)$(INCLUDEDIR)
1.369     kristaps  349:        $(INSTALL_MAN) mandoc.1 preconv.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1
1.415     schwarze  350:        $(INSTALL_MAN) mandoc.3 mansearch.3 tbl.3 $(DESTDIR)$(MANDIR)/man3
                    351:        $(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5
1.419   ! schwarze  352:        $(INSTALL_MAN) man.7 mdoc.7 roff.7 eqn.7 tbl.7 mandoc_char.7 \
        !           353:                $(DESTDIR)$(MANDIR)/man7
1.270     joerg     354:        $(INSTALL_DATA) example.style.css $(DESTDIR)$(EXAMPLEDIR)
1.387     kristaps  355:
                    356: installcgi: all
                    357:        mkdir -p $(DESTDIR)$(CGIBINDIR)
                    358:        mkdir -p $(DESTDIR)$(HTDOCDIR)
1.396     kristaps  359:        #$(INSTALL_PROGRAM) man.cgi $(DESTDIR)$(CGIBINDIR)
1.387     kristaps  360:        $(INSTALL_DATA) example.style.css $(DESTDIR)$(HTDOCDIR)/man.css
1.391     kristaps  361:        $(INSTALL_DATA) man-cgi.css $(DESTDIR)$(HTDOCDIR)
1.60      kristaps  362:
1.419   ! schwarze  363: installwww: www
1.413     schwarze  364:        mkdir -p $(DESTDIR)$(HTDOCDIR)/snapshots
                    365:        $(INSTALL_DATA) $(WWW_MANS) style.css $(DESTDIR)$(HTDOCDIR)
                    366:        $(INSTALL_DATA) $(WWW_OBJS) $(DESTDIR)$(HTDOCDIR)/snapshots
                    367:        $(INSTALL_DATA) mdocml.tar.gz \
                    368:                $(DESTDIR)$(HTDOCDIR)/snapshots/mdocml-$(VERSION).tar.gz
1.419   ! schwarze  369:        $(INSTALL_DATA) mdocml.sha256 \
        !           370:                $(DESTDIR)$(HTDOCDIR)/snapshots/mdocml-$(VERSION).sha256
1.319     kristaps  371:
1.362     kristaps  372: libmandoc.a: $(COMPAT_OBJS) $(LIBMANDOC_OBJS)
                    373:        $(AR) rs $@ $(COMPAT_OBJS) $(LIBMANDOC_OBJS)
1.319     kristaps  374:
                    375: mandoc: $(MANDOC_OBJS) libmandoc.a
1.368     kristaps  376:        $(CC) $(LDFLAGS) -o $@ $(MANDOC_OBJS) libmandoc.a
1.325     kristaps  377:
1.416     schwarze  378: makewhatis: $(MAKEWHATIS_OBJS) libmandoc.a
                    379:        $(CC) $(LDFLAGS) -o $@ $(MAKEWHATIS_OBJS) libmandoc.a $(DBLIB)
1.326     kristaps  380:
1.343     kristaps  381: preconv: $(PRECONV_OBJS)
1.368     kristaps  382:        $(CC) $(LDFLAGS) -o $@ $(PRECONV_OBJS)
1.343     kristaps  383:
1.396     kristaps  384: manpage: $(MANPAGE_OBJS) libmandoc.a
                    385:        $(CC) $(LDFLAGS) -o $@ $(MANPAGE_OBJS) libmandoc.a $(DBLIB)
1.383     kristaps  386:
1.372     kristaps  387: apropos: $(APROPOS_OBJS) libmandoc.a
1.373     kristaps  388:        $(CC) $(LDFLAGS) -o $@ $(APROPOS_OBJS) libmandoc.a $(DBLIB)
1.372     kristaps  389:
1.369     kristaps  390: demandoc: $(DEMANDOC_OBJS) libmandoc.a
                    391:        $(CC) $(LDFLAGS) -o $@ $(DEMANDOC_OBJS) libmandoc.a
                    392:
1.419   ! schwarze  393: mdocml.sha256: mdocml.tar.gz
        !           394:        sha256 mdocml.tar.gz > $@
1.319     kristaps  395:
                    396: mdocml.tar.gz: $(SRCS)
                    397:        mkdir -p .dist/mdocml-$(VERSION)/
1.353     kristaps  398:        $(INSTALL_SOURCE) $(SRCS) .dist/mdocml-$(VERSION)
1.409     schwarze  399:        chmod 755 .dist/mdocml-$(VERSION)/configure
                    400:        ( cd .dist/ && tar zcf ../$@ mdocml-$(VERSION) )
1.60      kristaps  401:        rm -rf .dist/
1.362     kristaps  402:
1.407     schwarze  403: config.h: configure config.h.pre config.h.post $(TESTSRCS)
1.319     kristaps  404:        rm -f config.log
1.407     schwarze  405:        CC="$(CC)" CFLAGS="$(CFLAGS)" VERSION="$(VERSION)" ./configure
1.60      kristaps  406:
1.419   ! schwarze  407: .PHONY:         clean install installcgi installwww
        !           408: .SUFFIXES:      .1       .3       .5       .7       .8       .h
        !           409: .SUFFIXES:      .1.html  .3.html  .5.html  .7.html  .8.html  .h.html
        !           410:
1.319     kristaps  411: .h.h.html:
1.419   ! schwarze  412:        highlight -I $< > $@
1.168     kristaps  413:
1.419   ! schwarze  414: .1.1.html .3.3.html .5.5.html .7.7.html .8.8.html: mandoc
        !           415:        ./mandoc -Thtml -Wall,stop \
        !           416:                -Ostyle=style.css,man=%N.%S.html,includes=%I.html $< > $@

CVSweb