A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.
1 # Source Makefile for tin 2 # - for configuration options read the ../doc/INSTALL file. 3 # 4 # Updated: 2022-09-19 5 # 6 # Copyright (c) 1995-2023 Thomas E. Dickey <dickey@invisible-island.net> 7 # All rights reserved. 8 # 9 # Redistribution and use in source and binary forms, with or without 10 # modification, are permitted provided that the following conditions 11 # are met: 12 # 13 # 1. Redistributions of source code must retain the above copyright notice, 14 # this list of conditions and the following disclaimer. 15 # 16 # 2. Redistributions in binary form must reproduce the above copyright 17 # notice, this list of conditions and the following disclaimer in the 18 # documentation and/or other materials provided with the distribution. 19 # 20 # 3. Neither the name of the copyright holder nor the names of its 21 # contributors may be used to endorse or promote products derived from 22 # this software without specific prior written permission. 23 # 24 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 25 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 27 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 28 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 29 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 30 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 31 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 32 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 33 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 34 # POSSIBILITY OF SUCH DAMAGE. 35 # 36 37 PACKAGE = @PACKAGE@ 38 VERSION = @VERSION@ 39 40 SHELL = /bin/sh 41 prefix = @prefix@ 42 exec_prefix = @exec_prefix@ 43 datarootdir = @datarootdir@ 44 top_srcdir = @top_srcdir@ 45 top_builddir = .. 46 srcdir = @srcdir@ 47 VPATH = $(srcdir) 48 49 # Compiler, linker & parser commands 50 CC = @CC@ 51 CPP = @CPP@ 52 PRELIB = @LIB_PREFIX@ 53 54 x = @EXEEXT@ 55 o = .@OBJEXT@ 56 57 DEBUG = @ENABLE_DEBUG@ -DDEBUG # -DPROFILE 58 FEATURES = # -DALLOW_FWS_IN_NEWSGROUPLIST # -DEVIL_INSIDE 59 INTL_CPPFLAGS = -DLOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" 60 PCRE_CPPFLAGS = @PCREDIR_CPPFLAGS@ @PCREDIR_MAKE@ -I$(top_builddir)/pcre -I$(top_srcdir)/pcre 61 62 CAN_CPPFLAGS = @CANDIR_MAKE@ @CAN_CPPFLAGS@ 63 64 CPPFLAGS = @DEFS@ -I. -I../include $(PCRE_CPPFLAGS) $(CAN_CPPFLAGS) $(INTL_CPPFLAGS) -I$(INCDIR) $(DEBUG) $(FEATURES) @CPPFLAGS@ 65 CFLAGS = @CFLAGS@ 66 67 LDFLAGS = @LDFLAGS@ 68 YACC = @YACC@ 69 70 BUILD_CC = @BUILD_CC@ 71 BUILD_CFLAGS = @BUILD_CFLAGS@ 72 BUILD_CPPFLAGS = @DEFS@ @BUILD_CPPFLAGS@ $(PCRE_CPPFLAGS) 73 BUILD_LDFLAGS = @BUILD_LDFLAGS@ 74 BUILD_LIBS = @BUILD_LIBS@ 75 X = $(BUILD_EXEEXT) 76 77 CANLIB = @CANLIBS@ 78 INTL_LIBS = @INTLLIBS@ 79 PCRE_LIBS = @PCREDIR_LIBS@ @PCREDIR_MAKE@ -L../pcre -lpcre 80 LIBS = @LIBS@ 81 LINK_LIBS = $(PCRE_LIBS) $(CANLIB) @LIBS@ $(INTL_LIBS) 82 83 # Where do you want the binary & manual page installed? 84 DESTDIR = @DESTDIR@ 85 INS_BINARY_DIR = @bindir@ 86 INS_MANUAL_DIR = @mandir@/man 87 INS_SYSDEF_DIR = @TIN_DEFAULTS_DIR@ 88 INS_MANUAL_EXT = 1 89 INS_OLD_SUFFIX = old 90 91 REMAKE = $(MAKE) @cf_cv_makeflags@ DESTDIR="$(DESTDIR)" 92 93 94 MAN_LINGUAS = de en_GB es 95 96 # Project 97 PROJECT = `echo @PACKAGE@|sed '@program_transform_name@'` 98 PROJEXE = $(PROJECT)$x 99 EXE = @PACKAGE@$x 100 VER = @VERSION@ 101 102 # directory structure 103 DOCDIR = $(top_srcdir)/doc 104 INCDIR = $(top_srcdir)/include 105 BINDIR = . 106 OBJDIR = . 107 SRCDIR = $(srcdir) 108 TOLDIR = $(top_srcdir)/tools 109 110 # standard commands 111 CD = cd 112 CHMOD = chmod 113 CP = cp 114 ECHO = echo 115 LS = ls 116 MV = mv 117 RM = rm 118 SED = sed 119 CFLOW = cflow 120 CSCOPE = cscope 121 TAGS = ctags 122 ETAGS = etags 123 LINT = @LINT@ 124 LN = @LN_S@ 125 INSTALL = @INSTALL@ 126 @SET_MAKE@ 127 128 HFILES = \ 129 ../include/autoconf.h \ 130 $(INCDIR)/bool.h \ 131 $(INCDIR)/bugrep.h \ 132 $(INCDIR)/debug.h \ 133 $(INCDIR)/extern.h \ 134 $(INCDIR)/keymap.h \ 135 $(INCDIR)/newsrc.h \ 136 $(INCDIR)/nntplib.h \ 137 $(INCDIR)/plp_snprintf.h \ 138 $(INCDIR)/policy.h \ 139 $(INCDIR)/proto.h \ 140 $(INCDIR)/rfc2046.h \ 141 $(INCDIR)/stpwatch.h \ 142 $(INCDIR)/tin.h \ 143 $(INCDIR)/tinrc.h \ 144 $(INCDIR)/tnntp.h \ 145 $(INCDIR)/tnntps.h \ 146 $(INCDIR)/version.h 147 148 CFILES = \ 149 $(SRCDIR)/active.c \ 150 $(SRCDIR)/art.c \ 151 $(SRCDIR)/attrib.c \ 152 $(SRCDIR)/auth.c \ 153 $(SRCDIR)/charset.c \ 154 $(SRCDIR)/color.c \ 155 $(SRCDIR)/config.c \ 156 $(SRCDIR)/cook.c \ 157 $(SRCDIR)/curses.c \ 158 $(SRCDIR)/debug.c \ 159 $(SRCDIR)/envarg.c \ 160 $(SRCDIR)/feed.c \ 161 $(SRCDIR)/filter.c \ 162 $(SRCDIR)/getline.c \ 163 $(SRCDIR)/global.c \ 164 $(SRCDIR)/group.c \ 165 $(SRCDIR)/hashstr.c \ 166 $(SRCDIR)/header.c \ 167 $(SRCDIR)/help.c \ 168 $(SRCDIR)/inews.c \ 169 $(SRCDIR)/init.c \ 170 $(SRCDIR)/joinpath.c \ 171 $(SRCDIR)/keymap.c \ 172 $(SRCDIR)/lang.c \ 173 $(SRCDIR)/langinfo.c \ 174 $(SRCDIR)/list.c \ 175 $(SRCDIR)/lock.c \ 176 $(SRCDIR)/mail.c \ 177 $(SRCDIR)/main.c \ 178 $(SRCDIR)/memory.c \ 179 $(SRCDIR)/mimetypes.c \ 180 $(SRCDIR)/misc.c \ 181 $(SRCDIR)/my_tmpfile.c \ 182 $(SRCDIR)/newsrc.c \ 183 $(SRCDIR)/nntplib.c \ 184 $(SRCDIR)/nntps.c \ 185 $(SRCDIR)/nrctbl.c \ 186 $(SRCDIR)/options_menu.c \ 187 $(SRCDIR)/page.c \ 188 $(SRCDIR)/parsdate.y \ 189 $(SRCDIR)/pgp.c \ 190 $(SRCDIR)/plp_snprintf.c \ 191 $(SRCDIR)/post.c \ 192 $(SRCDIR)/prompt.c \ 193 $(SRCDIR)/read.c \ 194 $(SRCDIR)/refs.c \ 195 $(SRCDIR)/regex.c \ 196 $(SRCDIR)/rfc1524.c \ 197 $(SRCDIR)/rfc2045.c \ 198 $(SRCDIR)/rfc2046.c \ 199 $(SRCDIR)/rfc2047.c \ 200 $(SRCDIR)/save.c \ 201 $(SRCDIR)/screen.c \ 202 $(SRCDIR)/search.c \ 203 $(SRCDIR)/select.c \ 204 $(SRCDIR)/sigfile.c \ 205 $(SRCDIR)/signal.c \ 206 $(SRCDIR)/strftime.c \ 207 $(SRCDIR)/string.c \ 208 $(SRCDIR)/tags.c \ 209 $(SRCDIR)/tcurses.c \ 210 $(SRCDIR)/tmpfile.c \ 211 $(SRCDIR)/thread.c \ 212 $(SRCDIR)/version.c \ 213 $(SRCDIR)/wildmat.c \ 214 $(SRCDIR)/xref.c 215 216 EXTRAOBJS = @EXTRAOBJS@ 217 218 EXTRA_INTLLIBS = @INTLDIR_MAKE@ @INTLLIBS@ 219 EXTRA_PCREHDRS = @PCREDIR_MAKE@ ../pcre/pcre.h 220 EXTRA_PCRELIBS = @PCREDIR_MAKE@ ../pcre/$(PRELIB)pcre.a 221 EXTRA_CANLIBS = @CANDIR_MAKE@ ../libcanlock/$(PRELIB)canlock.a 222 EXTRALIBS = $(EXTRA_INTLLIBS) $(EXTRA_PCRELIBS) $(EXTRA_CANLIBS) 223 224 OFILES = @ALLOCA@ $(EXTRAOBJS) \ 225 $(OBJDIR)/active$o \ 226 $(OBJDIR)/art$o \ 227 $(OBJDIR)/attrib$o \ 228 $(OBJDIR)/auth$o \ 229 $(OBJDIR)/charset$o \ 230 $(OBJDIR)/color$o \ 231 $(OBJDIR)/config$o \ 232 $(OBJDIR)/cook$o \ 233 $(OBJDIR)/curses$o \ 234 $(OBJDIR)/debug$o \ 235 $(OBJDIR)/envarg$o \ 236 $(OBJDIR)/feed$o \ 237 $(OBJDIR)/filter$o \ 238 $(OBJDIR)/getline$o \ 239 $(OBJDIR)/global$o \ 240 $(OBJDIR)/group$o \ 241 $(OBJDIR)/hashstr$o \ 242 $(OBJDIR)/header$o \ 243 $(OBJDIR)/help$o \ 244 $(OBJDIR)/inews$o \ 245 $(OBJDIR)/init$o \ 246 $(OBJDIR)/joinpath$o \ 247 $(OBJDIR)/keymap$o \ 248 $(OBJDIR)/lang$o \ 249 $(OBJDIR)/langinfo$o \ 250 $(OBJDIR)/list$o \ 251 $(OBJDIR)/lock$o \ 252 $(OBJDIR)/mail$o \ 253 $(OBJDIR)/main$o \ 254 $(OBJDIR)/memory$o \ 255 $(OBJDIR)/mimetypes$o \ 256 $(OBJDIR)/misc$o \ 257 $(OBJDIR)/my_tmpfile$o \ 258 $(OBJDIR)/newsrc$o \ 259 $(OBJDIR)/nntplib$o \ 260 $(OBJDIR)/nntps$o \ 261 $(OBJDIR)/nrctbl$o \ 262 $(OBJDIR)/options_menu$o \ 263 $(OBJDIR)/page$o \ 264 $(OBJDIR)/parsdate$o \ 265 $(OBJDIR)/pgp$o \ 266 $(OBJDIR)/plp_snprintf$o \ 267 $(OBJDIR)/post$o \ 268 $(OBJDIR)/prompt$o \ 269 $(OBJDIR)/read$o \ 270 $(OBJDIR)/refs$o \ 271 $(OBJDIR)/regex$o \ 272 $(OBJDIR)/rfc1524$o \ 273 $(OBJDIR)/rfc2045$o \ 274 $(OBJDIR)/rfc2046$o \ 275 $(OBJDIR)/rfc2047$o \ 276 $(OBJDIR)/save$o \ 277 $(OBJDIR)/screen$o \ 278 $(OBJDIR)/search$o \ 279 $(OBJDIR)/select$o \ 280 $(OBJDIR)/sigfile$o \ 281 $(OBJDIR)/signal$o \ 282 $(OBJDIR)/strftime$o \ 283 $(OBJDIR)/string$o \ 284 $(OBJDIR)/tags$o \ 285 $(OBJDIR)/tcurses$o \ 286 $(OBJDIR)/tmpfile$o \ 287 $(OBJDIR)/thread$o \ 288 $(OBJDIR)/version$o \ 289 $(OBJDIR)/wildmat$o \ 290 $(OBJDIR)/xref$o 291 292 ALL_FILES = $(HFILES) $(CFILES) 293 294 LINTFLAGS = @LINTFLAGS@ $(CPPFLAGS) 295 296 all : $(BINDIR)/$(EXE) 297 298 .SUFFIXES : .i 299 300 .c$o : 301 @SHOW_CC@ 302 @ECHO_CC@$(CC) $(CPPFLAGS) $(CFLAGS) -c $(srcdir)/$*.c 303 304 .c.i : 305 @SHOW_CC@ 306 @ECHO_CC@$(CPP) -C $(CPPFLAGS) $*.c >$@ 307 308 # explicit rules to allow running lint, and to accommodate older 'make' programs 309 $(OBJDIR)/parsdate$o : $(SRCDIR)/parsdate.y 310 @$(ECHO) "expect 6 shift/reduce conflicts ..." 311 $(YACC) $(SRCDIR)/parsdate.y 312 $(MV) -f y.tab.c $(OBJDIR)/parsdate.c 313 @SHOW_CC@ 314 @ECHO_CC@$(CC) $(CPPFLAGS) $(CFLAGS) -c $(OBJDIR)/parsdate.c 315 316 $(OBJDIR)/parsdate.c : $(SRCDIR)/parsdate.y 317 @$(ECHO) "expect 6 shift/reduce conflicts ..." 318 $(YACC) $(SRCDIR)/parsdate.y 319 $(MV) -f y.tab.c $(OBJDIR)/parsdate.c 320 321 $(BINDIR)/$(EXE) : $(OFILES) $(EXTRALIBS) 322 @$(ECHO) "Linking $(EXE) v$(VER) ..." 323 $(CC) $(LDFLAGS) -o $(BINDIR)/$(EXE) $(OFILES) $(LINK_LIBS) 324 @$(LS) -l $(BINDIR)/$(EXE) 325 326 help : 327 @$(ECHO) "This Makefile offers the following options:" 328 @$(ECHO) " " 329 @$(ECHO) " make [all] [ Build the binary for your OS ]" 330 @$(ECHO) " make [un]install [ [Un]install the binaries & manual pages ]" 331 @$(ECHO) " make [un]install_helpers [ [Un]install helper applications ]" 332 @$(ECHO) " make [un]install_manpage [ [Un]install the manual pages ]" 333 @$(ECHO) " make [un]install_nls [ [Un]install native language files ]" 334 @$(ECHO) " make [un]install_nls_man [ [Un]install native language manual pages ]" 335 @$(ECHO) " make [un]install_sysdefs [ [Un]install the system-wide defaults file ]" 336 @$(ECHO) " make clean [ Delete all object files ]" 337 @$(ECHO) " make help [ Show this text ]" 338 @$(ECHO) " " 339 340 $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT) \ 341 $(DESTDIR)$(INS_MANUAL_DIR)5 \ 342 $(DESTDIR)$(INS_BINARY_DIR) \ 343 $(DESTDIR)$(INS_SYSDEF_DIR) : 344 mkdir -p $@ 345 346 install_manpage : $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT) $(DESTDIR)$(INS_MANUAL_DIR)5 347 @$(ECHO) "Installing $(PROJECT) manual pages to $(DESTDIR)$(INS_MANUAL_DIR) ..." 348 @$(INSTALL) -m 444 $(DOCDIR)/tin.1 $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/$(PROJECT).$(INS_MANUAL_EXT) 349 @( $(CD) $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT) && $(RM) -f r$(PROJECT).$(INS_MANUAL_EXT) && $(LN) $(PROJECT).$(INS_MANUAL_EXT) r$(PROJECT).$(INS_MANUAL_EXT) ) 350 @$(INSTALL) -m 444 $(DOCDIR)/tin.5 $(DESTDIR)$(INS_MANUAL_DIR)5/$(PROJECT).5 351 @-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)5/r$(PROJECT).5 352 @$(ECHO) ".so $(INS_MANUAL_DIR)5/$(PROJECT).5" > $(DESTDIR)$(INS_MANUAL_DIR)5/r$(PROJECT).5 353 @$(CHMOD) 444 $(DESTDIR)$(INS_MANUAL_DIR)5/r$(PROJECT).5 354 @-if test ! -f $(DESTDIR)$(INS_MANUAL_DIR)5/mbox.5 ; then $(INSTALL) -m 444 $(DOCDIR)/mbox.5 $(DESTDIR)$(INS_MANUAL_DIR)5/mbox.5 ; else $(ECHO) " ... skipping $(DESTDIR)$(INS_MANUAL_DIR)5/mbox.5 - file already exists" ; fi 355 @-if test ! -f $(DESTDIR)$(INS_MANUAL_DIR)5/mmdf.5 ; then $(INSTALL) -m 444 $(DOCDIR)/mmdf.5 $(DESTDIR)$(INS_MANUAL_DIR)5/mmdf.5 ; else $(ECHO) " ... skipping $(DESTDIR)$(INS_MANUAL_DIR)5/mmdf.5 - file already exists" ; fi 356 357 uninstall_manpage : 358 @$(ECHO) "Uninstalling $(PROJECT) manual page in $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT) ..." 359 @-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/$(PROJECT).$(INS_MANUAL_EXT) 360 @-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/r$(PROJECT).$(INS_MANUAL_EXT) 361 @-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)5/$(PROJECT).5 362 # @-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)5/mbox.5 363 # @-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)5/mmdf.5 364 365 install_nls_man : 366 @-for manext in $(INS_MANUAL_EXT) 5 ; do \ 367 for lang in $(MAN_LINGUAS) ; do \ 368 if test -e $(DOCDIR)/l10n/$${lang}/$(PROJECT).$${manext} ; then \ 369 $(INSTALL) -D -m 444 $(DOCDIR)/l10n/$${lang}/$(PROJECT).$${manext} $(DESTDIR)@mandir@/$${lang}/man$${manext}/$(PROJECT).$${manext}; \ 370 fi; \ 371 done; \ 372 done 373 374 uninstall_nls_man : 375 @-for manext in $(INS_MANUAL_EXT) 5 ; do \ 376 for lang in $(MAN_LINGUAS) ; do \ 377 $(RM) -f $(DESTDIR)@mandir@/$${lang}/man$${manext}/$(PROJECT).$${manext}; \ 378 done; \ 379 done 380 381 install_sysdefs : $(DESTDIR)$(INS_SYSDEF_DIR) 382 @$(ECHO) "Installing system-wide defaults to $(DESTDIR)$(INS_SYSDEF_DIR) ..." 383 @-if test -f $(DESTDIR)$(INS_SYSDEF_DIR)/tin.defaults ; then $(ECHO) " ... backing up existing tin.defaults file to tin.defaults.$(INS_OLD_SUFFIX)" ; $(MV) -f $(DESTDIR)$(INS_SYSDEF_DIR)/tin.defaults $(DESTDIR)$(INS_SYSDEF_DIR)/tin.defaults.$(INS_OLD_SUFFIX) ; fi 384 @-if test -f $(DESTDIR)$(INS_SYSDEF_DIR)/mime.types ; then $(ECHO) " ... backing up existing mime.types file to mime.types.$(INS_OLD_SUFFIX)" ; $(MV) -f $(DESTDIR)$(INS_SYSDEF_DIR)/mime.types $(DESTDIR)$(INS_SYSDEF_DIR)/mime.types.$(INS_OLD_SUFFIX) ; fi 385 @$(INSTALL) -m 644 $(DOCDIR)/tin.defaults $(DESTDIR)$(INS_SYSDEF_DIR)/tin.defaults 386 @$(INSTALL) -m 644 $(DOCDIR)/mime.types $(DESTDIR)$(INS_SYSDEF_DIR)/mime.types 387 388 uninstall_sysdefs : 389 @$(ECHO) "Uninstalling system-wide defaults in $(DESTDIR)$(INS_SYSDEF_DIR) ..." 390 @-$(RM) -f $(DESTDIR)$(INS_SYSDEF_DIR)/tin.defaults 391 @-$(RM) -f $(DESTDIR)$(INS_SYSDEF_DIR)/mime.types 392 393 install_helpers : $(DESTDIR)$(INS_BINARY_DIR) $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT) 394 @$(ECHO) "Installing helper applications ..." 395 @-if test ! -f $(DESTDIR)$(INS_BINARY_DIR)/metamutt ; then $(INSTALL) -m 755 $(TOLDIR)/metamutt $(DESTDIR)$(INS_BINARY_DIR)/metamutt ; fi 396 @$(INSTALL) -m 755 $(TOLDIR)/w2r.pl $(DESTDIR)$(INS_BINARY_DIR)/w2r.pl 397 @$(INSTALL) -m 755 $(TOLDIR)/opt-case.pl $(DESTDIR)$(INS_BINARY_DIR)/opt-case.pl 398 @$(INSTALL) -m 755 $(TOLDIR)/tinews.pl $(DESTDIR)$(INS_BINARY_DIR)/tinews.pl 399 @$(INSTALL) -m 755 $(TOLDIR)/url_handler.pl $(DESTDIR)$(INS_BINARY_DIR)/url_handler.pl 400 @$(INSTALL) -m 444 $(DOCDIR)/w2r.1 $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/w2r.pl.$(INS_MANUAL_EXT) 401 @$(INSTALL) -m 444 $(DOCDIR)/opt-case.1 $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/opt-case.pl.$(INS_MANUAL_EXT) 402 @$(INSTALL) -m 444 $(DOCDIR)/tinews.1 $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/tinews.pl.$(INS_MANUAL_EXT) 403 @$(INSTALL) -m 444 $(DOCDIR)/url_handler.1 $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/url_handler.pl.$(INS_MANUAL_EXT) 404 405 uninstall_helpers : 406 @$(ECHO) "Removing helper applications ..." 407 @-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/w2r.pl 408 @-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/opt-case.pl 409 @-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/tinews.pl 410 @-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/url_handler.pl 411 @-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/w2r.pl.$(INS_MANUAL_EXT) 412 @-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/opt-case.pl.$(INS_MANUAL_EXT) 413 @-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/tinews.pl.$(INS_MANUAL_EXT) 414 @-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/url_handler.pl.$(INS_MANUAL_EXT) 415 416 install : $(DESTDIR)$(INS_BINARY_DIR) 417 @$(REMAKE) all 418 @$(ECHO) "Installing $(EXE) v$(VER) to $(DESTDIR)$(INS_BINARY_DIR)/$(PROJEXE) ..." 419 @$(INSTALL) $(BINDIR)/$(EXE) $(DESTDIR)$(INS_BINARY_DIR)/$(PROJEXE) 420 @( $(CD) $(DESTDIR)$(INS_BINARY_DIR) && $(RM) -f r$(PROJEXE) && $(LN) $(PROJEXE) r$(PROJEXE) ) 421 @$(REMAKE) install_helpers 422 @$(REMAKE) install_manpage 423 @MSG_DIR_MAKE@ @$(REMAKE) install_nls 424 425 uninstall : 426 @$(ECHO) "Uninstalling $(PROJEXE) in $(DESTDIR)$(INS_BINARY_DIR) ..." 427 @-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/$(PROJEXE) 428 @-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/r$(PROJEXE) 429 @$(REMAKE) uninstall_helpers 430 @$(REMAKE) uninstall_manpage 431 @MSG_DIR_MAKE@ @$(REMAKE) uninstall_nls 432 433 install_nls : 434 @MSG_DIR_MAKE@ @-if test -r ../po/Makefile ; then $(ECHO) "Installing NLS-files" ; $(CD) ../po/ && $(REMAKE) install ; fi 435 436 uninstall_nls : 437 @MSG_DIR_MAKE@ @-if test -r ../po/Makefile ; then $(ECHO) "Uninstalling NLS-files" ; $(CD) ../po/ && $(REMAKE) uninstall ; fi 438 439 tags : 440 @$(ECHO) "Generating tags (results in ./tags) ..." 441 @-$(RM) -f tags 442 @$(TAGS) $(HFILES) $(CFILES) 443 444 TAGS : 445 @$(ECHO) "Generating emacs tags (results in ./TAGS) ..." 446 @-$(RM) -f TAGS 447 @$(ETAGS) $(HFILES) $(CFILES) 448 449 lint : $(CFILES) $(OBJDIR)/parsdate.c tincfg.h options_menu.h 450 @$(ECHO) "Linting source (results in ./LINT) ..." 451 @$(LINT) $(LINTFLAGS) `$(ECHO) $(CFILES)|$(SED) -e 's/\.y/.c/'` $(LIBS) 1>LINT 2>&1 452 453 clean : 454 @$(ECHO) "Cleaning ..." 455 @-$(RM) -f $(OFILES) 456 @-$(RM) -f $(OBJDIR)/parsdate.c 457 @-$(RM) -f LINT *.ln *.out trace 458 @-$(RM) -f makecfg$X makecfg$o tincfg.h options_menu.h 459 @-$(RM) -rf makecfg.dSYM 460 @-$(RM) -f core *~ 461 @-$(RM) -f $(EXE) 462 @PCREDIR_MAKE@ @-if test -r ../pcre/Makefile ; then $(CD) ../pcre && $(ECHO) "Cleaning Philip Hazel's Perl-compatible regular expressions library ..." && $(REMAKE) clean ; fi 463 @MSG_DIR_MAKE@ @-if test -r ../po/Makefile ; then $(CD) ../po && $(REMAKE) $@ ; fi 464 @INTLDIR_MAKE@ @-if test -r ../intl/Makefile ; then $(CD) ../intl && $(REMAKE) $@ ; fi 465 466 laundry \ 467 dirty : 468 @$(ECHO) "I'm sorry, this is not supported yet ..." 469 470 distclean \ 471 clobber :: clean 472 @$(ECHO) "Clobbering ..." 473 @-$(RM) -f $(OFILES) $(BINDIR)/$(EXE) tags TAGS LINT cflow.$(PACKAGE) 474 475 distclean :: 476 @INTLDIR_MAKE@ @-$(CD) ../intl && $(REMAKE) $@ 477 @MSG_DIR_MAKE@ @-$(CD) ../po && $(REMAKE) clean 478 479 cflow : 480 @$(ECHO) "Creating cflow for $(PACKAGE) ..." 481 @PCREDIR_MAKE@ @$(CFLOW) -I$(INCDIR) -I$(SRCDIR) -I../pcre $(CFILES) > cflow.$(PACKAGE) 482 483 cscope : 484 @$(ECHO) "Creating cscope database $(PACKAGE) ..." 485 @$(CSCOPE) $(ALL_FILES) 486 487 @PCREDIR_MAKE@../pcre/pcre.h ../pcre/$(PRELIB)pcre.a : 488 @PCREDIR_MAKE@ @$(ECHO) "Building Philip Hazel's Perl regular expressions library ..." 489 @PCREDIR_MAKE@ @$(CD) ../pcre && $(REMAKE) $(PRELIB)pcre.a 490 491 @INTLDIR_MAKE@@INTLLIBS@ : 492 @INTLDIR_MAKE@ @$(ECHO) "Building GNU gettext library ..." 493 @INTLDIR_MAKE@ @$(CD) ../intl && $(REMAKE) 494 495 @CANDIR_MAKE@../libcanlock/$(PRELIB)canlock.a : 496 @CANDIR_MAKE@ @$(ECHO) "Building Cancel-Lock library ..." 497 @CANDIR_MAKE@ @$(CD) ../libcanlock && $(REMAKE) lib 498 499 options_menu.h : $(SRCDIR)/tincfg.tbl \ 500 makecfg$X 501 ./makecfg $(SRCDIR)/tincfg.tbl tincfg.h 502 503 tincfg.h : $(SRCDIR)/tincfg.tbl \ 504 makecfg$X 505 ./makecfg $(SRCDIR)/tincfg.tbl $@ 506 507 makecfg$X : $(SRCDIR)/makecfg.c \ 508 Makefile \ 509 $(INCDIR)/tin.h \ 510 ../include/autoconf.h 511 @SHOW_CC@ 512 @ECHO_CC@$(BUILD_CC) $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -o $@ $(SRCDIR)/makecfg.c 513 514 TIN_DEP = \ 515 Makefile \ 516 options_menu.h \ 517 $(INCDIR)/tin.h \ 518 $(INCDIR)/tinrc.h \ 519 ../include/autoconf.h \ 520 $(INCDIR)/bool.h \ 521 $(INCDIR)/debug.h \ 522 $(INCDIR)/extern.h \ 523 $(INCDIR)/nntplib.h \ 524 $(INCDIR)/tcurses.h \ 525 $(INCDIR)/proto.h $(EXTRA_PCREHDRS) $(EXTRA_INTLLIBS) 526 527 $(OBJDIR)/active$o : $(SRCDIR)/active.c $(TIN_DEP) 528 $(OBJDIR)/art$o : $(SRCDIR)/art.c $(TIN_DEP) \ 529 $(INCDIR)/newsrc.h \ 530 $(INCDIR)/stpwatch.h 531 $(OBJDIR)/attrib$o : $(SRCDIR)/attrib.c $(TIN_DEP) \ 532 $(INCDIR)/version.h 533 $(OBJDIR)/auth$o : $(SRCDIR)/auth.c $(TIN_DEP) 534 $(OBJDIR)/charset$o : $(SRCDIR)/charset.c $(TIN_DEP) 535 $(OBJDIR)/color$o : $(SRCDIR)/color.c $(TIN_DEP) 536 $(OBJDIR)/config$o : $(SRCDIR)/config.c $(TIN_DEP) \ 537 $(INCDIR)/tnntp.h \ 538 $(INCDIR)/version.h 539 $(OBJDIR)/cook$o : $(SRCDIR)/cook.c $(TIN_DEP) \ 540 $(INCDIR)/rfc2046.h 541 $(OBJDIR)/curses$o : $(SRCDIR)/curses.c $(TIN_DEP) \ 542 $(INCDIR)/missing_fd.h \ 543 $(INCDIR)/tnntp.h 544 $(OBJDIR)/debug$o : $(SRCDIR)/debug.c $(TIN_DEP) \ 545 $(INCDIR)/newsrc.h 546 $(OBJDIR)/envarg$o : $(SRCDIR)/envarg.c $(TIN_DEP) 547 $(OBJDIR)/feed$o : $(SRCDIR)/feed.c $(TIN_DEP) \ 548 $(INCDIR)/keymap.h \ 549 $(INCDIR)/rfc2046.h 550 $(OBJDIR)/filter$o : $(SRCDIR)/filter.c $(TIN_DEP) \ 551 $(INCDIR)/keymap.h \ 552 $(INCDIR)/version.h 553 $(OBJDIR)/getline$o : $(SRCDIR)/getline.c $(TIN_DEP) 554 $(OBJDIR)/global$o : $(SRCDIR)/global.c $(TIN_DEP) \ 555 $(INCDIR)/keymap.h 556 $(OBJDIR)/group$o : $(SRCDIR)/group.c $(TIN_DEP) \ 557 $(INCDIR)/keymap.h 558 $(OBJDIR)/hashstr$o : $(SRCDIR)/hashstr.c $(TIN_DEP) 559 $(OBJDIR)/header$o : $(SRCDIR)/header.c $(TIN_DEP) \ 560 $(INCDIR)/tnntp.h 561 $(OBJDIR)/help$o : $(SRCDIR)/help.c $(TIN_DEP) \ 562 $(INCDIR)/keymap.h 563 $(OBJDIR)/inews$o : $(SRCDIR)/inews.c $(TIN_DEP) \ 564 $(INCDIR)/tnntp.h 565 $(OBJDIR)/init$o : $(SRCDIR)/init.c $(TIN_DEP) \ 566 $(INCDIR)/bugrep.h \ 567 $(INCDIR)/keymap.h \ 568 $(INCDIR)/tnntp.h \ 569 $(INCDIR)/version.h 570 $(OBJDIR)/joinpath$o : $(SRCDIR)/joinpath.c $(TIN_DEP) 571 $(OBJDIR)/keymap$o : $(SRCDIR)/keymap.c $(TIN_DEP) \ 572 $(INCDIR)/keymap.h \ 573 $(INCDIR)/version.h 574 $(OBJDIR)/lang$o : $(SRCDIR)/lang.c $(TIN_DEP) 575 $(OBJDIR)/langinfo$o : $(SRCDIR)/langinfo.c $(TIN_DEP) 576 $(OBJDIR)/list$o : $(SRCDIR)/list.c $(TIN_DEP) 577 $(OBJDIR)/lock$o : $(SRCDIR)/lock.c $(TIN_DEP) 578 $(OBJDIR)/mail$o : $(SRCDIR)/mail.c $(TIN_DEP) 579 $(OBJDIR)/main$o : $(SRCDIR)/main.c $(TIN_DEP) \ 580 $(INCDIR)/version.h 581 $(OBJDIR)/memory$o : $(SRCDIR)/memory.c $(TIN_DEP) \ 582 $(INCDIR)/rfc2046.h 583 $(OBJDIR)/mimetypes$o : $(SRCDIR)/mimetypes.c $(TIN_DEP) 584 $(OBJDIR)/misc$o : $(SRCDIR)/misc.c $(TIN_DEP) \ 585 $(INCDIR)/policy.h \ 586 $(INCDIR)/rfc2046.h \ 587 $(INCDIR)/version.h 588 $(OBJDIR)/my_tmpfile$o : $(SRCDIR)/my_tmpfile.c $(TIN_DEP) 589 $(OBJDIR)/newsrc$o : $(SRCDIR)/newsrc.c $(TIN_DEP) \ 590 $(INCDIR)/newsrc.h \ 591 $(INCDIR)/tnntp.h 592 $(OBJDIR)/nntplib$o : $(SRCDIR)/nntplib.c $(TIN_DEP) \ 593 $(INCDIR)/tnntp.h 594 $(OBJDIR)/nntps$o : $(SRCDIR)/nntps.c $(TIN_DEP) \ 595 $(INCDIR)/tnntps.h 596 $(OBJDIR)/nrctbl$o : $(SRCDIR)/nrctbl.c $(TIN_DEP) \ 597 $(INCDIR)/keymap.h \ 598 $(INCDIR)/version.h 599 $(OBJDIR)/options_menu$o : $(SRCDIR)/options_menu.c $(TIN_DEP) \ 600 tincfg.h \ 601 $(INCDIR)/keymap.h 602 $(OBJDIR)/page$o : $(SRCDIR)/page.c $(TIN_DEP) \ 603 $(INCDIR)/keymap.h \ 604 $(INCDIR)/rfc2046.h 605 $(OBJDIR)/parsdate$o : $(OBJDIR)/parsdate.y $(TIN_DEP) 606 $(OBJDIR)/pgp$o : $(SRCDIR)/pgp.c $(TIN_DEP) \ 607 $(INCDIR)/keymap.h 608 $(OBJDIR)/plp_snprintf$o : $(SRCDIR)/plp_snprintf.c $(TIN_DEP) \ 609 $(INCDIR)/plp_snprintf.h 610 $(OBJDIR)/post$o : $(SRCDIR)/post.c $(TIN_DEP) \ 611 $(INCDIR)/keymap.h \ 612 $(INCDIR)/rfc2046.h \ 613 $(INCDIR)/version.h 614 $(OBJDIR)/prompt$o : $(SRCDIR)/prompt.c $(TIN_DEP) \ 615 $(INCDIR)/keymap.h 616 $(OBJDIR)/read$o : $(SRCDIR)/read.c $(TIN_DEP) \ 617 $(INCDIR)/missing_fd.h \ 618 $(INCDIR)/keymap.h \ 619 $(INCDIR)/tnntp.h 620 $(OBJDIR)/refs$o : $(SRCDIR)/refs.c $(TIN_DEP) 621 $(OBJDIR)/regex$o : $(SRCDIR)/regex.c $(TIN_DEP) 622 $(OBJDIR)/rfc1524$o : $(SRCDIR)/rfc1524.c $(TIN_DEP) \ 623 $(INCDIR)/rfc2046.h 624 $(OBJDIR)/rfc2045$o : $(SRCDIR)/rfc2045.c $(TIN_DEP) 625 $(OBJDIR)/rfc2046$o : $(SRCDIR)/rfc2046.c $(TIN_DEP) \ 626 $(INCDIR)/rfc2046.h 627 $(OBJDIR)/rfc2047$o : $(SRCDIR)/rfc2047.c $(TIN_DEP) \ 628 $(INCDIR)/rfc2046.h 629 $(OBJDIR)/save$o : $(SRCDIR)/save.c $(TIN_DEP) \ 630 $(INCDIR)/keymap.h \ 631 $(INCDIR)/rfc2046.h 632 $(OBJDIR)/screen$o : $(SRCDIR)/screen.c $(TIN_DEP) 633 $(OBJDIR)/search$o : $(SRCDIR)/search.c $(TIN_DEP) \ 634 $(INCDIR)/keymap.h 635 $(OBJDIR)/select$o : $(SRCDIR)/select.c $(TIN_DEP) \ 636 $(INCDIR)/keymap.h 637 $(OBJDIR)/sigfile$o : $(SRCDIR)/sigfile.c $(TIN_DEP) 638 $(OBJDIR)/signal$o : $(SRCDIR)/signal.c $(TIN_DEP) \ 639 $(INCDIR)/version.h 640 $(OBJDIR)/strftime$o : $(SRCDIR)/strftime.c $(TIN_DEP) 641 $(OBJDIR)/string$o : $(SRCDIR)/string.c $(TIN_DEP) 642 $(OBJDIR)/tags$o : $(SRCDIR)/tags.c $(TIN_DEP) 643 $(OBJDIR)/tcurses$o : $(SRCDIR)/tcurses.c $(TIN_DEP) 644 $(OBJDIR)/thread$o : $(SRCDIR)/thread.c $(TIN_DEP) \ 645 $(INCDIR)/keymap.h 646 $(OBJDIR)/tmpfile$o : $(SRCDIR)/tmpfile.c $(TIN_DEP) 647 $(OBJDIR)/version$o : $(SRCDIR)/version.c $(TIN_DEP) \ 648 $(INCDIR)/keymap.h \ 649 $(INCDIR)/version.h 650 $(OBJDIR)/wildmat$o : $(SRCDIR)/wildmat.c $(TIN_DEP) 651 $(OBJDIR)/xface$o : $(SRCDIR)/xface.c $(TIN_DEP) 652 $(OBJDIR)/xref$o : $(SRCDIR)/xref.c $(TIN_DEP) \ 653 $(INCDIR)/newsrc.h 654 @EXTRAO_DEP@$(EXTRAOBJS) : $(TIN_DEP)