Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

[d4be98]: Makefile.in Maximize Restore History

Download this file

Makefile.in    554 lines (463 with data), 19.4 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
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
# @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@
GUI_RELEASE_CLASS = @GUI_RELEASE_CLASS@
BUILD_TAG = `test -f build.tag && cat build.tag`
DEBUGLEVEL = @DEBUGLEVEL@
# Establish the appropriate mechanism for invoking 'make' recursively,
# WITHOUT incurring the noise of its "Entering directory..." messages.
#
QUIET_MAKE = $(MAKE)@NO_PRINT_DIRECTORY@
@SET_MAKE@
# Establish source code directory organisation, and set reference
# paths for access to source files.
#
srcdir = @srcdir@
abs_top_srcdir = @abs_top_srcdir@
vpath %.ico @srcdir@/icons
VPATH = @top_srcdir@/src:@top_srcdir@/src/pkginfo:@top_srcdir@/tinyxml
# Identify common build tools, and set their default options.
#
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
AR = @AR@
ARFLAGS = @ARFLAGS@
# A 'lex' compatible LALR(1) scanner is required for SCM sourced builds,
# or if the user modifies any 'lex' source. This AC_PROG_LEX compatible
# macro set facilitates the handling of any situation where 'lex' is not
# available, but is required to complete the build.
#
LEX = @LEX@
LEX_COMMAND = $(LEX) $(LFLAGS) -t $< > $(LEX_OUTPUT)
LEX_COMMAND_ABORT = { $(LEX_MISSING); rm -f $(LEX_OUTPUT); exit 2; }
LEX_MISSING = (echo; echo $(LEX_MISSING_MESSAGE); echo) | $(FORMAT_MESSAGE)
LEX_MISSING_MESSAGE = "I cannot find the program 'lex' on your system; \
it is required because you either do not have the file '$@', or you appear \
to have modified the file '$<'. If neither of these is the case, then you \
may wish to update the time stamp of '$@', so that it appears to be newer \
than '$<', before you run make again."
LEX_OUTPUT = @LEX_OUTPUT_ROOT@.c
# The following macro uses 'awk' to emulate a rudimentary 'nroff' filter,
# for formatting notification messages, such as those which are emitted to
# report the above "missing 'lex'" condition.
#
FORMAT_MESSAGE = awk '\
BEGIN { $(AWK_CLEAR_LINE_BUFFER) }\
/^\. *br$$/ { $(AWK_PRINT_AND_CLEAR_BUFFER) }\
NF == 0 { $(AWK_COLLECT_BLANK_LINE) }\
/^[^.]/ { $(AWK_COLLECT_MESSAGE) }\
END { $(AWK_FLUSH_LINE_BUFFER) }'
# Establish a default line length for formatting messages.
#
MESSAGE_FOLD_WIDTH = 68
# The following macros implement the internals of the message formatter.
#
AWK_CLEAR_LINE_BUFFER = linebuf = "";
AWK_FLUSH_LINE_BUFFER = if( linebuf != "" ){ $(AWK_PRINT_AND_CLEAR_BUFFER) }
AWK_PRINT_AND_CLEAR_BUFFER = $(AWK_PRINT_LINE_BUFFER) $(AWK_CLEAR_LINE_BUFFER)
AWK_COLLECT_MESSAGE = \
for( i = 0; i < NF; ) \
{ if( linebuf == "" ) newbuf = $$++i; else \
{ newbuf = linebuf; \
if( match( linebuf, "[.!?]$$" ) ) newbuf = newbuf " "; \
newbuf = newbuf " " $$++i; \
} \
if( length( newbuf ) > $(MESSAGE_FOLD_WIDTH) ) \
{ print linebuf; \
linebuf = $$i; \
} \
else linebuf = newbuf; \
}
AWK_COLLECT_BLANK_LINE = $(AWK_FLUSH_LINE_BUFFER) $(AWK_PRINT_LINE_BUFFER)
AWK_PRINT_LINE_BUFFER = print linebuf;
# Identify an appropriate resource compiler, for GUI builds,
# and define a set of script macros to propagate the build-time
# specific package meta-data into compiled resource modules.
#
RC = @RC@
RC_SCRIPT = tag_class=$(GUI_RELEASE_CLASS) \
$(TAG_SCRIPT)
VERSION_SCRIPT = tag_class=$(CLI_RELEASE_CLASS) \
$(TAG_SCRIPT)
TAG_SCRIPT = tag=$(BUILD_TAG); \
test "x$$tag_class" != x && test "x$$tag" != x && tag="$$tag_class-$$tag"; \
test "x$$tag" != x && tag="-$$tag"; \
sed \
-e "s!%PACKAGE_NAME%!$(PACKAGE_TARNAME)!g" \
-e "s!%PACKAGE_VERSION%!$(PACKAGE_VERSION)$$tag!g" \
-e "s!%PACKAGE_VERINFO_PRODUCT_VERSION%!`$(PACKAGE_VERINFO_SCRIPT)`!g" \
-e "s!%PACKAGE_BASE_DISTNAME%!$(PACKAGE_DISTNAME)$$tag-%s.$(TAREXT)!g" \
-e "s!%PACKAGE_DATA_DISTNAME%!$(SETUP_DISTNAME)$$tag-%s.$(TAREXT)!g" \
-e "s!%PACKAGE_DIST_URL%!@PACKAGE_DIST_DOMAIN@/@PACKAGE_DIST_DIR@!g" \
-e "s!%COPYRIGHT_HOLDER%!@COPYRIGHT_HOLDER@!g" \
-e "s!%YEARS_OF_ISSUE%!@YEARS_OF_ISSUE@!g"
PACKAGE_VERINFO_SCRIPT = \
echo $(PACKAGE_VERSION) | awk -F. '{ \
printf "%d, %d, ", $$1, $$2 * 100 + $$3 \
}'; (test "x$$tag" = x && date +%Y%m%d-0 || echo $$tag) | awk -F- '{ \
DF = NF - 1; printf "%d, %d", (( substr( $$DF, 1, 4 ) - 1970 ) * 16 \
+ substr( $$DF, 5, 2 )) * 32 + substr( $$DF, 7, 2 ), $$NF \
}'
RC_INCLUDES = -I . -I ${srcdir}/src -I ${srcdir}/icons
# Specify extensions, and link-time requirements, for binary
# package deliverables.
#
OBJEXT = @OBJEXT@
EXEEXT = @EXEEXT@
LDFLAGS = @LDFLAGS@
GUI_LDFLAGS = -mwindows $(LDFLAGS)
LIBS = -Wl,-Bstatic -llua -lz -lbz2 -llzma -Wl,-Bdynamic -lwininet
# Define the content of package deliverables.
#
CORE_DLL_OBJECTS = climain.$(OBJEXT) pkgshow.$(OBJEXT) dmhcore.$(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) \
apihook.$(OBJEXT) mkpath.$(OBJEXT) tinyxmlerror.$(OBJEXT)
CLI_EXE_OBJECTS = \
clistub.$(OBJEXT) version.$(OBJEXT) approot.$(OBJEXT) getopt.$(OBJEXT)
GUIMAIN_OBJECTS = \
guimain.$(OBJEXT) dmhguix.$(OBJEXT) $(GUIMAIN_LIB_OBJECTS) \
approot.$(OBJEXT) guimain.res.$(OBJEXT)
GUIMAIN_LIB_OBJECTS = \
guiexec.$(OBJEXT) pkgview.$(OBJEXT) pkgtree.$(OBJEXT) pkglist.$(OBJEXT) \
pkgdata.$(OBJEXT) pkgnget.$(OBJEXT)
GUIMAIN_LIBS = -lwtklite -lcomctl32
SETUP_TOOL_OBJECTS = setup.$(OBJEXT) setup.res.$(OBJEXT) apihook.$(OBJEXT)
SETUP_TOOL_LIBS = -lwtklite -lwininet -lcomctl32 -lole32 -Wl,-Bstatic -llzma
SETUP_DLL_OBJECTS = \
dllhook.$(OBJEXT) $(GUIMAIN_LIB_OBJECTS) guimain.res.$(OBJEXT)
SETUP_DLL_LIBS = $(GUIMAIN_LIBS)
script_srcdir = ${srcdir}/scripts/libexec
BIN_PROGRAMS = pkginfo$(EXEEXT) mingw-get$(EXEEXT)
LIBEXEC_PROGRAMS = guistub$(EXEEXT) guimain$(EXEEXT) lastrites$(EXEEXT)
LIBEXEC_DATA = mingw-get-0.dll
LIBEXEC_SCRIPTS = ${script_srcdir}/setup.lua \
${script_srcdir}/shlink.js ${script_srcdir}/unlink.js
# Primary build goals...
#
all: all-core all-setup
all-core: $(BIN_PROGRAMS) $(LIBEXEC_PROGRAMS) $(LIBEXEC_DATA)
all-setup: all-setup-dll all-setup-exe
all-setup-dll: mingw-get-setup-0.dll
all-setup-exe:
@$(QUIET_MAKE) CXXFLAGS='$(CXXFLAGS) -Os' mingw-get-setup$(EXEEXT)
mingw-get-setup$(EXEEXT): $(SETUP_TOOL_OBJECTS)
$(CXX) -o $@ $(CXXFLAGS) $(GUI_LDFLAGS) $+ $(SETUP_TOOL_LIBS)
pkginfo$(EXEEXT): driver.$(OBJEXT) pkginfo.$(OBJEXT)
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $+
mingw-get$(EXEEXT): $(CLI_EXE_OBJECTS)
$(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $+
guistub$(EXEEXT): guistub.$(OBJEXT) pkgicon.$(OBJEXT)
$(CXX) -o $@ $(CXXFLAGS) $(GUI_LDFLAGS) $+
guimain$(EXEEXT): $(GUIMAIN_OBJECTS) $(LIBEXEC_DATA)
$(CXX) -o $@ $(CXXFLAGS) $(GUI_LDFLAGS) $+ $(GUIMAIN_LIBS)
lastrites$(EXEEXT): rites.$(OBJEXT)
$(CC) -o $@ $(CFLAGS) $(GUI_LDFLAGS) $+
mingw-get-0.dll: $(CORE_DLL_OBJECTS)
$(CXX) -shared -o $@ $(CXXFLAGS) $(LDFLAGS) $+ $(LIBS)
mingw-get-setup-0.dll: $(SETUP_DLL_OBJECTS) mingw-get-0.dll
$(CXX) -shared -o $@ $(CXXFLAGS) $(GUI_LDFLAGS) $+ $(SETUP_DLL_LIBS)
# The following recursive invocation hook provides a mechanism for
# accessing make's facility for reporting what it is doing, even when
# the command to be invoked is encapsulated within a more complex block,
# which has been marked for explicit silent execution; usage is:
#
# $(WITH_REQUEST)='command to be executed' execute-command
#
# (with no intervening white space around the assignment operator, and
# ensuring that the command to be executed is appropriately quoted).
#
WITH_REQUEST = $(QUIET_MAKE) COMMAND
execute-command:
$(COMMAND)
# Compilation and dependency tracking...
#
DEPFLAGS = -MMD -MP
RC_DEPFLAGS = -MM -MP -MD -MF $*.res.x
sinclude *.d
%.c: %.l
@test x$(LEX) = x: \
&& { $(QUIET_MAKE) LEX=lex $(@F) || $(LEX_COMMAND_ABORT); } \
|| $(WITH_REQUEST)='$(LEX_COMMAND)' execute-command
@test -f $(LEX_OUTPUT) && test -n "`cat $(LEX_OUTPUT)`" \
&& $(WITH_REQUEST)='mv $(LEX_OUTPUT) $(@F)' execute-command \
|| $(WITH_REQUEST)='rm -f $(LEX_OUTPUT)' execute-command
%.$(OBJEXT): %.c
$(CC) $(DEPFLAGS) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
%.$(OBJEXT): %.cpp
$(CXX) $(DEPFLAGS) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
%.res.$(OBJEXT): %.rc
$(CC) $(RC_DEPFLAGS) $(RC_INCLUDES) -DRC_INVOKED -xc-header $<
sed 's,$*\.$(OBJEXT):,$@:,' $*.res.x > $*.res.d; rm -f $*.res.x
$(RC_SCRIPT) $< | $(RC) $(RC_INCLUDES) -o $@
%.$(OBJEXT): %.ico
echo $* ICON $*.ico | $(RC) -I ${srcdir}/icons -o $@
# Release tagging; note that, whereas %.time is nominally updated as
# a side effect of %.tag, we also must provide an explicit rule which
# will update it directly. This ensures that we may INDIRECTLY force
# a dependency on the TIME when %.tag is updated, WITHOUT creating an
# explicit dependency on %.tag itself.
#
time-stamp:
%.time:; > $@
%.tag: time-stamp
>> $@; tag=`date +%Y%m%d`; \
tag=`awk -F- -v today=$$tag ' \
BEGIN { tag = 1 } $$1 == today { tag += $$2 } \
END { print today "-" tag }' $@`; \
echo $$tag > $@
> $*.time
%.c: %.c.in
$(VERSION_SCRIPT) $< > $@
%.h: %.h.in
$(VERSION_SCRIPT) $< > $@
# The following dependencies must be explicitly declared.
#
guimain.res.$(OBJEXT) setup.res.$(OBJEXT): Makefile build.time verinfo.h
verinfo.h 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 \
makeopts.m4 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)
SETUP_DISTNAME = $(PACKAGE_TARNAME)-setup-$(PACKAGE_DISTVERSION)
dist: srcdist bindist readme.txt.dist
# Specify where distributable files should be collected; by default,
# we will simply use the current build directory.
#
distdir = @abs_builddir@
# "Install" distributable text files into the distribution directory.
#
%.txt.dist: %.txt
cmp -s $< ${distdir}/$(<F) 2>/dev/null || $(INSTALL_DATA) $< ${distdir}
# 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; the GCMTAG macro is used
# to identify explicitly GUI components, while SCMTAG is used otherwise.
#
BLDTAG = @abs_top_builddir@/build.tag
SCMTAG = `>> $(BLDTAG); cat $(BLDTAG) | sed 's,.,-$(CLI_RELEASE_CLASS)-&,'`
GCMTAG = `>> $(BLDTAG); cat $(BLDTAG) | sed 's,.,-$(GUI_RELEASE_CLASS)-&,'`
bindist: all licdist
rm -rf staged
$(mkinstalldirs) ${distdir}
$(MAKE) --no-print-directory prefix=`pwd`/staged install-strip
cd staged; tar chf - bin/pkginfo$(EXEEXT) | $(TARZIP) -c > \
${distdir}/pkginfo-$(PACKAGE_DISTVERSION)$(SCMTAG)-bin.$(TAREXT)
rm staged/bin/pkginfo$(EXEEXT)
cd staged; tar chf - libexec/mingw-get/guimain$(EXEEXT) | \
$(TARZIP) -c > ${distdir}/$(PACKAGE_DISTNAME)$(GCMTAG)-gui.$(TAREXT)
rm staged/libexec/mingw-get/guimain$(EXEEXT)
cd staged; tar chf - * | $(TARZIP) -c > \
${distdir}/$(PACKAGE_DISTNAME)$(SCMTAG)-bin.$(TAREXT)
cd staged; zip -r ${distdir}/$(PACKAGE_DISTNAME)$(SCMTAG)-bin.zip *
rm -rf staged
licdist:
rm -rf share
$(mkinstalldirs) ${distdir} ./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 > \
${distdir}/$(PACKAGE_DISTNAME)$(SCMTAG)-lic.$(TAREXT)
rm -rf share
srcdist: srcdist-doc pkginfo.c
rm -rf ${PACKAGE_DISTROOT}
$(mkinstalldirs) ${distdir} ${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 > \
${distdir}/$(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...
#
mostlyclean:
rm -f *.$(OBJEXT) *.d *.dll $(BIN_PROGRAMS) $(LIBEXEC_PROGRAMS)
clean: mostlyclean
rm -f version.c verinfo.h
distclean: clean
rm -f config.* build.tag build.time
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