1 1.7 wiz # Id: Makefile,v 1.540 2021/09/21 11:04:40 schwarze Exp 2 1.2 christos # 3 1.7 wiz # Copyright (c) 2011, 2013-2021 Ingo Schwarze <schwarze (at] openbsd.org> 4 1.2 christos # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps (at] bsd.lv> 5 1.2 christos # 6 1.2 christos # Permission to use, copy, modify, and distribute this software for any 7 1.2 christos # purpose with or without fee is hereby granted, provided that the above 8 1.2 christos # copyright notice and this permission notice appear in all copies. 9 1.2 christos # 10 1.2 christos # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 1.2 christos # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 1.2 christos # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 1.2 christos # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 1.2 christos # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 1.2 christos # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 1.2 christos # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 1.2 christos 18 1.7 wiz VERSION = 1.14.6 19 1.2 christos 20 1.2 christos # === LIST OF FILES ==================================================== 21 1.2 christos 22 1.7 wiz TESTSRCS = test-attribute.c \ 23 1.7 wiz test-be32toh.c \ 24 1.4 christos test-cmsg.c \ 25 1.4 christos test-dirent-namlen.c \ 26 1.4 christos test-EFTYPE.c \ 27 1.3 christos test-err.c \ 28 1.2 christos test-fts.c \ 29 1.3 christos test-getline.c \ 30 1.2 christos test-getsubopt.c \ 31 1.3 christos test-isblank.c \ 32 1.3 christos test-mkdtemp.c \ 33 1.7 wiz test-mkstemps.c \ 34 1.4 christos test-nanosleep.c \ 35 1.5 christos test-noop.c \ 36 1.4 christos test-ntohl.c \ 37 1.4 christos test-O_DIRECTORY.c \ 38 1.2 christos test-ohash.c \ 39 1.4 christos test-PATH_MAX.c \ 40 1.3 christos test-pledge.c \ 41 1.3 christos test-progname.c \ 42 1.2 christos test-reallocarray.c \ 43 1.5 christos test-recallocarray.c \ 44 1.6 christos test-recvmsg.c \ 45 1.3 christos test-rewb-bsd.c \ 46 1.3 christos test-rewb-sysv.c \ 47 1.3 christos test-sandbox_init.c \ 48 1.2 christos test-strcasestr.c \ 49 1.3 christos test-stringlist.c \ 50 1.2 christos test-strlcat.c \ 51 1.2 christos test-strlcpy.c \ 52 1.5 christos test-strndup.c \ 53 1.2 christos test-strptime.c \ 54 1.2 christos test-strsep.c \ 55 1.2 christos test-strtonum.c \ 56 1.3 christos test-vasprintf.c \ 57 1.2 christos test-wchar.c 58 1.2 christos 59 1.6 christos SRCS = arch.c \ 60 1.6 christos att.c \ 61 1.4 christos catman.c \ 62 1.2 christos cgi.c \ 63 1.2 christos chars.c \ 64 1.3 christos compat_err.c \ 65 1.2 christos compat_fts.c \ 66 1.3 christos compat_getline.c \ 67 1.2 christos compat_getsubopt.c \ 68 1.3 christos compat_isblank.c \ 69 1.3 christos compat_mkdtemp.c \ 70 1.7 wiz compat_mkstemps.c \ 71 1.2 christos compat_ohash.c \ 72 1.3 christos compat_progname.c \ 73 1.2 christos compat_reallocarray.c \ 74 1.5 christos compat_recallocarray.c \ 75 1.2 christos compat_strcasestr.c \ 76 1.3 christos compat_stringlist.c \ 77 1.2 christos compat_strlcat.c \ 78 1.2 christos compat_strlcpy.c \ 79 1.5 christos compat_strndup.c \ 80 1.2 christos compat_strsep.c \ 81 1.2 christos compat_strtonum.c \ 82 1.3 christos compat_vasprintf.c \ 83 1.4 christos dba.c \ 84 1.4 christos dba_array.c \ 85 1.4 christos dba_read.c \ 86 1.4 christos dba_write.c \ 87 1.4 christos dbm.c \ 88 1.4 christos dbm_map.c \ 89 1.2 christos demandoc.c \ 90 1.2 christos eqn.c \ 91 1.2 christos eqn_html.c \ 92 1.2 christos eqn_term.c \ 93 1.2 christos html.c \ 94 1.2 christos lib.c \ 95 1.2 christos main.c \ 96 1.2 christos man.c \ 97 1.2 christos man_html.c \ 98 1.2 christos man_macro.c \ 99 1.2 christos man_term.c \ 100 1.2 christos man_validate.c \ 101 1.2 christos mandoc.c \ 102 1.2 christos mandoc_aux.c \ 103 1.6 christos mandoc_msg.c \ 104 1.3 christos mandoc_ohash.c \ 105 1.5 christos mandoc_xr.c \ 106 1.4 christos mandocd.c \ 107 1.2 christos mandocdb.c \ 108 1.2 christos manpath.c \ 109 1.2 christos mansearch.c \ 110 1.2 christos mdoc.c \ 111 1.2 christos mdoc_argv.c \ 112 1.2 christos mdoc_html.c \ 113 1.2 christos mdoc_macro.c \ 114 1.2 christos mdoc_man.c \ 115 1.5 christos mdoc_markdown.c \ 116 1.3 christos mdoc_state.c \ 117 1.2 christos mdoc_term.c \ 118 1.2 christos mdoc_validate.c \ 119 1.2 christos msec.c \ 120 1.2 christos out.c \ 121 1.2 christos preconv.c \ 122 1.2 christos read.c \ 123 1.2 christos roff.c \ 124 1.5 christos roff_html.c \ 125 1.5 christos roff_term.c \ 126 1.5 christos roff_validate.c \ 127 1.3 christos soelim.c \ 128 1.2 christos st.c \ 129 1.3 christos tag.c \ 130 1.2 christos tbl.c \ 131 1.2 christos tbl_data.c \ 132 1.2 christos tbl_html.c \ 133 1.2 christos tbl_layout.c \ 134 1.2 christos tbl_opts.c \ 135 1.2 christos tbl_term.c \ 136 1.2 christos term.c \ 137 1.2 christos term_ascii.c \ 138 1.2 christos term_ps.c \ 139 1.5 christos term_tab.c \ 140 1.7 wiz term_tag.c \ 141 1.3 christos tree.c 142 1.2 christos 143 1.2 christos DISTFILES = INSTALL \ 144 1.2 christos LICENSE \ 145 1.2 christos Makefile \ 146 1.2 christos Makefile.depend \ 147 1.2 christos NEWS \ 148 1.2 christos TODO \ 149 1.2 christos apropos.1 \ 150 1.4 christos catman.8 \ 151 1.2 christos cgi.h.example \ 152 1.2 christos compat_fts.h \ 153 1.2 christos compat_ohash.h \ 154 1.3 christos compat_stringlist.h \ 155 1.2 christos configure \ 156 1.2 christos configure.local.example \ 157 1.4 christos dba.h \ 158 1.4 christos dba_array.h \ 159 1.4 christos dba_write.h \ 160 1.4 christos dbm.h \ 161 1.4 christos dbm_map.h \ 162 1.2 christos demandoc.1 \ 163 1.2 christos eqn.7 \ 164 1.6 christos eqn.h \ 165 1.6 christos eqn_parse.h \ 166 1.2 christos gmdiff \ 167 1.2 christos html.h \ 168 1.2 christos lib.in \ 169 1.2 christos libman.h \ 170 1.2 christos libmandoc.h \ 171 1.2 christos libmdoc.h \ 172 1.2 christos main.h \ 173 1.2 christos makewhatis.8 \ 174 1.2 christos man.1 \ 175 1.2 christos man.7 \ 176 1.3 christos man.cgi.3 \ 177 1.2 christos man.cgi.8 \ 178 1.3 christos man.conf.5 \ 179 1.2 christos man.h \ 180 1.4 christos man.options.1 \ 181 1.3 christos manconf.h \ 182 1.2 christos mandoc.1 \ 183 1.2 christos mandoc.3 \ 184 1.3 christos mandoc.css \ 185 1.2 christos mandoc.db.5 \ 186 1.2 christos mandoc.h \ 187 1.2 christos mandoc_aux.h \ 188 1.2 christos mandoc_char.7 \ 189 1.2 christos mandoc_escape.3 \ 190 1.2 christos mandoc_headers.3 \ 191 1.2 christos mandoc_html.3 \ 192 1.2 christos mandoc_malloc.3 \ 193 1.3 christos mandoc_ohash.h \ 194 1.6 christos mandoc_parse.h \ 195 1.5 christos mandoc_xr.h \ 196 1.4 christos mandocd.8 \ 197 1.2 christos mansearch.3 \ 198 1.2 christos mansearch.h \ 199 1.2 christos mchars_alloc.3 \ 200 1.2 christos mdoc.7 \ 201 1.2 christos mdoc.h \ 202 1.2 christos msec.in \ 203 1.2 christos out.h \ 204 1.2 christos predefs.in \ 205 1.2 christos roff.7 \ 206 1.3 christos roff.h \ 207 1.3 christos roff_int.h \ 208 1.3 christos soelim.1 \ 209 1.3 christos tag.h \ 210 1.2 christos tbl.3 \ 211 1.2 christos tbl.7 \ 212 1.6 christos tbl.h \ 213 1.6 christos tbl_int.h \ 214 1.6 christos tbl_parse.h \ 215 1.2 christos term.h \ 216 1.7 wiz term_tag.h \ 217 1.3 christos $(SRCS) \ 218 1.3 christos $(TESTSRCS) 219 1.2 christos 220 1.2 christos LIBMAN_OBJS = man.o \ 221 1.2 christos man_macro.o \ 222 1.2 christos man_validate.o 223 1.2 christos 224 1.2 christos LIBMDOC_OBJS = att.o \ 225 1.2 christos lib.o \ 226 1.2 christos mdoc.o \ 227 1.2 christos mdoc_argv.o \ 228 1.2 christos mdoc_macro.o \ 229 1.3 christos mdoc_state.o \ 230 1.2 christos mdoc_validate.o \ 231 1.2 christos st.o 232 1.2 christos 233 1.2 christos LIBROFF_OBJS = eqn.o \ 234 1.2 christos roff.o \ 235 1.5 christos roff_validate.o \ 236 1.2 christos tbl.o \ 237 1.2 christos tbl_data.o \ 238 1.2 christos tbl_layout.o \ 239 1.2 christos tbl_opts.o 240 1.2 christos 241 1.2 christos LIBMANDOC_OBJS = $(LIBMAN_OBJS) \ 242 1.2 christos $(LIBMDOC_OBJS) \ 243 1.2 christos $(LIBROFF_OBJS) \ 244 1.6 christos arch.o \ 245 1.2 christos chars.o \ 246 1.2 christos mandoc.o \ 247 1.2 christos mandoc_aux.o \ 248 1.6 christos mandoc_msg.o \ 249 1.3 christos mandoc_ohash.o \ 250 1.5 christos mandoc_xr.o \ 251 1.2 christos msec.o \ 252 1.2 christos preconv.o \ 253 1.7 wiz read.o \ 254 1.7 wiz tag.o 255 1.2 christos 256 1.7 wiz ALL_COBJS = compat_err.o \ 257 1.2 christos compat_fts.o \ 258 1.3 christos compat_getline.o \ 259 1.2 christos compat_getsubopt.o \ 260 1.3 christos compat_isblank.o \ 261 1.3 christos compat_mkdtemp.o \ 262 1.7 wiz compat_mkstemps.o \ 263 1.2 christos compat_ohash.o \ 264 1.3 christos compat_progname.o \ 265 1.2 christos compat_reallocarray.o \ 266 1.5 christos compat_recallocarray.o \ 267 1.2 christos compat_strcasestr.o \ 268 1.7 wiz compat_stringlist.o \ 269 1.2 christos compat_strlcat.o \ 270 1.2 christos compat_strlcpy.o \ 271 1.5 christos compat_strndup.o \ 272 1.2 christos compat_strsep.o \ 273 1.3 christos compat_strtonum.o \ 274 1.3 christos compat_vasprintf.o 275 1.2 christos 276 1.2 christos MANDOC_HTML_OBJS = eqn_html.o \ 277 1.2 christos html.o \ 278 1.2 christos man_html.o \ 279 1.2 christos mdoc_html.o \ 280 1.5 christos roff_html.o \ 281 1.2 christos tbl_html.o 282 1.2 christos 283 1.2 christos MANDOC_TERM_OBJS = eqn_term.o \ 284 1.2 christos man_term.o \ 285 1.2 christos mdoc_term.o \ 286 1.5 christos roff_term.o \ 287 1.2 christos term.o \ 288 1.2 christos term_ascii.o \ 289 1.2 christos term_ps.o \ 290 1.5 christos term_tab.o \ 291 1.7 wiz term_tag.o \ 292 1.2 christos tbl_term.o 293 1.2 christos 294 1.4 christos DBM_OBJS = dbm.o \ 295 1.4 christos dbm_map.o \ 296 1.4 christos mansearch.o 297 1.4 christos 298 1.4 christos DBA_OBJS = dba.o \ 299 1.4 christos dba_array.o \ 300 1.4 christos dba_read.o \ 301 1.4 christos dba_write.o \ 302 1.4 christos mandocdb.o 303 1.4 christos 304 1.4 christos MAIN_OBJS = $(MANDOC_HTML_OBJS) \ 305 1.2 christos $(MANDOC_MAN_OBJS) \ 306 1.2 christos $(MANDOC_TERM_OBJS) \ 307 1.4 christos $(DBM_OBJS) \ 308 1.4 christos $(DBA_OBJS) \ 309 1.2 christos main.o \ 310 1.2 christos manpath.o \ 311 1.5 christos mdoc_man.o \ 312 1.5 christos mdoc_markdown.o \ 313 1.2 christos out.o \ 314 1.2 christos tree.o 315 1.2 christos 316 1.2 christos CGI_OBJS = $(MANDOC_HTML_OBJS) \ 317 1.4 christos $(DBM_OBJS) \ 318 1.2 christos cgi.o \ 319 1.2 christos out.o 320 1.2 christos 321 1.4 christos MANDOCD_OBJS = $(MANDOC_HTML_OBJS) \ 322 1.4 christos $(MANDOC_TERM_OBJS) \ 323 1.4 christos mandocd.o \ 324 1.7 wiz out.o 325 1.4 christos 326 1.2 christos DEMANDOC_OBJS = demandoc.o 327 1.2 christos 328 1.2 christos WWW_MANS = apropos.1.html \ 329 1.2 christos demandoc.1.html \ 330 1.2 christos man.1.html \ 331 1.6 christos man.options.1.html \ 332 1.2 christos mandoc.1.html \ 333 1.3 christos soelim.1.html \ 334 1.4 christos man.cgi.3.html \ 335 1.2 christos mandoc.3.html \ 336 1.2 christos mandoc_escape.3.html \ 337 1.2 christos mandoc_headers.3.html \ 338 1.2 christos mandoc_html.3.html \ 339 1.2 christos mandoc_malloc.3.html \ 340 1.2 christos mansearch.3.html \ 341 1.2 christos mchars_alloc.3.html \ 342 1.2 christos tbl.3.html \ 343 1.3 christos man.conf.5.html \ 344 1.2 christos mandoc.db.5.html \ 345 1.2 christos eqn.7.html \ 346 1.2 christos man.7.html \ 347 1.2 christos mandoc_char.7.html \ 348 1.2 christos mdoc.7.html \ 349 1.2 christos roff.7.html \ 350 1.2 christos tbl.7.html \ 351 1.4 christos catman.8.html \ 352 1.2 christos makewhatis.8.html \ 353 1.2 christos man.cgi.8.html \ 354 1.6 christos mandocd.8.html 355 1.6 christos 356 1.6 christos WWW_INCS = eqn.h.html \ 357 1.6 christos html.h.html \ 358 1.2 christos man.h.html \ 359 1.3 christos manconf.h.html \ 360 1.2 christos mandoc.h.html \ 361 1.2 christos mandoc_aux.h.html \ 362 1.6 christos mandoc_parse.h.html \ 363 1.2 christos mansearch.h.html \ 364 1.3 christos mdoc.h.html \ 365 1.6 christos roff.h.html \ 366 1.6 christos tbl.h.html \ 367 1.6 christos tbl_int.h.html \ 368 1.6 christos tbl_parse.h.html 369 1.2 christos 370 1.2 christos # === USER CONFIGURATION =============================================== 371 1.2 christos 372 1.2 christos -include Makefile.local 373 1.2 christos 374 1.2 christos # === DEPENDENCY HANDLING ============================================== 375 1.2 christos 376 1.7 wiz all: mandoc man demandoc soelim $(BUILD_TARGETS) Makefile.local 377 1.2 christos 378 1.2 christos install: base-install $(INSTALL_TARGETS) 379 1.2 christos 380 1.6 christos www: $(WWW_MANS) $(WWW_INCS) 381 1.2 christos 382 1.6 christos $(WWW_MANS) $(WWW_INCS): mandoc 383 1.2 christos 384 1.4 christos .PHONY: base-install cgi-install install www-install 385 1.2 christos .PHONY: clean distclean depend 386 1.1 joerg 387 1.2 christos include Makefile.depend 388 1.1 joerg 389 1.2 christos # === TARGETS CONTAINING SHELL COMMANDS ================================ 390 1.1 joerg 391 1.2 christos distclean: clean 392 1.2 christos rm -f Makefile.local config.h config.h.old config.log config.log.old 393 1.1 joerg 394 1.1 joerg clean: 395 1.7 wiz rm -f libmandoc.a $(LIBMANDOC_OBJS) $(ALL_COBJS) 396 1.7 wiz rm -f mandoc man $(MAIN_OBJS) 397 1.2 christos rm -f man.cgi $(CGI_OBJS) 398 1.5 christos rm -f mandocd catman catman.o $(MANDOCD_OBJS) 399 1.2 christos rm -f demandoc $(DEMANDOC_OBJS) 400 1.7 wiz rm -f soelim soelim.o 401 1.6 christos rm -f $(WWW_MANS) $(WWW_INCS) mandoc*.tar.gz mandoc*.sha256 402 1.7 wiz rm -f Makefile.tmp1 Makefile.tmp2 403 1.2 christos rm -rf *.dSYM 404 1.2 christos 405 1.4 christos base-install: mandoc demandoc soelim 406 1.2 christos mkdir -p $(DESTDIR)$(BINDIR) 407 1.4 christos mkdir -p $(DESTDIR)$(SBINDIR) 408 1.2 christos mkdir -p $(DESTDIR)$(MANDIR)/man1 409 1.3 christos mkdir -p $(DESTDIR)$(MANDIR)/man5 410 1.2 christos mkdir -p $(DESTDIR)$(MANDIR)/man7 411 1.4 christos mkdir -p $(DESTDIR)$(MANDIR)/man8 412 1.2 christos $(INSTALL_PROGRAM) mandoc demandoc $(DESTDIR)$(BINDIR) 413 1.3 christos $(INSTALL_PROGRAM) soelim $(DESTDIR)$(BINDIR)/$(BINM_SOELIM) 414 1.5 christos cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_MAN) 415 1.5 christos cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_APROPOS) 416 1.5 christos cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_WHATIS) 417 1.5 christos cd $(DESTDIR)$(SBINDIR) && \ 418 1.5 christos $(LN) ${BIN_FROM_SBIN}/mandoc $(BINM_MAKEWHATIS) 419 1.2 christos $(INSTALL_MAN) mandoc.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1 420 1.3 christos $(INSTALL_MAN) soelim.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1 421 1.2 christos $(INSTALL_MAN) man.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1 422 1.2 christos $(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 423 1.5 christos cd $(DESTDIR)$(MANDIR)/man1 && $(LN) $(BINM_APROPOS).1 $(BINM_WHATIS).1 424 1.4 christos $(INSTALL_MAN) man.conf.5 $(DESTDIR)$(MANDIR)/man5/$(MANM_MANCONF).5 425 1.2 christos $(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5 426 1.4 christos $(INSTALL_MAN) man.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_MAN).7 427 1.4 christos $(INSTALL_MAN) mdoc.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_MDOC).7 428 1.4 christos $(INSTALL_MAN) roff.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_ROFF).7 429 1.4 christos $(INSTALL_MAN) eqn.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_EQN).7 430 1.4 christos $(INSTALL_MAN) tbl.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_TBL).7 431 1.4 christos $(INSTALL_MAN) mandoc_char.7 $(DESTDIR)$(MANDIR)/man7 432 1.2 christos $(INSTALL_MAN) makewhatis.8 \ 433 1.2 christos $(DESTDIR)$(MANDIR)/man8/$(BINM_MAKEWHATIS).8 434 1.2 christos 435 1.4 christos lib-install: libmandoc.a 436 1.4 christos mkdir -p $(DESTDIR)$(LIBDIR) 437 1.4 christos mkdir -p $(DESTDIR)$(INCLUDEDIR) 438 1.4 christos mkdir -p $(DESTDIR)$(MANDIR)/man3 439 1.4 christos $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR) 440 1.6 christos $(INSTALL_LIB) eqn.h man.h mandoc.h mandoc_aux.h mandoc_parse.h \ 441 1.6 christos mdoc.h roff.h tbl.h $(DESTDIR)$(INCLUDEDIR) 442 1.4 christos $(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \ 443 1.4 christos mansearch.3 mchars_alloc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3 444 1.4 christos 445 1.4 christos cgi-install: man.cgi 446 1.2 christos mkdir -p $(DESTDIR)$(CGIBINDIR) 447 1.2 christos mkdir -p $(DESTDIR)$(HTDOCDIR) 448 1.2 christos $(INSTALL_PROGRAM) man.cgi $(DESTDIR)$(CGIBINDIR) 449 1.3 christos $(INSTALL_DATA) mandoc.css $(DESTDIR)$(HTDOCDIR) 450 1.2 christos 451 1.4 christos catman-install: mandocd catman 452 1.4 christos mkdir -p $(DESTDIR)$(SBINDIR) 453 1.4 christos mkdir -p $(DESTDIR)$(MANDIR)/man8 454 1.4 christos $(INSTALL_PROGRAM) mandocd $(DESTDIR)$(SBINDIR) 455 1.4 christos $(INSTALL_PROGRAM) catman $(DESTDIR)$(SBINDIR)/$(BINM_CATMAN) 456 1.4 christos $(INSTALL_MAN) mandocd.8 $(DESTDIR)$(MANDIR)/man8 457 1.4 christos $(INSTALL_MAN) catman.8 $(DESTDIR)$(MANDIR)/man8/$(BINM_CATMAN).8 458 1.4 christos 459 1.4 christos uninstall: 460 1.4 christos rm -f $(DESTDIR)$(BINDIR)/mandoc 461 1.4 christos rm -f $(DESTDIR)$(BINDIR)/demandoc 462 1.4 christos rm -f $(DESTDIR)$(BINDIR)/$(BINM_SOELIM) 463 1.4 christos rm -f $(DESTDIR)$(BINDIR)/$(BINM_MAN) 464 1.4 christos rm -f $(DESTDIR)$(BINDIR)/$(BINM_APROPOS) 465 1.4 christos rm -f $(DESTDIR)$(BINDIR)/$(BINM_WHATIS) 466 1.4 christos rm -f $(DESTDIR)$(SBINDIR)/$(BINM_MAKEWHATIS) 467 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man1/mandoc.1 468 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man1/demandoc.1 469 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1 470 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1 471 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 472 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man1/$(BINM_WHATIS).1 473 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man5/$(MANM_MANCONF).5 474 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man5/mandoc.db.5 475 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_MAN).7 476 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_MDOC).7 477 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_ROFF).7 478 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_EQN).7 479 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_TBL).7 480 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man7/mandoc_char.7 481 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man8/$(BINM_MAKEWHATIS).8 482 1.4 christos rm -f $(DESTDIR)$(CGIBINDIR)/man.cgi 483 1.4 christos rm -f $(DESTDIR)$(HTDOCDIR)/mandoc.css 484 1.4 christos rm -f $(DESTDIR)$(SBINDIR)/mandocd 485 1.4 christos rm -f $(DESTDIR)$(SBINDIR)/$(BINM_CATMAN) 486 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man8/mandocd.8 487 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man8/$(BINM_CATMAN).8 488 1.4 christos rm -f $(DESTDIR)$(LIBDIR)/libmandoc.a 489 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man3/mandoc.3 490 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man3/mandoc_escape.3 491 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man3/mandoc_malloc.3 492 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man3/mansearch.3 493 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man3/mchars_alloc.3 494 1.4 christos rm -f $(DESTDIR)$(MANDIR)/man3/tbl.3 495 1.6 christos rm -f $(DESTDIR)$(INCLUDEDIR)/eqn.h 496 1.4 christos rm -f $(DESTDIR)$(INCLUDEDIR)/man.h 497 1.4 christos rm -f $(DESTDIR)$(INCLUDEDIR)/mandoc.h 498 1.4 christos rm -f $(DESTDIR)$(INCLUDEDIR)/mandoc_aux.h 499 1.6 christos rm -f $(DESTDIR)$(INCLUDEDIR)/mandoc_parse.h 500 1.4 christos rm -f $(DESTDIR)$(INCLUDEDIR)/mdoc.h 501 1.4 christos rm -f $(DESTDIR)$(INCLUDEDIR)/roff.h 502 1.6 christos rm -f $(DESTDIR)$(INCLUDEDIR)/tbl.h 503 1.5 christos [ ! -e $(DESTDIR)$(INCLUDEDIR) ] || rmdir $(DESTDIR)$(INCLUDEDIR) 504 1.4 christos 505 1.4 christos regress: all 506 1.4 christos cd regress && ./regress.pl 507 1.4 christos 508 1.4 christos regress-clean: 509 1.4 christos cd regress && ./regress.pl . clean 510 1.4 christos 511 1.4 christos Makefile.local config.h: configure $(TESTSRCS) 512 1.2 christos @echo "$@ is out of date; please run ./configure" 513 1.2 christos @exit 1 514 1.2 christos 515 1.7 wiz libmandoc.a: $(MANDOC_COBJS) $(LIBMANDOC_OBJS) 516 1.7 wiz $(AR) rs $@ $(MANDOC_COBJS) $(LIBMANDOC_OBJS) 517 1.2 christos 518 1.2 christos mandoc: $(MAIN_OBJS) libmandoc.a 519 1.3 christos $(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) libmandoc.a $(LDADD) 520 1.2 christos 521 1.7 wiz man: mandoc 522 1.7 wiz $(LN) mandoc man 523 1.7 wiz 524 1.2 christos man.cgi: $(CGI_OBJS) libmandoc.a 525 1.3 christos $(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) libmandoc.a $(LDADD) 526 1.2 christos 527 1.4 christos mandocd: $(MANDOCD_OBJS) libmandoc.a 528 1.4 christos $(CC) -o $@ $(LDFLAGS) $(MANDOCD_OBJS) libmandoc.a $(LDADD) 529 1.4 christos 530 1.4 christos catman: catman.o libmandoc.a 531 1.4 christos $(CC) -o $@ $(LDFLAGS) catman.o libmandoc.a $(LDADD) 532 1.4 christos 533 1.2 christos demandoc: $(DEMANDOC_OBJS) libmandoc.a 534 1.3 christos $(CC) -o $@ $(LDFLAGS) $(DEMANDOC_OBJS) libmandoc.a $(LDADD) 535 1.3 christos 536 1.7 wiz soelim: $(SOELIM_COBJS) soelim.o 537 1.7 wiz $(CC) -o $@ $(LDFLAGS) $(SOELIM_COBJS) soelim.o 538 1.2 christos 539 1.2 christos # --- maintainer targets --- 540 1.2 christos 541 1.2 christos www-install: www 542 1.6 christos $(INSTALL_DATA) mandoc.css $(HTDOCDIR) 543 1.6 christos $(INSTALL_DATA) $(WWW_MANS) $(HTDOCDIR)/man 544 1.6 christos $(INSTALL_DATA) $(WWW_INCS) $(HTDOCDIR)/includes 545 1.2 christos 546 1.2 christos depend: config.h 547 1.7 wiz ./configure -depend 548 1.7 wiz mkdep -f Makefile.tmp1 $(CFLAGS) $(SRCS) 549 1.2 christos perl -e 'undef $$/; $$_ = <>; s|/usr/include/\S+||g; \ 550 1.2 christos s|\\\n||g; s| +| |g; s| $$||mg; print;' \ 551 1.7 wiz Makefile.tmp1 > Makefile.tmp2 552 1.7 wiz rm Makefile.tmp1 553 1.7 wiz mv Makefile.tmp2 Makefile.depend 554 1.2 christos 555 1.4 christos regress-distclean: 556 1.4 christos @find regress \ 557 1.4 christos -name '.#*' -o \ 558 1.4 christos -name '*.orig' -o \ 559 1.4 christos -name '*.rej' -o \ 560 1.4 christos -name '*.core' \ 561 1.4 christos -exec rm -i {} \; 562 1.4 christos 563 1.4 christos regress-distcheck: 564 1.4 christos @find regress ! -type d ! -type f 565 1.4 christos @find regress -type f \ 566 1.4 christos ! -path '*/CVS/*' \ 567 1.4 christos ! -name Makefile \ 568 1.4 christos ! -name Makefile.inc \ 569 1.4 christos ! -name '*.in' \ 570 1.4 christos ! -name '*.out_ascii' \ 571 1.4 christos ! -name '*.out_utf8' \ 572 1.4 christos ! -name '*.out_html' \ 573 1.5 christos ! -name '*.out_markdown' \ 574 1.4 christos ! -name '*.out_lint' \ 575 1.4 christos ! -path regress/regress.pl \ 576 1.4 christos ! -path regress/regress.pl.1 577 1.4 christos 578 1.5 christos dist: mandoc-$(VERSION).sha256 579 1.3 christos 580 1.5 christos mandoc-$(VERSION).sha256: mandoc-$(VERSION).tar.gz 581 1.5 christos sha256 mandoc-$(VERSION).tar.gz > $@ 582 1.2 christos 583 1.5 christos mandoc-$(VERSION).tar.gz: $(DISTFILES) 584 1.4 christos ls regress/*/*/*.mandoc_* && exit 1 || true 585 1.5 christos mkdir -p .dist/mandoc-$(VERSION)/ 586 1.5 christos $(INSTALL) -m 0644 $(DISTFILES) .dist/mandoc-$(VERSION) 587 1.5 christos cp -pR regress .dist/mandoc-$(VERSION) 588 1.5 christos find .dist/mandoc-$(VERSION)/regress \ 589 1.4 christos -type d -name CVS -print0 | xargs -0 rm -rf 590 1.5 christos chmod 755 .dist/mandoc-$(VERSION)/configure 591 1.5 christos ( cd .dist/ && tar zcf ../$@ mandoc-$(VERSION) ) 592 1.1 joerg rm -rf .dist/ 593 1.1 joerg 594 1.6 christos dist-install: dist 595 1.6 christos $(INSTALL_DATA) mandoc-$(VERSION).tar.gz mandoc-$(VERSION).sha256 \ 596 1.6 christos $(HTDOCDIR)/snapshots 597 1.6 christos 598 1.2 christos # === SUFFIX RULES ===================================================== 599 1.1 joerg 600 1.2 christos .SUFFIXES: .1 .3 .5 .7 .8 .h 601 1.2 christos .SUFFIXES: .1.html .3.html .5.html .7.html .8.html .h.html 602 1.1 joerg 603 1.2 christos .h.h.html: 604 1.2 christos highlight -I $< > $@ 605 1.1 joerg 606 1.7 wiz .1.1.html .3.3.html .5.5.html .7.7.html .8.8.html: 607 1.7 wiz ./mandoc -Thtml -Wwarning,stop \ 608 1.6 christos -O 'style=/mandoc.css,man=/man/%N.%S.html;https://man.openbsd.org/%N.%S,includes=/includes/%I.html' \ 609 1.6 christos $< > $@ 610