xref: /freebsd/contrib/dialog/makefile.in (revision 3b1f7d9e5d6f44b50ff07fde6fd0e1135f213762)
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