[917297]: Makefile.in Maximize Restore History

Download this file

Makefile.in    384 lines (316 with data), 12.6 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
# @configure_input@
#
# $Id$
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
# Written by Keith Marshall <keithmarshall@users.sourceforge.net>
# Copyright (C) 2009-2013, MinGW.org Project
#
#
# Makefile template for mingw-get
#
#
# This is free software. Permission is granted to copy, modify and
# redistribute this software, under the provisions of the GNU General
# Public License, Version 3, (or, at your option, any later version),
# as published by the Free Software Foundation; see the file COPYING
# for licensing details.
#
# Note, in particular, that this software is provided "as is", in the
# hope that it may prove useful, but WITHOUT WARRANTY OF ANY KIND; not
# even an implied WARRANTY OF MERCHANTABILITY, nor of FITNESS FOR ANY
# PARTICULAR PURPOSE. Under no circumstances will the author, or the
# MinGW.org Project, accept liability for any damages, however caused,
# arising from the use of this software.
#
PACKAGE_SUBSYSTEM = @host_os@
CLI_RELEASE_CLASS = @CLI_RELEASE_CLASS@
BUILD_TAG = `>> build.tag; cat build.tag`
DEBUGLEVEL = @DEBUGLEVEL@
srcdir = @srcdir@
abs_top_srcdir = @abs_top_srcdir@
vpath %.ico @srcdir@/icons
VPATH = @top_srcdir@/src:@top_srcdir@/src/pkginfo:@top_srcdir@/tinyxml
CC = @CC@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@ -D DEBUGLEVEL=$(DEBUGLEVEL) $(INCLUDES)
CXX = @CXX@
CXXFLAGS = $(CFLAGS)
INCLUDES = -I ${srcdir}/src -I ${srcdir}/src/pkginfo -I ${srcdir}/tinyxml
LEX = @LEX@
AR = @AR@
ARFLAGS = @ARFLAGS@
WINDRES = @WINDRES@
VERSION_SCRIPT = tag=$(BUILD_TAG); \
test "x$$tag" != x && tag="-$(CLI_RELEASE_CLASS)-$$tag"; \
$(TAG_SCRIPT)
TAG_SCRIPT = sed \
-e "s!%PACKAGE_NAME%!$(PACKAGE_TARNAME)!g" \
-e "s!%PACKAGE_VERSION%!$(PACKAGE_VERSION)$$tag!g" \
-e "s!%COPYRIGHT_HOLDER%!@COPYRIGHT_HOLDER@!g" \
-e "s!%YEARS_OF_ISSUE%!@YEARS_OF_ISSUE@!g"
OBJEXT = @OBJEXT@
EXEEXT = @EXEEXT@
LDFLAGS = @LDFLAGS@
LIBS = -Wl,-Bstatic -llua -lz -lbz2 -llzma -Wl,-Bdynamic -lwininet
CORE_DLL_OBJECTS = climain.$(OBJEXT) pkgshow.$(OBJEXT) dmh.$(OBJEXT) \
pkgbind.$(OBJEXT) pkginet.$(OBJEXT) pkgstrm.$(OBJEXT) pkgname.$(OBJEXT) \
pkgexec.$(OBJEXT) pkgfind.$(OBJEXT) pkginfo.$(OBJEXT) pkgspec.$(OBJEXT) \
pkgopts.$(OBJEXT) sysroot.$(OBJEXT) pkghash.$(OBJEXT) pkgkeys.$(OBJEXT) \
pkgdeps.$(OBJEXT) pkgreqs.$(OBJEXT) pkginst.$(OBJEXT) pkgunst.$(OBJEXT) \
tarproc.$(OBJEXT) xmlfile.$(OBJEXT) keyword.$(OBJEXT) vercmp.$(OBJEXT) \
tinyxml.$(OBJEXT) tinystr.$(OBJEXT) tinyxmlparser.$(OBJEXT) \
mkpath.$(OBJEXT) tinyxmlerror.$(OBJEXT)
CLI_EXE_OBJECTS = \
clistub.$(OBJEXT) version.$(OBJEXT) approot.$(OBJEXT) getopt.$(OBJEXT)
script_srcdir = ${srcdir}/scripts/libexec
BIN_PROGRAMS = pkginfo$(EXEEXT) mingw-get$(EXEEXT)
LIBEXEC_PROGRAMS = gui$(EXEEXT) lastrites$(EXEEXT)
LIBEXEC_SCRIPTS = ${script_srcdir}/setup.lua ${script_srcdir}/wsh.lua \
${script_srcdir}/shlink.js ${script_srcdir}/unlink.js
LIBEXEC_DATA = mingw-get-0.dll
# Primary build goals...
#
all: $(BIN_PROGRAMS) $(LIBEXEC_PROGRAMS) $(LIBEXEC_DATA)
pkginfo$(EXEEXT): driver.$(OBJEXT) pkginfo.$(OBJEXT)
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $+
mingw-get$(EXEEXT): $(CLI_EXE_OBJECTS)
$(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $+
GUI_LDFLAGS = -mwindows $(LDFLAGS)
# FIXME: the following is a Q&D kludge, to assign my choice of icon
# to the GUI mode executable stub. Eventually, this will need to be
# assigned within a resource definition file, but for the time being,
# besides providing a notification that the GUI is not yet available,
# the stub serves only to illustrate mingw-get's shortcut creation
# capability; thus, this simple hack will suffice.
#
%.$(OBJEXT): %.ico
echo $* ICON $*.ico | $(WINDRES) -I ${srcdir}/icons -o $@
#
gui$(EXEEXT): guimain.$(OBJEXT) pkgicon.$(OBJEXT)
$(CXX) -o $@ $(CXXFLAGS) $(GUI_LDFLAGS) $+
lastrites$(EXEEXT): rites.$(OBJEXT)
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $+
mingw-get-0.dll: $(CORE_DLL_OBJECTS)
$(CXX) -shared -o $@ $(CXXFLAGS) $(LDFLAGS) $+ $(LIBS)
# Compilation and dependency tracking...
#
DEPFLAGS = -MM -MP -MD
sinclude *.d
%.$(OBJEXT): %.c
$(CC) $(DEPFLAGS) $(CPPFLAGS) $(CFLAGS) $<
$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
%.$(OBJEXT): %.cpp
$(CXX) $(DEPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $<
$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
# Release tagging...
#
time-stamp:
%.tagged.time: time-stamp
> $*.time
%.time:
> $*.time
%.tag: %.tagged.time
>> $@; tag=`date +%Y%m%d`; \
tag=`awk -F- -v today=$$tag ' \
BEGIN { tag = 1 } $$1 == today { tag += $$2 } \
END { print today "-" tag }' $@`; \
echo $$tag > $@
%.c: %.c.in
$(VERSION_SCRIPT) $< > $@
version.c: Makefile build.time
# Installation tools and directory paths...
#
mkinstalldirs = @MKDIR_P@
prefix = @prefix@
exec_prefix = @exec_prefix@
localstatedir = @localstatedir@
libexecdir = @libexecdir@
bindir = @bindir@
PACKAGE_CONFIG_DIR = ${localstatedir}/lib/${PACKAGE_TARNAME}/data
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
STRIP = @STRIP@
LN_S = @LN_S@
# Installation rules...
#
installdirs:
$(mkinstalldirs) ${bindir}
$(mkinstalldirs) ${libexecdir}/${PACKAGE_TARNAME}
$(mkinstalldirs) ${PACKAGE_CONFIG_DIR}
install: installdirs install-profile
for image in $(BIN_PROGRAMS); do \
$(INSTALL_PROGRAM) $$image ${bindir}; \
done
for image in $(LIBEXEC_PROGRAMS); do \
$(INSTALL_PROGRAM) $$image ${libexecdir}/${PACKAGE_TARNAME}; \
done
for image in $(LIBEXEC_DATA) $(LIBEXEC_SCRIPTS); do \
$(INSTALL_DATA) $$image ${libexecdir}/${PACKAGE_TARNAME}; \
done
install-profile:
$(INSTALL_DATA) ${srcdir}/xml/profile.xml \
${PACKAGE_CONFIG_DIR}/defaults.xml
install-strip: install
for image in $(BIN_PROGRAMS); do \
$(STRIP) ${bindir}/$$image; \
done
for image in $(LIBEXEC_PROGRAMS) $(LIBEXEC_DATA); do \
$(STRIP) ${libexecdir}/${PACKAGE_TARNAME}/$$image; \
done
# Packaging and distribution...
# "Native" source files, (i.e. those specific to mingw-get), are...
#
LICENCE_FILES = README COPYING
SRCDIST_FILES = $(LICENCE_FILES) ChangeLog NEWS INSTALL \
aclocal.m4 configure.ac configure Makefile.in
# ...plus the entire content of the sub-directories...
#
SRCDIST_SUBDIRS = src src/pkginfo srcdist-doc icons \
scripts/libexec tinyxml xml
# In addition to the native sources for mingw-get, our source distribution
# must include a filtered subset of those additional files which we import
# from the project's global build-aux repository...
#
BUILD_AUX_DIRS = build-aux build-aux/m4
BUILD_AUX_FILES = config.guess config.sub install-sh missing.m4
# The names of distributed package archive files incorporate version
# information, derived from PACKAGE_VERSION; this is decomposed, so that
# the PACKAGE_SUBSYSTEM may be interposed between the principal version
# number and any qualifying suffix, which specifies development status.
# Additionally, the package maintainer may specify, (at `make dist' time),
# a SNAPSHOT qualifier; if specified, this will be appended, (literally),
# to the principal version number component of the package version number,
# as it appears in the distributed archive file names.
#
PACKAGE_DISTROOT = $(PACKAGE_TARNAME)-$(PACKAGE_ROOTVERSION)
PACKAGE_ROOTVERSION = `echo $(PACKAGE_VERSION) | sed 's,-[^0-9].*,,'`
PACKAGE_DISTVERSION = `echo $(PACKAGE_VERSION)-$(PACKAGE_SUBSYSTEM) | sed \
-e 's,-[^0-9],-$(PACKAGE_SUBSYSTEM)&,' \
-e 's,\(-$(PACKAGE_SUBSYSTEM).*\)-$(PACKAGE_SUBSYSTEM),\1,' \
-e 's,-$(PACKAGE_SUBSYSTEM),$(SNAPSHOT)&,'`
PACKAGE_DISTNAME = $(PACKAGE_TARNAME)-$(PACKAGE_DISTVERSION)
dist: srcdist bindist readme.txt
# Specify default compression command, and associated file name extension,
# for creation and identification of packaged tar archives.
#
TARZIP = xz
TAREXT = tar.$(TARZIP)
# The following macros facilitate the inclusion of SCM build tags within
# the generated names for the release tarballs.
#
BLDTAG = @abs_top_builddir@/build.tag
SCMTAG = `>> $(BLDTAG); cat $(BLDTAG) | sed 's,.,-$(CLI_RELEASE_CLASS)-&,'`
bindist: all licdist
rm -rf staged
$(MAKE) --no-print-directory prefix=`pwd`/staged install-strip
cd staged; tar chf - bin/pkginfo$(EXEEXT) | $(TARZIP) -c > \
../pkginfo-$(PACKAGE_DISTVERSION)$(SCMTAG)-bin.$(TAREXT)
rm staged/bin/pkginfo$(EXEEXT)
cd staged; tar chf - * | $(TARZIP) -c > \
../$(PACKAGE_DISTNAME)$(SCMTAG)-bin.$(TAREXT)
cd staged; zip -r ../$(PACKAGE_DISTNAME)$(SCMTAG)-bin.zip *
rm -rf staged
licdist:
rm -rf share
$(mkinstalldirs) ./share/doc/${PACKAGE_TARNAME}
cd ./share/doc/${PACKAGE_TARNAME}; for file in $(LICENCE_FILES); \
do test -f ${abs_top_srcdir}/$$file \
&& $(LN_S) ${abs_top_srcdir}/$$file . \
|| $(LN_S) ${CURDIR}/$$file .; \
done
tar chf - share | $(TARZIP) -c > \
$(PACKAGE_DISTNAME)$(SCMTAG)-lic.$(TAREXT)
rm -rf share
srcdist: srcdist-doc
rm -rf ${PACKAGE_DISTROOT} && mkdir ${PACKAGE_DISTROOT}
cd ${PACKAGE_DISTROOT}; for file in $(SRCDIST_FILES); do \
test -f ${abs_top_srcdir}/$$file \
&& $(LN_S) ${abs_top_srcdir}/$$file . \
|| $(LN_S) ../$$file .; \
done
for dir in $(SRCDIST_SUBDIRS); do \
$(mkinstalldirs) ${PACKAGE_DISTROOT}/$$dir \
&& cd ${PACKAGE_DISTROOT}/$$dir; \
for file in `cd ${abs_top_srcdir}/$$dir && echo *`; do \
if test -f ${abs_top_srcdir}/$$dir/$$file; then \
$(LN_S) ${abs_top_srcdir}/$$dir/$$file .; \
fi; \
done; \
cd ${CURDIR}; done
for dir in $(BUILD_AUX_DIRS); do \
$(mkinstalldirs) ${PACKAGE_DISTROOT}/$$dir \
&& cd ${PACKAGE_DISTROOT}/$$dir; \
for file in $(BUILD_AUX_FILES); do \
if test -f ${abs_top_srcdir}/$$dir/$$file; then \
$(LN_S) ${abs_top_srcdir}/$$dir/$$file .; \
fi; \
done; \
cd ${CURDIR}; done
cd ${PACKAGE_DISTROOT}/src/pkginfo; $(LN_S) ${CURDIR}/pkginfo.c .
tar chf - ${PACKAGE_DISTROOT} | $(TARZIP) -c > \
$(PACKAGE_DISTNAME)$(SCMTAG)-src.$(TAREXT)
rm -rf ${PACKAGE_DISTROOT}
# README, INSTALL and NEWS files to be included in the source distribution
# are generated on demand, as indirect side effects of a set of phoney goals
# so that they are always regenerated for each distribution, from templates
# in srcdist-doc so that we can make them version specific.
#
vpath %.in ${srcdir}/srcdist-doc
srcdist-doc: README.dist NEWS.dist INSTALL.dist
# We need to ensure that, when we invoke nroff, the generated output
# will be suited to an ASCII class of typesetter; without the -Tascii
# option, GNU nroff will substitute Unicode hyphens (u2010) in place
# of ASCII hyphens (code 45).
#
NROFF = nroff -Tascii
%.dist: %.in gendoc.simple.sed
sed -f gendoc.simple.sed $< | $(NROFF) > $*
%.simple.sed: %.sed.in
sed -e s,'$${PACKAGE_DIRNAME}',"${PACKAGE_DISTROOT}", \
-e s,'$${PACKAGE_DISTNAME}',"${PACKAGE_DISTNAME}", $< > $@
%.combined.sed: %.sed.in
sed -e s,'$${PACKAGE_DIRNAME}',"${PACKAGE_DISTROOT}", \
-e s,'$${PACKAGE_DISTNAME}',"${PACKAGE_DISTNAME}", \
-e s,'^# *cut:',, $< > $@
# The following rules use sed and awk to match the RCS Id keyword;
# we define and use the following macro, in the form "$(DOLLAR)Id:",
# to avoid unwanted substitution on CVS checkout.
#
DOLLAR = $$
# The following rule provides a mechanism for generating a composite from
# README, INSTALL and NEWS, for use as an on-line package description.
#
readme.txt: gendoc.combined.sed readme.txt.tag readme.txt.in
sed s,'$(DOLLAR)Id:.*',"`cat $@.tag`", $@.in > $@
echo '$$Document: $@ $$: end of file' >> $@
rm -f gendoc.combined.sed $@.*
# There should be a new generation of readme.txt for each package release;
# since each release should also include an updated NEWS file; we adopt the
# ID tag-line from NEWS.in, as most the appropriate template for generation
# of a corresponding tag-line for readme.in
#
readme.txt.tag: NEWS.in
awk '/\$(DOLLAR)Id:/{ $$2 = "readme.txt\\,v"; print }' $^ > $@
# The tag-line generated by the preceding rule may then be substituted, by
# the primary readme.txt generation rule above, into the document template
# generated by the following rule
#
readme.txt.in: README.in NEWS.in INSTALL.in
rm -f $@
for input in $^; do \
sed -f gendoc.combined.sed $$input | $(NROFF) >> $@; \
done
# Workspace clean-up...
#
clean:
rm -f *.$(OBJEXT) *.d *.dll $(BIN_PROGRAMS) $(LIBEXEC_PROGRAMS)
distclean: clean
rm -f config.* version.c
maintainer-clean: distclean
rm -f README NEWS INSTALL readme.txt Makefile pkginfo.c
rm -f *-$(PACKAGE_DISTVERSION)-*.tar.* *-$(PACKAGE_DISTVERSION)-*.zip
rm -rf ${PACKAGE_DISTROOT} staged ${srcdir}/autom4te.cache
# $RCSfile$: end of file