1# $Id: makefile.in,v 1.83 2012/10/06 14:05:14 tom Exp $ 2# template makefile for DIALOG 3############################################################################## 4# Copyright (c) 1999-2011,2012 Thomas E. Dickey # 5# # 6# Permission is hereby granted, free of charge, to any person obtaining a # 7# copy of this software and associated documentation files (the "Software"), # 8# to deal in the Software without restriction, including without limitation # 9# the rights to use, copy, modify, merge, publish, distribute, distribute # 10# with modifications, sublicense, and/or sell copies of the Software, and to # 11# permit persons to whom the Software is furnished to do so, subject to the # 12# following conditions: # 13# # 14# The above copyright notice and this permission notice shall be included in # 15# all copies or substantial portions of the Software. # 16# # 17# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 18# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # 19# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # 20# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # 21# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # 22# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # 23# DEALINGS IN THE SOFTWARE. # 24# # 25# Except as contained in this notice, the name(s) of the above copyright # 26# holders shall not be used in advertising or otherwise to promote the sale, # 27# use or other dealings in this Software without prior written # 28# authorization. # 29############################################################################## 30# 31SHELL = /bin/sh 32 33srcdir = @srcdir@ 34VPATH = @srcdir@ 35 36prefix = @prefix@ 37exec_prefix = @exec_prefix@ 38datarootdir = @datarootdir@ 39 40top_builddir = . 41 42x = @EXEEXT@ 43o = .@OBJEXT@ 44a = @LIB_SUFFIX@ 45 46DESTDIR = 47 48bindir = @bindir@ 49includedir = @includedir@ 50libdir = @libdir@ 51mandir = @mandir@ 52 53BINDIR = $(DESTDIR)$(bindir) 54INCLUDEDIR = $(DESTDIR)$(includedir) 55LIBDIR = $(DESTDIR)$(libdir) 56MANDIR = $(DESTDIR)$(mandir) 57 58MAN1DIR = $(MANDIR)/man1 59MAN3DIR = $(MANDIR)/man3 60 61# see po/makefile 62localedir = $(prefix)/@DATADIRNAME@/locale 63 64CFLAGS = @CFLAGS@ 65CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@ @DEFS@ -DLOCALEDIR=\"$(localedir)\" 66EXTRA_CFLAGS = @EXTRA_CFLAGS@ 67CC = @CC@ 68CPP = @CPP@ 69AR = @AR@ 70LDFLAGS = @EXTRA_LDFLAGS@ @LDFLAGS@ 71LIBS = @LIBS@ @INTLLIBS@ 72RANLIB = @LIB_PREP@ 73 74RM = rm -f 75LINT = @LINT@ 76LINT_OPTS = @LINT_OPTS@ 77 78CTAGS = @CTAGS@ 79ETAGS = @ETAGS@ 80 81LIBTOOL = @LIBTOOL@ @ECHO_LT@ 82LIBTOOL_OPTS = @LIBTOOL_OPTS@ 83LIBTOOL_CLEAN = @LIB_CLEAN@ 84LIBTOOL_COMPILE = @LIB_COMPILE@ 85LIBTOOL_CREATE = @LIB_CREATE@ 86LIBTOOL_LINK = @LIB_LINK@ 87LIBTOOL_INSTALL = @LIB_INSTALL@ 88LIBTOOL_UNINSTALL = @LIB_UNINSTALL@ 89LIBTOOL_VERSION = @LIBTOOL_VERSION@ 90 91INSTALL = @INSTALL@ 92INSTALL_PROGRAM = $(LIBTOOL_INSTALL) @INSTALL_PROGRAM@ 93INSTALL_SCRIPT = @INSTALL_SCRIPT@ 94INSTALL_DATA = @INSTALL_DATA@ 95 96LINK = $(LIBTOOL_LINK) 97 98# The library is always named for the package, but the program can be further 99# renamed at install time, starting with the package name. 100PACKAGE = @PACKAGE@ 101ACTUAL_PROG = `echo $(PACKAGE) |sed @program_transform_name@` 102LIB_CONFIG = @PACKAGE@-config 103 104# The library name $(LIB) is set at configure/make time, since it is used as a 105# makefile target. Ditto for $(PROG). 106LIB = @LIB_PREFIX@@PACKAGE@$a 107PROG = @PACKAGE@$x 108# 109# Standard .c to .o compile line. 110# 111.SUFFIXES: .c .i $o .html .1 .3 .man .ps .pdf .txt 112.c.i : 113 @RULE_CC@ 114 @ECHO_CC@$(CPP) $(CPPFLAGS) -c $< >$@ 115.c$o : 116 @RULE_CC@ 117 @ECHO_CC@$(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c $< 118 119.1.html : 120 GROFF_NO_SGR=stupid $(SHELL) -c "tbl $< | groff -Thtml -man" >$@ 121 122.1.ps : 123 $(SHELL) -c "tbl $< | groff -man" >$@ 124 125.1.txt : 126 GROFF_NO_SGR=stupid $(SHELL) -c "tbl $< | nroff -Tascii -man | col -bx" >$@ 127 128.ps.pdf : 129 ps2pdf $*.ps 130 131EXTRAOBJS = @EXTRAOBJS@ 132OBJECTS = $(EXTRAOBJS) \ 133 argv$o \ 134 arrows$o \ 135 buttons$o \ 136 checklist$o \ 137 columns$o \ 138 dlg_keys$o \ 139 editbox$o \ 140 help$o \ 141 inputbox$o \ 142 inputstr$o \ 143 menubox$o \ 144 mouse$o \ 145 mousewget$o \ 146 msgbox$o \ 147 textbox$o \ 148 ui_getc$o \ 149 util$o \ 150 version$o \ 151 yesno$o 152 153LIB_OBJECT = @LIB_OBJECT@ 154 155SRCS = $(OBJECTS:$o=.c) 156HDRS = \ 157 dialog.h \ 158 dlg_colors.h \ 159 dlg_config.h \ 160 dlg_keys.h 161 162ALL = $(LIB) $(PROG) 163 164BIN_DIRS = $(BINDIR) $(MAN1DIR) 165LIB_DIRS = $(LIBDIR) $(INCLUDEDIR) 166 167PO_DIR = $(srcdir)/po 168 169all :: $(ALL) 170 171@LIBTOOL_MAKE@install :: install-lib 172@LIBTOOL_MAKE@uninstall :: uninstall-lib 173 174@INTLDIR_MAKE@@INTLLIBS@ : 175@INTLDIR_MAKE@ @echo "Building GNU gettext library..." 176@INTLDIR_MAKE@ @cd intl && $(MAKE) @cf_cv_makeflags@ 177 178dialog$o \ 179$(OBJECTS) : $(srcdir)/dialog.h $(srcdir)/dlg_keys.h dlg_config.h VERSION 180 181$(LIB) : $(LIB_OBJECT) 182 $(LIBTOOL_CREATE) $(LIB) $(LIB_OBJECT) 183 $(RANLIB) $@ 184 185$(PROG)$x : $(LIB) dialog$o @INTLDIR_MAKE@ @INTLLIBS@ 186 $(LINK) -o $@ dialog$o -L. -l@PACKAGE@ $(LDFLAGS) $(LIBS) 187 188clean \ 189distclean \ 190install \ 191install-full \ 192install-strip \ 193uninstall :: 194 @echo making $@ 195@INTLDIR_MAKE@ @-test -f intl/makefile && cd intl && $(MAKE) @cf_cv_makeflags@ $@ 196@MSG_DIR_MAKE@ @-test -f po/makefile && cd po && $(MAKE) @cf_cv_makeflags@ $@ 197 198clean :: 199 @- $(RM) -r autom4te.cache 200 - $(RM) *.*cov *.da *.bb *.bbg 201 - $(LIBTOOL_CLEAN) $(RM) *.i *$o $(ALL) 202 - $(RM) headers.sed 203 - $(RM) *.html *.pdf *.png *.ps *.txt dialog_lib.1 204 - $(RM) core *~ tags TAGS 205 206distclean :: clean 207 $(RM) intl/libintl.h intl/po2tbl.sed 208 $(RM) makefile dlg_config.h config.cache config.log config.status 209 $(RM) samples/install/makefile 210 $(RM) headers-sh 211 $(RM) dialog-config 212 213install :: install-bin install-man 214 @echo "made $@" 215 216install-full :: install-lib install-bin install-man 217 @echo "made $@" 218 219install-strip :: $(PROG) $(BINDIR) 220 $(INSTALL_PROGRAM) -s $(PROG) $(BINDIR) 221 222uninstall :: uninstall-bin uninstall-man 223 @echo "made $@" 224 225uninstall-full :: uninstall-bin uninstall-man uninstall-lib 226 @echo "made $@" 227 228install-bin : $(PROG) $(BINDIR) 229 $(INSTALL_PROGRAM) $(PROG) $(BINDIR)/$(ACTUAL_PROG)$x 230 231uninstall-bin : 232 $(RM) $(BINDIR)/$(ACTUAL_PROG)$x 233 234install-man :: $(MAN1DIR) 235 @ echo "** installing $(ACTUAL_PROG).1" 236 @ $(SHELL) $(srcdir)/rename.sh \ 237 $(srcdir)/dialog.1 \ 238 $(MAN1DIR)/$(ACTUAL_PROG).1 \ 239 $(ACTUAL_PROG) \ 240 @PACKAGE@ \ 241 $(INSTALL_DATA) 242 243uninstall-man :: 244 $(RM) $(MAN1DIR)/$(ACTUAL_PROG).1 245 246# most users do not want/need the library, so the install rules are distinct. 247install-lib :: $(BINDIR) dialog-config 248 @ echo "** installing config script in $(BINDIR)" 249 @ $(INSTALL_SCRIPT) dialog-config $(BINDIR)/$(LIB_CONFIG) 250 251install-lib :: $(LIB_DIRS) $(LIB) headers.sed 252 @ echo "** installing library in $(LIBDIR)" 253 @ $(LIBTOOL_INSTALL) $(INSTALL_DATA) $(LIB) $(LIBDIR) 254 @ echo "** installing headers in $(INCLUDEDIR)" 255 @ $(SHELL) headers-sh $(INSTALL_DATA) $(INCLUDEDIR) $(srcdir) dialog.h 256 @ $(SHELL) headers-sh $(INSTALL_DATA) $(INCLUDEDIR) $(srcdir) dlg_colors.h 257 @ $(SHELL) headers-sh $(INSTALL_DATA) $(INCLUDEDIR) $(srcdir) dlg_keys.h 258 @ $(SHELL) headers-sh $(INSTALL_DATA) $(INCLUDEDIR) . dlg_config.h 259 260uninstall-lib :: $(BINDIR) 261 $(RM) $(BINDIR)/$(LIB_CONFIG) 262 263uninstall-lib :: $(LIB_DIRS) 264 - $(LIBTOOL_UNINSTALL) $(RM) $(LIBDIR)/$(LIB) 265 @ $(SHELL) headers-sh $(RM) $(INCLUDEDIR) $(srcdir) dialog.h 266 @ $(SHELL) headers-sh $(RM) $(INCLUDEDIR) $(srcdir) dlg_colors.h 267 @ $(SHELL) headers-sh $(RM) $(INCLUDEDIR) $(srcdir) dlg_keys.h 268 @ $(SHELL) headers-sh $(RM) $(INCLUDEDIR) . dlg_config.h 269 270install-lib :: $(MAN3DIR) 271 @ echo "** installing @PACKAGE@.3" 272 @ $(SHELL) $(srcdir)/rename.sh \ 273 $(srcdir)/dialog.3 \ 274 $(MAN3DIR)/@PACKAGE@.3 \ 275 $(ACTUAL_PROG) \ 276 @PACKAGE@ \ 277 $(INSTALL_DATA) 278 279uninstall-lib :: 280 $(RM) $(MAN3DIR)/@PACKAGE@.3 281 282headers.sed : headers-sh 283 $(SHELL) headers-sh $(INCLUDEDIR) $(srcdir) 284 285################################################################################ 286TOP_DOCS = \ 287 dialog.html \ 288 dialog.pdf \ 289 dialog.ps \ 290 dialog.txt 291dialog.html : dialog.1 292dialog.pdf : dialog.ps 293dialog.ps : dialog.1 294dialog.txt : dialog.1 295################################################################################ 296# rename, to use suffix-rules 297dialog_lib.1 : dialog.3 298 -$(RM) $@ 299 cp dialog.3 $@ 300 301LIB_DOCS = \ 302 dialog_lib.1 \ 303 dialog_lib.html \ 304 dialog_lib.pdf \ 305 dialog_lib.ps \ 306 dialog_lib.txt 307dialog_lib.html : dialog_lib.1 308dialog_lib.pdf : dialog_lib.ps 309dialog_lib.ps : dialog_lib.1 310dialog_lib.txt : dialog_lib.1 311################################################################################ 312docs: $(TOP_DOCS) $(LIB_DOCS) 313clean-docs: 314 -$(RM) $(TOP_DOCS) $(LIB_DOCS) 315################################################################################ 316 317$(MAN1DIR) \ 318$(MAN3DIR) \ 319$(BINDIR) \ 320$(INCLUDEDIR) \ 321$(LIBDIR) : ; mkdir -p $@ 322 323@MAKE_LOWER_TAGS@tags : 324@MAKE_LOWER_TAGS@ $(CTAGS) $(SRCS) $(HDRS) 325 326@MAKE_LOWER_TAGS@TAGS : 327@MAKE_LOWER_TAGS@ $(ETAGS) $(SRCS) $(HDRS) 328 329update-po: 330 rsync -Lrtvz translationproject.org::tp/latest/dialog/ $(PO_DIR) 331 test -f $(PO_DIR)/makefile && cd $(PO_DIR) && $(MAKE) $@ 332 333lint: 334 $(LINT) $(LINT_OPTS) $(CPPFLAGS) *.c 335