1# $Id: makefile.in,v 1.79 2011/06/25 00:27:56 tom Exp $ 2# template makefile for DIALOG 3############################################################################## 4# Copyright (c) 1999-2010,2011 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@ 38 39top_builddir = . 40 41x = @EXEEXT@ 42o = .@OBJEXT@ 43a = @LIB_SUFFIX@ 44 45DESTDIR = 46 47bindir = @bindir@ 48includedir = @includedir@ 49libdir = @libdir@ 50mandir = @mandir@ 51 52BINDIR = $(DESTDIR)$(bindir) 53INCLUDEDIR = $(DESTDIR)$(includedir) 54LIBDIR = $(DESTDIR)$(libdir) 55MANDIR = $(DESTDIR)$(mandir) 56 57MAN1DIR = $(MANDIR)/man1 58MAN3DIR = $(MANDIR)/man3 59 60# see po/makefile 61localedir = $(prefix)/@DATADIRNAME@/locale 62 63CFLAGS = @CFLAGS@ 64CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@ @DEFS@ -DLOCALEDIR=\"$(localedir)\" 65EXTRA_CFLAGS = @EXTRA_CFLAGS@ 66CC = @CC@ 67CPP = @CPP@ 68AR = @AR@ 69LDFLAGS = @EXTRA_LDFLAGS@ @LDFLAGS@ 70LIBS = @LIBS@ @INTLLIBS@ 71RANLIB = @LIB_PREP@ 72 73RM = rm -f 74LINT = lint 75 76CTAGS = @CTAGS@ 77ETAGS = @ETAGS@ 78 79LIBTOOL = @LIBTOOL@ @ECHO_LT@ 80LIBTOOL_OPTS = @LIBTOOL_OPTS@ 81LIBTOOL_CLEAN = @LIB_CLEAN@ 82LIBTOOL_COMPILE = @LIB_COMPILE@ 83LIBTOOL_CREATE = @LIB_CREATE@ 84LIBTOOL_LINK = @LIB_LINK@ 85LIBTOOL_INSTALL = @LIB_INSTALL@ 86LIBTOOL_UNINSTALL = @LIB_UNINSTALL@ 87 88INSTALL = @INSTALL@ 89INSTALL_PROGRAM = $(LIBTOOL_INSTALL) @INSTALL_PROGRAM@ 90INSTALL_SCRIPT = @INSTALL_SCRIPT@ 91INSTALL_DATA = @INSTALL_DATA@ 92 93LINK = $(LIBTOOL_LINK) 94 95# The library is always named for the package, but the program can be further 96# renamed at install time, starting with the package name. 97PACKAGE = @PACKAGE@ 98ACTUAL_PROG = `echo $(PACKAGE) |sed @program_transform_name@` 99LIB_CONFIG = @PACKAGE@-config 100 101# The library name $(LIB) is set at configure/make time, since it is used as a 102# makefile target. Ditto for $(PROG). 103LIB = @LIB_PREFIX@@PACKAGE@$a 104PROG = dialog$x 105# 106# Standard .c to .o compile line. 107# 108.SUFFIXES: .c .i $o .html .1 .3 .man .ps .pdf .txt 109.c.i : 110 @RULE_CC@ 111 @ECHO_CC@$(CPP) $(CPPFLAGS) -c $< >$@ 112.c$o : 113 @RULE_CC@ 114 @ECHO_CC@$(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c $< 115 116.1.html : 117 GROFF_NO_SGR=stupid $(SHELL) -c "tbl $< | groff -Thtml -man" >$@ 118 119.1.ps : 120 $(SHELL) -c "tbl $< | groff -man" >$@ 121 122.1.txt : 123 GROFF_NO_SGR=stupid $(SHELL) -c "tbl $< | nroff -Tascii -man | col -bx" >$@ 124 125.ps.pdf : 126 ps2pdf $*.ps 127 128EXTRAOBJS = @EXTRAOBJS@ 129OBJECTS = $(EXTRAOBJS) \ 130 argv$o \ 131 arrows$o \ 132 buttons$o \ 133 checklist$o \ 134 columns$o \ 135 dlg_keys$o \ 136 editbox$o \ 137 help$o \ 138 inputbox$o \ 139 inputstr$o \ 140 menubox$o \ 141 mouse$o \ 142 mousewget$o \ 143 msgbox$o \ 144 textbox$o \ 145 ui_getc$o \ 146 util$o \ 147 version$o \ 148 yesno$o 149 150LIB_OBJECT = @LIB_OBJECT@ 151 152SRCS = $(OBJECTS:$o=.c) 153HDRS = \ 154 dialog.h \ 155 dlg_colors.h \ 156 dlg_config.h \ 157 dlg_keys.h 158 159ALL = $(LIB) $(PROG) 160 161BIN_DIRS = $(BINDIR) $(MAN1DIR) 162LIB_DIRS = $(LIBDIR) $(INCLUDEDIR) 163 164PO_DIR = $(srcdir)/po 165 166all :: $(ALL) 167 168@LIBTOOL_MAKE@install :: install-lib 169@LIBTOOL_MAKE@uninstall :: uninstall-lib 170 171@INTLDIR_MAKE@@INTLLIBS@ : 172@INTLDIR_MAKE@ @echo "Building GNU gettext library..." 173@INTLDIR_MAKE@ @cd intl && $(MAKE) @cf_cv_makeflags@ 174 175dialog$o \ 176$(OBJECTS) : $(srcdir)/dialog.h $(srcdir)/dlg_keys.h dlg_config.h VERSION 177 178$(LIB) : $(LIB_OBJECT) 179 $(LIBTOOL_CREATE) $(LIB) $(LIB_OBJECT) 180 $(RANLIB) $@ 181 182dialog$x : $(LIB) dialog$o @INTLDIR_MAKE@ @INTLLIBS@ 183 $(LINK) -o $@ dialog$o -L. -l@PACKAGE@ $(LDFLAGS) $(LIBS) 184 185clean \ 186distclean \ 187install \ 188install-full \ 189install-strip \ 190uninstall :: 191 @echo making $@ 192@INTLDIR_MAKE@ @-test -f intl/makefile && cd intl && $(MAKE) @cf_cv_makeflags@ $@ 193@MSG_DIR_MAKE@ @-test -f po/makefile && cd po && $(MAKE) @cf_cv_makeflags@ $@ 194 195clean :: 196 @- $(RM) -r autom4te.cache 197 - $(RM) *.*cov *.da *.bb *.bbg 198 - $(LIBTOOL_CLEAN) $(RM) *.i *$o $(ALL) 199 - $(RM) headers.sed 200 - $(RM) *.html *.pdf *.png *.ps *.txt dialog_lib.1 201 - $(RM) core *~ tags TAGS 202 203distclean :: clean 204 $(RM) intl/libintl.h intl/po2tbl.sed 205 $(RM) makefile dlg_config.h config.cache config.log config.status 206 $(RM) samples/install/makefile 207 $(RM) headers-sh 208 $(RM) dialog-config 209 210install :: install-bin install-man 211 @echo "made $@" 212 213install-full :: install-lib install-bin install-man 214 @echo "made $@" 215 216install-strip :: $(PROG) $(BINDIR) 217 $(INSTALL_PROGRAM) -s $(PROG) $(BINDIR) 218 219uninstall :: uninstall-bin uninstall-man 220 @echo "made $@" 221 222uninstall-full :: uninstall-bin uninstall-man uninstall-lib 223 @echo "made $@" 224 225install-bin : $(PROG) $(BINDIR) 226 $(INSTALL_PROGRAM) $(PROG) $(BINDIR)/$(ACTUAL_PROG)$x 227 228uninstall-bin : 229 $(RM) $(BINDIR)/$(ACTUAL_PROG)$x 230 231install-man :: $(MAN1DIR) 232 @ echo "** installing $(ACTUAL_PROG).1" 233 @ $(SHELL) $(srcdir)/rename.sh \ 234 $(srcdir)/dialog.1 \ 235 $(MAN1DIR)/$(ACTUAL_PROG).1 \ 236 $(ACTUAL_PROG) \ 237 @PACKAGE@ \ 238 $(INSTALL_DATA) 239 240uninstall-man :: 241 $(RM) $(MAN1DIR)/$(ACTUAL_PROG).1 242 243# most users do not want/need the library, so the install rules are distinct. 244install-lib :: $(BINDIR) dialog-config 245 @ echo "** installing config script in $(BINDIR)" 246 @ $(INSTALL_SCRIPT) dialog-config $(BINDIR)/$(LIB_CONFIG) 247 248install-lib :: $(LIB_DIRS) $(LIB) headers.sed 249 @ echo "** installing library in $(LIBDIR)" 250 @ $(LIBTOOL_INSTALL) $(INSTALL_DATA) $(LIB) $(LIBDIR) 251 @ echo "** installing headers in $(INCLUDEDIR)" 252 @ $(SHELL) $(srcdir)/headers-sh $(INSTALL_DATA) $(INCLUDEDIR) $(srcdir) dialog.h 253 @ $(SHELL) $(srcdir)/headers-sh $(INSTALL_DATA) $(INCLUDEDIR) $(srcdir) dlg_colors.h 254 @ $(SHELL) $(srcdir)/headers-sh $(INSTALL_DATA) $(INCLUDEDIR) $(srcdir) dlg_keys.h 255 @ $(SHELL) $(srcdir)/headers-sh $(INSTALL_DATA) $(INCLUDEDIR) . dlg_config.h 256 257uninstall-lib :: $(BINDIR) 258 $(RM) $(BINDIR)/$(LIB_CONFIG) 259 260uninstall-lib :: $(LIB_DIRS) 261 - $(LIBTOOL_UNINSTALL) $(RM) $(LIBDIR)/$(LIB) 262 @ $(SHELL) $(srcdir)/headers-sh $(RM) $(INCLUDEDIR) $(srcdir) dialog.h 263 @ $(SHELL) $(srcdir)/headers-sh $(RM) $(INCLUDEDIR) $(srcdir) dlg_colors.h 264 @ $(SHELL) $(srcdir)/headers-sh $(RM) $(INCLUDEDIR) $(srcdir) dlg_keys.h 265 @ $(SHELL) $(srcdir)/headers-sh $(RM) $(INCLUDEDIR) . dlg_config.h 266 267install-lib :: $(MAN3DIR) 268 @ echo "** installing @PACKAGE@.3" 269 @ $(SHELL) $(srcdir)/rename.sh \ 270 $(srcdir)/dialog.3 \ 271 $(MAN3DIR)/@PACKAGE@.3 \ 272 $(ACTUAL_PROG) \ 273 @PACKAGE@ \ 274 $(INSTALL_DATA) 275 276uninstall-lib :: 277 $(RM) $(MAN3DIR)/@PACKAGE@.3 278 279headers.sed : $(srcdir)/headers-sh 280 $(SHELL) $(srcdir)/headers-sh $(INCLUDEDIR) $(srcdir) 281 282################################################################################ 283TOP_DOCS = \ 284 dialog.html \ 285 dialog.pdf \ 286 dialog.ps \ 287 dialog.txt 288dialog.html : dialog.1 289dialog.pdf : dialog.ps 290dialog.ps : dialog.1 291dialog.txt : dialog.1 292################################################################################ 293# rename, to use suffix-rules 294dialog_lib.1 : dialog.3 295 -$(RM) $@ 296 cp dialog.3 $@ 297 298LIB_DOCS = \ 299 dialog_lib.1 \ 300 dialog_lib.html \ 301 dialog_lib.pdf \ 302 dialog_lib.ps \ 303 dialog_lib.txt 304dialog_lib.html : dialog_lib.1 305dialog_lib.pdf : dialog_lib.ps 306dialog_lib.ps : dialog_lib.1 307dialog_lib.txt : dialog_lib.1 308################################################################################ 309docs: $(TOP_DOCS) $(LIB_DOCS) 310clean-docs: 311 -$(RM) $(TOP_DOCS) $(LIB_DOCS) 312################################################################################ 313 314$(MAN1DIR) \ 315$(MAN3DIR) \ 316$(BINDIR) \ 317$(INCLUDEDIR) \ 318$(LIBDIR) : ; mkdir -p $@ 319 320@MAKE_LOWER_TAGS@tags : 321@MAKE_LOWER_TAGS@ $(CTAGS) $(SRCS) $(HDRS) 322 323@MAKE_LOWER_TAGS@TAGS : 324@MAKE_LOWER_TAGS@ $(ETAGS) $(SRCS) $(HDRS) 325 326update-po: 327 rsync -Lrtvz translationproject.org::tp/latest/dialog/ $(PO_DIR) 328 test -f $(PO_DIR)/makefile && cd $(PO_DIR) && $(MAKE) $@ 329 330lint: 331 $(LINT) $(CPPFLAGS) *.c 332