SCM

SCM Repository

[xemacs] Annotation of /XEmacs/packages/XEmacs.rules
ViewVC logotype

Annotation of /XEmacs/packages/XEmacs.rules

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.58 - (view) (download)

1 : ben 1.24 # Common Makefile material for package Makefiles
2 : steve 1.1 # Copyright (C) 1997 Free Software Foundation Inc.
3 : ben 1.55 # Copyright (C) 2002, 2003, 2005 Ben Wing.
4 : steve 1.1
5 :     # This file is part of XEmacs.
6 :    
7 :     # XEmacs is free software; you can redistribute it and/or modify it
8 :     # under the terms of the GNU General Public License as published by the
9 :     # Free Software Foundation; either version 2, or (at your option) any
10 :     # later version.
11 :    
12 :     # XEmacs is distributed in the hope that it will be useful, but WITHOUT
13 :     # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 :     # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 :     # for more details.
16 :    
17 :     # You should have received a copy of the GNU General Public License
18 :     # along with XEmacs; see the file COPYING. If not, write to
19 :     # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 :     # Boston, MA 02111-1307, USA.
21 :    
22 : andreasj 1.17 # Requires XEmacs 21.0-beta19 or greater and GNU Make 3.78 or greater.
23 : steve 1.1
24 : ben 1.43 # Settings that a Makefile can specify (all settings need to be done
25 :     # BEFORE including XEmacs.rules; if you need something from Local.rules
26 :     # in order to determine the settings properly -- e.g. BUILD_WITHOUT_MULE --
27 :     # include Local.rules.inc at the top of your Makefile):
28 :     #
29 :     # At the top of every Makefile:
30 :     # -----------------------------
31 :     #
32 :     # VERSION = 1.10
33 :     # MAINTAINER = Joe Shmoe <joe@shmoe.org>, or
34 :     # MAINTAINER = XEmacs Development Team <xemacs-beta@xemacs.org>
35 :     # PACKAGE = my-package
36 :     # PKG_TYPE = regular or single-file (each file is a separate package)
37 :     # REQUIRES = list of packages that must be available to compile the .elcs
38 :     # CATEGORY = standard, mule, or unsupported
39 :     #
40 :     # Optionally:
41 :     # -----------
42 :     #
43 :     # AUTHOR_VERSION = 1.4.9
44 :     # PACKAGE_SUPPRESS = calls to `package-suppress' to indicate packages that
45 :     # should be available only in particular versions of XEmacs, e.g.:
46 :     #
47 :     # PACKAGE_SUPPRESS = \
48 :     # (package-suppress 'xemacs-base \"regexp-opt\" '(emacs-version>= 21 5 11)) \
49 :     # (package-suppress 'xemacs-base \"easy-mmode\" '(emacs-version>= 21 5 11))
50 :     #
51 :     #
52 :     # Lisp files:
53 :     # -----------
54 :     #
55 :     # ELCS = .elc files to compile
56 :     # ELCS_1 = more .elc files to compile, to be installed in a subdirectory of
57 :     # lisp/
58 :     # ELCS_1_DEST = name of subdirectory to install them into; include
59 :     # $(PACKAGE) in the name
60 :     # EARLY_GENERATED_LISP = additional .el files that will be generated before
61 :     # any byte-compilation (use this for autoloads-type files); rules must be
62 :     # given to build them
63 :     # GENERATED_LISP = additional .el files that will be generated at
64 :     # byte-compilation time; rules must be given to build them
65 :     # PRELOADS = additional command-line arguments needed when compiling .elcs
66 :     # AUTOLOAD_PATH = subdirectory in source tree where .elcs are located (this
67 :     # is where auto-autoloads.el, etc. will be placed)
68 :     #
69 :     # Doc files (see below):
70 :     # ----------------------
71 :     #
72 :     # (1) The preferred way:
73 :     #
74 :     # EXPLICIT_DOCS, STANDARD_DOCS, EXTRA_TEXI_FILES, EXTRA_HTML_FILES,
75 :     # DOCS_TEXINFO_EXTENSION, DOCS_TXI_EXTENSION
76 :     #
77 :     # (2) The hard way:
78 :     #
79 :     # TEXI_FILES, INFO_FILES, INFO_DEP, HTML_FILES, HTML_DEP
80 :     #
81 :     # Also: EXTRA_DOC_FILES
82 :     #
83 :     # Other files to build:
84 :     # ---------------------
85 :     #
86 :     # EXTRA_DEPENDENCIES = additional files to build; rules must be given to
87 :     # build them
88 :     #
89 :     # Files to install, besides the .elcs, docs, ChangeLog and _pkg.el:
90 :     # -----------------------------------------------------------------
91 :     #
92 :     # EXTRA_SOURCES = files installed under lisp/$(PACKAGE)
93 :     # LIBSRC_FILES = files installed under lib-src/
94 :     # DATA_FILES, DATA_DEST = files installed under a subdirectory of etc/; include
95 :     # $(PACKAGE) in the name
96 :     # DATA_1_FILES, DATA_1_DEST ... DATA_35_FILES, DATA_35_DEST = files to be
97 :     # installed in other subdirectories of etc/
98 :    
99 : andreasj 1.17 XEMACS_PACKAGES_BASE := $(shell while [ ! -f XEmacs.rules ]; do \
100 :     cd ..; \
101 :     done; \
102 :     pwd)
103 : steve 1.1
104 : ben 1.43 include ${XEMACS_PACKAGES_BASE}/Local.rules.inc
105 : steveb 1.7
106 : steveb 1.14 # Ensure vanilla locale when building
107 : andreasj 1.17 override LANG := C
108 : steve 1.4
109 : steveb 1.11 # Only in rare cases will you need to override this
110 : andreasj 1.17 ifeq ($(AUTOLOAD_PATH),)
111 : steveb 1.11 AUTOLOAD_PATH = .
112 :     endif
113 :    
114 : ben 1.43 # Set this in the package Makefile if necessary (BEFORE including this file)
115 : youngs 1.46 EARLY_GENERATED_LISP := $(AUTOLOAD_PATH)/auto-autoloads.el \
116 :     $(AUTOLOAD_PATH)/custom-load.el $(EARLY_GENERATED_LISP)
117 : ben 1.43 ifeq ($(XEMACS_21_5),t)
118 :     EARLY_GENERATED_LISP += $(AUTOLOAD_PATH)/custom-defines.el
119 : youngs 1.44 endif
120 : ben 1.43
121 :     EARLY_GENERATED_ELCS = $(EARLY_GENERATED_LISP:.el=.elc)
122 :     GENERATED_ELCS = $(GENERATED_LISP:.el=.elc)
123 : steveb 1.9
124 :     # SOURCE_FILES_TO_COPY = *.el*
125 : steveb 1.11 SOURCE_FILES_TO_COPY = $(ELCS) $(ELCS:.elc=.el) \
126 :     $(MULE_ELCS) $(MULE_ELCS:.elc=.el) \
127 : ben 1.43 $(EARLY_GENERATED_ELCS) $(EARLY_GENERATED_LISP) \
128 :     $(GENERATED_ELCS) $(GENERATED_LISP) $(AUTOLOAD_PATH)/_pkg.el
129 : steveb 1.8
130 : steve 1.1 # Non configurable portion follows
131 :    
132 : steveb 1.9 MANIFEST = pkginfo/MANIFEST.$(PACKAGE)
133 : andreasj 1.17 # This might be a sublevel PWD; that is intentional. Use
134 :     # ${XEMACS_PACKAGES_BASE} for the toplevel directory.
135 :     PWD := $(shell pwd)
136 : steveb 1.9
137 : steve 1.1 .SUFFIXES:
138 : ben 1.43 .SUFFIXES: .html .info .txi .texi .texinfo .dvi .ps .pdf .elc .el
139 : steve 1.1
140 : scop 1.41 # STAGING is the top of the directory tree where a particular package's
141 :     # files are installed, or where tarballs are installed using `make bindist'.
142 :    
143 :     # 'make bindist' needs STAGING to be set to NONMULE_INSTALLED_PACKAGES_ROOT
144 :     # if we are building a Mule package so we don't end up with 2 package-index
145 : youngs 1.42 # files.
146 : scop 1.41
147 : youngs 1.42 ifeq ('$(MAKECMDGOALS)','bindist')
148 :     STAGING:= $(NONMULE_INSTALLED_PACKAGES_ROOT)
149 : scop 1.41 else
150 : youngs 1.42 ifeq ('$(CATEGORY)','mule')
151 :     STAGING:= $(MULE_INSTALLED_PACKAGES_ROOT)
152 : scop 1.41 else
153 :     STAGING:= $(NONMULE_INSTALLED_PACKAGES_ROOT)
154 :     endif
155 :     endif
156 :    
157 : ben 1.55 # We should strive to use XEMACS_BATCH_CLEAN as much as possible, so we have
158 :     # no possible contamination from outside packages. We should rewrite the
159 :     # others to load the appropriate autoloads from our own built package tree.
160 :    
161 :     ifeq ($(BUILD_WITHOUT_MULE),t)
162 :     LISP_DIRECTORIES= (list lisp-directory)
163 :     else
164 :     LISP_DIRECTORIES= (list (expand-file-name "mule" lisp-directory) lisp-directory)
165 :     endif
166 :     XEMACS_BATCH_CLEAN = $(XEMACS) -no-autoloads $(BATCH) -eval '(setq load-path $(LISP_DIRECTORIES))'
167 :     # The following works more or less the same and with less fuss, but only in
168 :     # 21.5 and above
169 :     # XEMACS_BATCH_CLEAN = $(XEMACS) -no-autoloads $(BATCH) -no-packages
170 :     XEMACS_BATCH_DIRTY = $(XEMACS) $(BATCH)
171 :     LOAD_AUTOLOADS= -eval '(packages-load-package-auto-autoloads load-path)'
172 :    
173 : ben 1.43 #####################################
174 :     # Handle docs #
175 :     #####################################
176 :    
177 : scop 1.41 # If something goes wrong and $(STAGING) is blank, the commands below will
178 :     # attempt to install files into absolute paths /lisp/* and /etc/* -- not
179 :     # a good idea at all.
180 :    
181 :     check-staging:
182 :     ifeq ($(STAGING),)
183 :     $(error STAGING is not set; potential major filesystem trashing! Fix this)
184 :     endif
185 :    
186 : ben 1.43 check-mule:
187 :     ifeq ($(CATEGORY),mule)
188 :     ifneq ($(BUILD_WITHOUT_MULE),)
189 :     $(error This package needs Mule support in order to be compiled)
190 :     endif
191 :     endif
192 :    
193 :     # Possibilities for building the docs:
194 :     #
195 :     # (1) EXPLICIT_DOCS = <texi files>
196 :     # Build the specified .texi files. Info and HTML files automatically
197 :     # computed from the .texi files.
198 :     # (2) STANDARD_DOCS = t
199 :     # Same as EXPLICIT_DOCS = $(PACKAGE).texi
200 :     # (3) Manual: Specify TEXI_FILES, INFO_FILES, INFO_DEP, HTML_FILES, and
201 :     # HTML_DEP by yourself. Do not explicitly add any doc targets to
202 :     # compile::.
203 :     #
204 :     # When EXPLICIT_DOCS or STANDARD_DOCS is given:
205 :     #
206 :     # (1) you can specify other .texi files included in the files specified in
207 :     # EXPLICIT_DOCS using EXTRA_TEXI_FILES (they will be listed as
208 :     # dependencies of the info and html files)
209 :     # (2) you can specify extra .html output files using EXTRA_HTML_FILES
210 :     # (3) you can use `DOCS_TEXINFO_EXTENSION = t' to indicate that the
211 :     # explicitly specified docs have .texinfo as the extension instead of
212 :     # .texi. Similarly for `DOCS_TXI_EXTENSION = t'.
213 :     #
214 :     # You can also specify EXTRA_DOC_FILES in all cases to indicate extra files
215 :     # to be copied into the man/ directory at installation time.
216 :    
217 :     ifeq ($(STANDARD_DOCS),t)
218 :     EXPLICIT_DOCS = $(PACKAGE).texi
219 :     endif
220 :    
221 :     ifneq ($(EXPLICIT_DOCS),)
222 :     ifeq ($(DOCS_TEXINFO_EXTENSION),t)
223 :     EXPLICIT_DOCS_AS_TEXI=$(EXPLICIT_DOCS:%.texinfo=%.texi)
224 :     else
225 :     ifeq ($(DOCS_TXI_EXTENSION),t)
226 :     EXPLICIT_DOCS_AS_TEXI=$(EXPLICIT_DOCS:%.txi=%.texi)
227 :     else
228 :     EXPLICIT_DOCS_AS_TEXI=$(EXPLICIT_DOCS)
229 :     endif
230 :     endif
231 : youngs 1.49
232 :     # Ensure the correct setting of $TEXI_FILES. --SY.
233 :     TEXI_FILES = $(EXPLICIT_DOCS)
234 :     ifeq ($(DOCS_TEXINFO_EXTENSION),t)
235 :     TEXI_FILES = $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.texinfo)
236 :     endif
237 :     ifeq ($(DOCS_TXI_EXTIONSION),t)
238 :     TEXI_FILES = $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.txi)
239 :     endif
240 :    
241 :     TEXI_FILES += $(EXTRA_TEXI_FILES)
242 : ben 1.43 INFO_FILES = $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.info*)
243 :     INFO_DEP = $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.info)
244 :    
245 :     $(INFO_DEP): $(EXTRA_TEXI_FILES)
246 :    
247 :     mostlyclean::
248 :     rm -f $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.toc) \
249 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.aux) \
250 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.oaux) \
251 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.log) \
252 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.cp) \
253 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.cps) \
254 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.fn) \
255 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.fns) \
256 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.tp) \
257 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.tps) \
258 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.vr) \
259 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.vrs) \
260 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.pg) \
261 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.pgs) \
262 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.ky) \
263 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.kys)
264 :    
265 :     clean::
266 :     rm -f $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.dvi) \
267 :     $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.ps)
268 :    
269 :     HTML_FILES = $(EXPLICIT_DOCS_AS_TEXI:%.texi=%*.html) $(EXTRA_HTML_FILES)
270 :     HTML_DEP = $(EXPLICIT_DOCS_AS_TEXI:%.texi=%_toc.html)
271 :    
272 :     $(HTML_DEP): $(EXTRA_TEXI_FILES)
273 :    
274 :     endif
275 : youngs 1.33
276 : ben 1.43 html: $(HTML_DEP)
277 :    
278 : ben 1.55 XEMACS_BATCH_PREPARE_FOR_TEXINFO = $(XEMACS_BATCH_CLEAN) -eval '(setq load-path (append (list "$(XEMACS_PACKAGES_BASE)/xemacs-packages/texinfo" "$(XEMACS_PACKAGES_BASE)/xemacs-packages/text-modes" "$(XEMACS_PACKAGES_BASE)/xemacs-packages/xemacs-base") load-path))' $(LOAD_AUTOLOADS)
279 : ben 1.43
280 : ben 1.55 FORMAT_INFO_USING_XEMACS_ARGS = -l informat -l texinfmt -f texinfo-format-buffer
281 : ben 1.43
282 :     FORMAT_INFO_USING_XEMACS = \
283 : ben 1.55 $(XEMACS_BATCH_PREPARE_FOR_TEXINFO) -insert $< \
284 :     $(FORMAT_INFO_USING_XEMACS_ARGS) -f save-buffer
285 : ben 1.43
286 :     FORMAT_MULE_INFO_USING_XEMACS = \
287 : ben 1.55 $(XEMACS_BATCH_PREPARE_FOR_TEXINFO) -insert $< \
288 : youngs 1.33 -eval '(unless (featurep (quote mule)) (kill-emacs 0))' \
289 : ben 1.43 -eval '(cd "$(<D)")' \
290 : ben 1.55 $(FORMAT_INFO_USING_XEMACS_ARGS) \
291 : youngs 1.33 -eval '(setq file-coding-system (quote iso-2022-7))' \
292 :     -eval '(save-buffer 0)'
293 :    
294 : ben 1.43 # makeinfo doesn't seem able to handle Mule-formatted files correctly, so
295 :     # we need to use the texinfo package. #### Switch to UTF-8 and this should
296 :     # go away.
297 :     ifeq ($(COMPILE_INFO_AS_MULE),t)
298 :     FORMAT_INFO = $(FORMAT_MULE_INFO_USING_XEMACS)
299 :     else
300 : adrian 1.58 FORMAT_INFO = cd $(@D) && $(MAKEINFO) $(MAKEINFO_FLAGS) -o $(@F) $(<F)
301 : ben 1.43 endif
302 :    
303 :     %-ja.info: %-ja.texi
304 :     $(FORMAT_MULE_INFO_USING_XEMACS)
305 :    
306 :     %.info: %.txi
307 :     $(FORMAT_INFO)
308 : steve 1.1 %.info: %.texi
309 : ben 1.43 $(FORMAT_INFO)
310 :     %.info: %.texinfo
311 :     $(FORMAT_INFO)
312 :    
313 :     ## Make sure to cd into the directory before running texi2html because it
314 :     ## puts its results in the current directory, not the directory of the
315 :     ## source file.
316 :    
317 :     # V 1.56k (with Cygwin) does not allow -p flag. Works fine without it.
318 :     #RUN_TEXI2HTML = cd $(@D) && $(TEXI2HTML) $(TEXI2HTML_FLAGS) -p $(<F)
319 :     RUN_TEXI2HTML = cd $(@D) && $(TEXI2HTML) $(TEXI2HTML_FLAGS) $(<F)
320 : steve 1.1
321 : ben 1.43 %_toc.html: %.txi
322 :     $(RUN_TEXI2HTML)
323 :     %_toc.html: %.texi
324 :     $(RUN_TEXI2HTML)
325 :     %_toc.html: %.texinfo
326 :     $(RUN_TEXI2HTML)
327 :    
328 :     # #### I'm not sure if this is correct. xslt-process seems to think it
329 :     # needs to be run twice.
330 :     ifneq ($(TEXI2DVI),)
331 :     RUN_TEXI2DVI = cd $(@D) && $(TEXI2DVI) $(<F) && $(TEXI2DVI) $(<F)
332 :     else
333 :     RUN_TEXI2DVI = -
334 : youngs 1.30 endif
335 : ben 1.43
336 :     %.dvi: %.txi
337 :     $(RUN_TEXI2DVI)
338 :     %.dvi: %.texi
339 :     $(RUN_TEXI2DVI)
340 :     %.dvi: %.texinfo
341 :     $(RUN_TEXI2DVI)
342 :    
343 :     ifneq ($(TEXI2PDF),)
344 :     RUN_TEXI2PDF = cd $(@D) && $(TEXI2PDF) $(<F)
345 :     else
346 :     RUN_TEXI2PDF = -
347 : youngs 1.30 endif
348 : youngs 1.27
349 : ben 1.43 %.pdf: %.txi
350 :     $(RUN_TEXI2PDF)
351 :     %.pdf: %.texi
352 :     $(RUN_TEXI2PDF)
353 :     %.pdf: %.texinfo
354 :     $(RUN_TEXI2PDF)
355 :    
356 :     ifneq ($(DVIPS),)
357 :     RUN_DVIPS = cd $(@D) && $(DVIPS) -o $(@F) $(<F)
358 :     else
359 :     RUN_DVIPS = -
360 :     endif
361 : youngs 1.27
362 : ben 1.43 %.ps: %.dvi
363 :     $(RUN_DVIPS)
364 : youngs 1.27
365 : adrian 1.19 ifeq ($(XEMACS_NATIVE_NT),t)
366 : ben 1.24 # Convert UNIX-path (containing output of `pwd') to windows-path, so
367 :     # that XEmacs native NT can handle it.
368 : adrian 1.19 PACKAGE_COMPILE = \
369 :     "$(shell cygpath --windows $(XEMACS_PACKAGES_BASE)/package-compile.el)"
370 : ben 1.24 PACKAGE_CLEAN = \
371 :     "$(shell cygpath --windows $(XEMACS_PACKAGES_BASE)/package-clean.el)"
372 : adrian 1.26 PACKAGE_NET_PACKAGES = \
373 :     "$(shell cygpath --windows $(XEMACS_PACKAGES_BASE)/package-net-packages.el)"
374 :     PACKAGE_STAGING = \
375 :     "$(shell cygpath --windows $(STAGING))"
376 : adrian 1.57 HACK_PACKAGE_INDEX = \
377 :     "$(shell cygpath --windows $(XEMACS_PACKAGES_BASE)/hack-package-index.el)"
378 : adrian 1.19 else
379 :     PACKAGE_COMPILE = $(XEMACS_PACKAGES_BASE)/package-compile.el
380 : ben 1.24 PACKAGE_CLEAN = $(XEMACS_PACKAGES_BASE)/package-clean.el
381 : adrian 1.26 PACKAGE_NET_PACKAGES = $(XEMACS_PACKAGES_BASE)/package-net-packages.el
382 :     PACKAGE_STAGING = $(STAGING)
383 : adrian 1.57 HACK_PACKAGE_INDEX = $(XEMACS_PACKAGES_BASE)/hack-package-index.el
384 : adrian 1.19 endif
385 :    
386 : ben 1.43 # Behaves like an XEmacs with the required packages set up
387 : ben 1.55 BOOT_XEMACS= $(XEMACS_BATCH_CLEAN) -l $(PACKAGE_COMPILE) -- $(REQUIRES) -- $(PRELOADS)
388 : youngs 1.31
389 : steve 1.1 %.elc: %.el
390 : youngs 1.31 $(BOOT_XEMACS) -f batch-byte-compile $<
391 : steve 1.1
392 : ben 1.43 # compile must be :: because some packages (e.g. psgml-dtd?) put separate
393 :     # commands that apply only to those particular dependencies.
394 :     compile:: check-mule
395 :    
396 :     # Build the generated stuff if we're in the top-level of a package directory
397 :     # but not otherwise.
398 :     ifneq ($(PACKAGE),)
399 : scop 1.41 compile:: $(AUTOLOAD_PATH)/_pkg.el
400 : ben 1.43 endif
401 :    
402 :     ## first, the byte-compile the files generated earlier (auto-autoloads.el,
403 :     ## etc.), now that we have all of them and hence can handle dependencies.
404 :     ## then, generate and compile the other generated files.
405 :     compile:: $(EARLY_GENERATED_ELCS) $(GENERATED_ELCS)
406 :    
407 :     ## now compile the main Lisp
408 :     compile:: $(ELCS) $(ELCS_1)
409 :    
410 :     ## now the docs, info format.
411 :     compile:: $(INFO_DEP)
412 :    
413 :     ## now the docs, html format (maybe).
414 :     ifeq ($(INSTALL_HTML),t)
415 :     compile:: html
416 :     endif
417 :    
418 :     ## now, any extra dependencies specified by the Makefiles.
419 :     compile:: $(EXTRA_DEPENDENCIES)
420 : steveb 1.13
421 : scop 1.39 dist:: binkit package-info
422 : steve 1.1
423 : ben 1.43 mostlyclean::
424 : steve 1.1
425 : ben 1.52 # Remove the generated files.
426 :     genclean:
427 :     rm -f $(GENERATED_LISP) $(EARLY_GENERATED_LISP) $(GENERATED_ELCS) $(EARLY_GENERATED_ELCS) package-info $(AUTOLOAD_PATH)/_pkg.el
428 :    
429 : ben 1.43 clean:: mostlyclean
430 :     rm -f $(GENERATED_ELCS) $(EARLY_GENERATED_ELCS) $(ELCS) $(ELCS_1) \
431 :     $(HTML_FILES) $(INFO_FILES) $(DEPENDS_FILE_NAME) $(EXTRA_DEPENDENCIES)
432 : steve 1.1
433 : ben 1.43 # distclean is what you use when making a distribution. everything that
434 :     # can get rebuilt should be killed. everything.
435 : steve 1.1
436 : ben 1.52 distclean:: clean genclean
437 : ben 1.28
438 : ben 1.43 # extraclean means distclean plus removal of backup files, etc.
439 :     extraclean: distclean
440 :     rm -f core *~ .*~ .\#*
441 : ben 1.28
442 : ben 1.43 # [[ elcclean is for when you want to rebuild after having made a small
443 : ben 1.28 # change, e.g. you cvs updated and got new versions of some files.
444 :     # The problem is that if you just `make', you may have the situation
445 :     # where a file that needs to be compiled depends on some other
446 :     # just-updated .el file, and in particular on the features that were
447 :     # added in the update. In such a case, the .elc file is out-of-date
448 :     # w.r.t the .el file, and you'd get the .elc file (missing the
449 :     # necessary features), and error. So we remove the minimum number of
450 :     # .elc required to ensure that the build will always succeed
451 : ben 1.43 # correctly. ]]
452 :    
453 :     # This is less of an issue now that we ignore out-of-date .elc files. --ben
454 : steve 1.1
455 : ben 1.24 elcclean:
456 : ben 1.55 $(XEMACS_BATCH_CLEAN) -l $(PACKAGE_CLEAN)
457 : ben 1.24
458 : viteno 1.54 GENERATED_ELC_DEPENDENCIES = $(ELCS:.elc=.el) $(ELCS_1:.elc=.el) \
459 :     $(AUTOLOAD_PATH)/_pkg.el
460 : ben 1.43
461 : ben 1.53 # If Makefile or _pkg.el has changed (Makefile will trigger _pkg.el
462 :     # rebuilding), then our suppress forms may have changed. Just rebuilding
463 :     # the autoload file normally isn't enough as the old suppress forms will
464 :     # still sit there, so nuke it first.
465 :     $(AUTOLOAD_PATH)/auto-autoloads.el :: $(AUTOLOAD_PATH)/_pkg.el
466 :     rm -f $(AUTOLOAD_PATH)/auto-autoloads.el
467 :    
468 : ben 1.43 ifeq ($(XEMACS_21_5),t)
469 : ben 1.53 $(AUTOLOAD_PATH)/auto-autoloads.el :: $(GENERATED_ELC_DEPENDENCIES)
470 : ben 1.55 $(XEMACS_BATCH_CLEAN) $(LOAD_AUTOLOADS) \
471 : ben 1.43 -l autoload -f batch-update-directory-autoloads \
472 :     $(PACKAGE) $(AUTOLOAD_PATH)
473 : ben 1.53 # The equivalent of `touch' is done automatically
474 : ben 1.43 @rm -f $(AUTOLOAD_PATH)/auto-autoloads.el~
475 :    
476 :     $(AUTOLOAD_PATH)/custom-defines.el : $(GENERATED_ELC_DEPENDENCIES)
477 : ben 1.55 $(XEMACS_BATCH_CLEAN) $(LOAD_AUTOLOADS) \
478 : ben 1.43 -l autoload -f batch-update-directory-custom-defines \
479 :     $(PACKAGE) $(AUTOLOAD_PATH)
480 :     @rm -f $(AUTOLOAD_PATH)/custom-defines.el~
481 :    
482 : adrian 1.19 else
483 :     AUTOLOAD_PACKAGE_NAME = (setq autoload-package-name \"$(PACKAGE)\")
484 : youngs 1.34 AUTOLOAD_FILE = (setq generated-autoload-file \
485 :     \"$(AUTOLOAD_PATH)/auto-autoloads.el\")
486 : adrian 1.19
487 : ben 1.53 $(AUTOLOAD_PATH)/auto-autoloads.el :: $(GENERATED_ELC_DEPENDENCIES)
488 : ben 1.55 $(XEMACS_BATCH_CLEAN) $(LOAD_AUTOLOADS) \
489 : adrian 1.19 -eval "$(AUTOLOAD_PACKAGE_NAME)" \
490 : youngs 1.34 -eval "$(AUTOLOAD_FILE)" \
491 : youngs 1.35 -l autoload -f batch-update-autoloads $^
492 : ben 1.53 @touch $(AUTOLOAD_PATH)/auto-autoloads.el
493 : steveb 1.11 @rm -f $(AUTOLOAD_PATH)/auto-autoloads.el~
494 : ben 1.43 endif
495 : steve 1.1
496 : ben 1.43 $(AUTOLOAD_PATH)/custom-load.el : $(GENERATED_ELC_DEPENDENCIES)
497 : ben 1.55 $(XEMACS_BATCH_CLEAN) $(LOAD_AUTOLOADS) -l cus-dep \
498 : steveb 1.11 -f Custom-make-dependencies $(AUTOLOAD_PATH)
499 : youngs 1.46 @touch $(AUTOLOAD_PATH)/custom-load.el
500 : ben 1.43 @rm -f $(AUTOLOAD_PATH)/custom-load.el~
501 : steve 1.1
502 : andreasj 1.17 pkg_tar = $(STAGING)/$(PACKAGE)-$(VERSION)-pkg.tar
503 :    
504 : adrian 1.19 ifeq ($(XEMACS_NATIVE_NT),t)
505 : ben 1.24 # Convert UNIX-path (containing output of `pwd') to windows-path,
506 : adrian 1.19 # so that XEmacs native NT can handle it.
507 :     PKG_TAR_GZ = "$(shell cygpath --windows $(pkg_tar)).gz"
508 : adrian 1.22 PACKAGE_INFO = "$(shell cygpath --windows $(STAGING)/$(PACKAGE_INDEX))"
509 : adrian 1.19 else
510 :     PKG_TAR_GZ = $(pkg_tar).gz
511 : adrian 1.22 PACKAGE_INFO = $(STAGING)/$(PACKAGE_INDEX)
512 : adrian 1.19 endif
513 :    
514 : andreasj 1.17 # Make the $(pkg_tar).gz first, then the $(pkg_tar).bz2
515 : steveb 1.12 package-info : package-info.in Makefile $(AUTOLOAD_PATH)/_pkg.el \
516 : andreasj 1.17 $(pkg_tar).gz $(pkg_tar).bz2
517 : viteno 1.56 # #### See if we can't CLEAN this up
518 :     $(XEMACS_BATCH_DIRTY) \
519 : youngs 1.25 -l package-info.elc -f batch-update-package-info \
520 : adrian 1.19 '$(VERSION)' $(PKG_TAR_GZ) \
521 : steve 1.4 '$(REQUIRES)' \
522 :     '$(AUTHOR_VERSION)' '$(MAINTAINER)' '$(CATEGORY)'
523 : viteno 1.56 # #### See if we can't CLEAN this up
524 :     $(XEMACS_BATCH_DIRTY) \
525 : adrian 1.57 -l $(HACK_PACKAGE_INDEX) -f batch-hack-package-index \
526 : scop 1.41 $(PACKAGE) package-info $(PACKAGE_INFO) $(CATEGORY)
527 : steveb 1.11
528 : andreasj 1.17 ifeq ($(BUILD_TARS),t)
529 :     $(pkg_tar): $(STAGING)/$(MANIFEST)
530 :     @(cd $(STAGING); \
531 :     rm -f $(pkg_tar)*)
532 :    
533 :     (cd $(STAGING); \
534 : youngs 1.34 $(TAR) $(EXCLUDES) --create --owner=0 --group=0 --file $(pkg_tar) \
535 : andreasj 1.17 `cat $(MANIFEST)`)
536 :    
537 :    
538 :     $(pkg_tar).gz: $(pkg_tar)
539 :     ifneq ($(BZIP2),) # need to leave behind the .tar for bzip2 to find.
540 :     (cd $(STAGING); \
541 :     gzip -cv9 $(pkg_tar) > $(pkg_tar).gz;)
542 :     else # BZIP2 is ''
543 :     (cd $(STAGING); \
544 :     gzip -v9 $(pkg_tar);)
545 :     endif
546 :    
547 :     ifneq ($(BZIP2),)
548 :     $(pkg_tar).bz2: $(pkg_tar)
549 :     (cd $(STAGING); \
550 :     $(BZIP2) -v9 $(pkg_tar);)
551 :     else # Don't build a .tar.bz2
552 :     $(pkg_tar).bz2:
553 :    
554 :     .PHONY: $(pkg_tar).bz2
555 :     endif # BZIP2 ?
556 :    
557 :     else # when BUILD_TARS is ''
558 :     # Touch the file so the package-index can be generated
559 :     $(pkg_tar) $(pkg_tar).gz $(pkg_tar).bz2 :
560 :     touch $@
561 :     endif # BUILD_TARS ?
562 :    
563 : youngs 1.51 ifeq ($(AUTHOR_VERSION),)
564 :     AUTHOR_VERSION = No-Upstream-Ver
565 :     endif
566 : steve 1.1
567 : steveb 1.12 $(AUTOLOAD_PATH)/_pkg.el: Makefile
568 :     @echo Creating $(AUTOLOAD_PATH)/_pkg.el
569 :     @echo ";;;###autoload" > $(AUTOLOAD_PATH)/_pkg.el
570 :     @echo "(package-provide '$(PACKAGE)" >> $(AUTOLOAD_PATH)/_pkg.el
571 :     @echo " :version $(VERSION)" >> $(AUTOLOAD_PATH)/_pkg.el
572 : viteno 1.50 @echo " :author-version \"$(AUTHOR_VERSION)\"" >> $(AUTOLOAD_PATH)/_pkg.el
573 : steveb 1.12 @echo " :type '$(PKG_TYPE))" >> $(AUTOLOAD_PATH)/_pkg.el
574 : ben 1.43 ifneq ($(PACKAGE_SUPPRESS),)
575 :     @echo "" >> $(AUTOLOAD_PATH)/_pkg.el
576 :     @echo ";;;###autoload" >> $(AUTOLOAD_PATH)/_pkg.el
577 :     @echo "(when (fboundp 'package-suppress)" >> $(AUTOLOAD_PATH)/_pkg.el
578 :     @echo " $(PACKAGE_SUPPRESS)" >> $(AUTOLOAD_PATH)/_pkg.el
579 :     @echo ")" >> $(AUTOLOAD_PATH)/_pkg.el
580 :     endif
581 : steve 1.1
582 : ben 1.55 setup-info: # #### See if we can't CLEAN this up
583 :     $(XEMACS_BATCH_DIRTY) -l $(PACKAGE_NET_PACKAGES) \
584 : adrian 1.26 -l $(PACKAGE_INFO) \
585 : scop 1.41 -f package-net-packages-batch-convert-index-to-ini $(PACKAGE_STAGING) $(CATEGORY)
586 : steve 1.1
587 : ben 1.52 .PHONY: binkit-with-html install-for-bindist autoloads
588 : youngs 1.46
589 : youngs 1.47 # A target that _only_ installs and doesn't build _anything_
590 :     install-only: binkit
591 : steveb 1.11
592 : ben 1.52 binkit: binkit-1
593 :    
594 :     ifeq ($(INSTALL_HTML),t)
595 : adrian 1.57 binkit: install-html
596 : ben 1.52 endif
597 :    
598 :     binkit-with-html: binkit-1 install-html
599 :    
600 :     install-for-bindist: binkit package-info setup-info
601 :    
602 : ben 1.43 ## Do not byte-compile as that could require stuff from elsewhere, and you
603 :     ## get dependency circles.
604 :     autoloads: $(EARLY_GENERATED_LISP)
605 : andreasj 1.17
606 : ben 1.43 binkit-1: check-staging
607 : andreasj 1.17 (if test -d $(STAGING); then \
608 :     cd $(STAGING); \
609 :     if test -f $(MANIFEST); then \
610 : steveb 1.11 rm -rf `cat $(MANIFEST)`; \
611 : andreasj 1.17 fi; \
612 : steveb 1.11 fi;)
613 : ben 1.43 ifneq ($(PACKAGE),)
614 : steveb 1.11 @-mkdir -p $(STAGING)/lisp/$(PACKAGE)
615 : ben 1.43 endif
616 : andreasj 1.17 ifneq ($(ELCS_1),)
617 : steveb 1.11 @-mkdir -p $(STAGING)/lisp/$(ELCS_1_DEST)
618 :     endif
619 : andreasj 1.17 ifneq ($(INFO_FILES),)
620 : steveb 1.11 @-mkdir -p $(STAGING)/info
621 :     @-mkdir -p $(STAGING)/man/$(PACKAGE)
622 :     endif
623 : andreasj 1.17 ifneq ($(DATA_FILES),)
624 : steveb 1.11 @-mkdir -p $(STAGING)/etc/$(DATA_DEST)
625 :     endif
626 : andreasj 1.17 ifneq ($(DATA_1_FILES),)
627 : steveb 1.11 @-mkdir -p $(STAGING)/etc/$(DATA_1_DEST)
628 :     endif
629 : andreasj 1.17 ifneq ($(DATA_2_FILES),)
630 : steveb 1.11 @-mkdir -p $(STAGING)/etc/$(DATA_2_DEST)
631 :     endif
632 : andreasj 1.17 ifneq ($(DATA_3_FILES),)
633 : steveb 1.11 @-mkdir -p $(STAGING)/etc/$(DATA_3_DEST)
634 :     endif
635 : andreasj 1.17 ifneq ($(DATA_4_FILES),)
636 : steveb 1.11 @-mkdir -p $(STAGING)/etc/$(DATA_4_DEST)
637 :     endif
638 : andreasj 1.17 ifneq ($(DATA_5_FILES),)
639 : steveb 1.11 @-mkdir -p $(STAGING)/etc/$(DATA_5_DEST)
640 :     endif
641 : andreasj 1.17 ifneq ($(DATA_6_FILES),)
642 : steveb 1.16 @-mkdir -p $(STAGING)/etc/$(DATA_6_DEST)
643 :     endif
644 : andreasj 1.17 ifneq ($(DATA_7_FILES),)
645 : steveb 1.16 @-mkdir -p $(STAGING)/etc/$(DATA_7_DEST)
646 :     endif
647 : andreasj 1.17 ifneq ($(DATA_8_FILES),)
648 : steveb 1.16 @-mkdir -p $(STAGING)/etc/$(DATA_8_DEST)
649 :     endif
650 : michaels 1.20 ifneq ($(DATA_9_FILES),)
651 :     @-mkdir -p $(STAGING)/etc/$(DATA_9_DEST)
652 :     endif
653 :     ifneq ($(DATA_10_FILES),)
654 :     @-mkdir -p $(STAGING)/etc/$(DATA_10_DEST)
655 :     endif
656 :     ifneq ($(DATA_11_FILES),)
657 :     @-mkdir -p $(STAGING)/etc/$(DATA_11_DEST)
658 :     endif
659 :     ifneq ($(DATA_12_FILES),)
660 :     @-mkdir -p $(STAGING)/etc/$(DATA_12_DEST)
661 :     endif
662 :     ifneq ($(DATA_13_FILES),)
663 :     @-mkdir -p $(STAGING)/etc/$(DATA_13_DEST)
664 :     endif
665 :     ifneq ($(DATA_14_FILES),)
666 :     @-mkdir -p $(STAGING)/etc/$(DATA_14_DEST)
667 :     endif
668 :     ifneq ($(DATA_15_FILES),)
669 :     @-mkdir -p $(STAGING)/etc/$(DATA_15_DEST)
670 :     endif
671 :     ifneq ($(DATA_16_FILES),)
672 :     @-mkdir -p $(STAGING)/etc/$(DATA_16_DEST)
673 :     endif
674 :     ifneq ($(DATA_17_FILES),)
675 :     @-mkdir -p $(STAGING)/etc/$(DATA_17_DEST)
676 :     endif
677 :     ifneq ($(DATA_18_FILES),)
678 :     @-mkdir -p $(STAGING)/etc/$(DATA_18_DEST)
679 :     endif
680 :     ifneq ($(DATA_19_FILES),)
681 :     @-mkdir -p $(STAGING)/etc/$(DATA_19_DEST)
682 :     endif
683 :     ifneq ($(DATA_20_FILES),)
684 :     @-mkdir -p $(STAGING)/etc/$(DATA_20_DEST)
685 :     endif
686 :     ifneq ($(DATA_21_FILES),)
687 :     @-mkdir -p $(STAGING)/etc/$(DATA_21_DEST)
688 :     endif
689 :     ifneq ($(DATA_22_FILES),)
690 :     @-mkdir -p $(STAGING)/etc/$(DATA_22_DEST)
691 :     endif
692 :     ifneq ($(DATA_23_FILES),)
693 :     @-mkdir -p $(STAGING)/etc/$(DATA_23_DEST)
694 :     endif
695 :     ifneq ($(DATA_24_FILES),)
696 :     @-mkdir -p $(STAGING)/etc/$(DATA_24_DEST)
697 :     endif
698 :     ifneq ($(DATA_25_FILES),)
699 :     @-mkdir -p $(STAGING)/etc/$(DATA_25_DEST)
700 :     endif
701 :     ifneq ($(DATA_26_FILES),)
702 :     @-mkdir -p $(STAGING)/etc/$(DATA_26_DEST)
703 :     endif
704 : youngs 1.29 ifneq ($(DATA_27_FILES),)
705 :     @-mkdir -p $(STAGING)/etc/$(DATA_27_DEST)
706 :     endif
707 :     ifneq ($(DATA_28_FILES),)
708 :     @-mkdir -p $(STAGING)/etc/$(DATA_28_DEST)
709 :     endif
710 :     ifneq ($(DATA_29_FILES),)
711 :     @-mkdir -p $(STAGING)/etc/$(DATA_29_DEST)
712 :     endif
713 :     ifneq ($(DATA_30_FILES),)
714 :     @-mkdir -p $(STAGING)/etc/$(DATA_30_DEST)
715 :     endif
716 :     ifneq ($(DATA_31_FILES),)
717 :     @-mkdir -p $(STAGING)/etc/$(DATA_31_DEST)
718 :     endif
719 :     ifneq ($(DATA_32_FILES),)
720 :     @-mkdir -p $(STAGING)/etc/$(DATA_32_DEST)
721 :     endif
722 :     ifneq ($(DATA_33_FILES),)
723 :     @-mkdir -p $(STAGING)/etc/$(DATA_33_DEST)
724 :     endif
725 :     ifneq ($(DATA_34_FILES),)
726 :     @-mkdir -p $(STAGING)/etc/$(DATA_34_DEST)
727 :     endif
728 :     ifneq ($(DATA_35_FILES),)
729 :     @-mkdir -p $(STAGING)/etc/$(DATA_35_DEST)
730 :     endif
731 : andreasj 1.17 ifneq ($(LIBSRC_FILES),)
732 : steveb 1.11 @-mkdir -p $(STAGING)/lib-src
733 :     endif
734 :     @-mkdir -p $(STAGING)/pkginfo
735 : ben 1.43 ifneq ($(PACKAGE),)
736 : andreasj 1.17 $(RCOPY) $(addprefix $(PWD)/, ChangeLog $(SOURCE_FILES_TO_COPY) $(EXTRA_SOURCES)) \
737 :     $(STAGING)/lisp/$(PACKAGE)
738 :     endif
739 :     ifneq ($(ELCS_1),)
740 :     $(RCOPY) $(addprefix $(PWD)/, $(ELCS_1_FILES)) $(STAGING)/lisp/$(ELCS_1_DEST)
741 : steveb 1.11 endif
742 : andreasj 1.17 ifneq ($(INFO_FILES),)
743 :     $(RCOPY) $(addprefix $(PWD)/, $(INFO_FILES)) $(STAGING)/info
744 :     $(RCOPY) $(addprefix $(PWD)/, $(TEXI_FILES)) $(STAGING)/man/$(PACKAGE)
745 : ben 1.43 ifneq ($(EXTRA_DOC_FILES),)
746 :     $(RCOPY) $(addprefix $(PWD)/, $(EXTRA_DOC_FILES)) $(STAGING)/man/$(PACKAGE)
747 :     endif
748 : steveb 1.11 endif
749 : andreasj 1.17 ifneq ($(DATA_FILES),)
750 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_FILES)) $(STAGING)/etc/$(DATA_DEST)
751 : steveb 1.11 endif
752 : andreasj 1.17 ifneq ($(DATA_1_FILES),)
753 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_1_FILES)) $(STAGING)/etc/$(DATA_1_DEST)
754 : steveb 1.11 endif
755 : andreasj 1.17 ifneq ($(DATA_2_FILES),)
756 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_2_FILES)) $(STAGING)/etc/$(DATA_2_DEST)
757 : steveb 1.11 endif
758 : andreasj 1.17 ifneq ($(DATA_3_FILES),)
759 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_3_FILES)) $(STAGING)/etc/$(DATA_3_DEST)
760 : steveb 1.11 endif
761 : andreasj 1.17 ifneq ($(DATA_4_FILES),)
762 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_4_FILES)) $(STAGING)/etc/$(DATA_4_DEST)
763 : steveb 1.11 endif
764 : andreasj 1.17 ifneq ($(DATA_5_FILES),)
765 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_5_FILES)) $(STAGING)/etc/$(DATA_5_DEST)
766 : steveb 1.11 endif
767 : andreasj 1.17 ifneq ($(DATA_6_FILES),)
768 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_6_FILES)) $(STAGING)/etc/$(DATA_6_DEST)
769 : steveb 1.16 endif
770 : andreasj 1.17 ifneq ($(DATA_7_FILES),)
771 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_7_FILES)) $(STAGING)/etc/$(DATA_7_DEST)
772 : steveb 1.16 endif
773 : andreasj 1.17 ifneq ($(DATA_8_FILES),)
774 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_8_FILES)) $(STAGING)/etc/$(DATA_8_DEST)
775 : steveb 1.16 endif
776 : michaels 1.20 ifneq ($(DATA_9_FILES),)
777 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_9_FILES)) $(STAGING)/etc/$(DATA_9_DEST)
778 :     endif
779 :     ifneq ($(DATA_10_FILES),)
780 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_10_FILES)) $(STAGING)/etc/$(DATA_10_DEST)
781 :     endif
782 :     ifneq ($(DATA_11_FILES),)
783 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_11_FILES)) $(STAGING)/etc/$(DATA_11_DEST)
784 :     endif
785 :     ifneq ($(DATA_12_FILES),)
786 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_12_FILES)) $(STAGING)/etc/$(DATA_12_DEST)
787 :     endif
788 :     ifneq ($(DATA_13_FILES),)
789 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_13_FILES)) $(STAGING)/etc/$(DATA_13_DEST)
790 :     endif
791 :     ifneq ($(DATA_14_FILES),)
792 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_14_FILES)) $(STAGING)/etc/$(DATA_14_DEST)
793 :     endif
794 :     ifneq ($(DATA_15_FILES),)
795 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_15_FILES)) $(STAGING)/etc/$(DATA_15_DEST)
796 :     endif
797 :     ifneq ($(DATA_16_FILES),)
798 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_16_FILES)) $(STAGING)/etc/$(DATA_16_DEST)
799 :     endif
800 :     ifneq ($(DATA_17_FILES),)
801 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_17_FILES)) $(STAGING)/etc/$(DATA_17_DEST)
802 :     endif
803 :     ifneq ($(DATA_18_FILES),)
804 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_18_FILES)) $(STAGING)/etc/$(DATA_18_DEST)
805 :     endif
806 :     ifneq ($(DATA_19_FILES),)
807 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_19_FILES)) $(STAGING)/etc/$(DATA_19_DEST)
808 :     endif
809 :     ifneq ($(DATA_20_FILES),)
810 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_20_FILES)) $(STAGING)/etc/$(DATA_20_DEST)
811 :     endif
812 :     ifneq ($(DATA_21_FILES),)
813 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_21_FILES)) $(STAGING)/etc/$(DATA_21_DEST)
814 :     endif
815 :     ifneq ($(DATA_22_FILES),)
816 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_22_FILES)) $(STAGING)/etc/$(DATA_22_DEST)
817 :     endif
818 :     ifneq ($(DATA_23_FILES),)
819 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_23_FILES)) $(STAGING)/etc/$(DATA_23_DEST)
820 :     endif
821 :     ifneq ($(DATA_24_FILES),)
822 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_24_FILES)) $(STAGING)/etc/$(DATA_24_DEST)
823 :     endif
824 :     ifneq ($(DATA_25_FILES),)
825 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_25_FILES)) $(STAGING)/etc/$(DATA_25_DEST)
826 :     endif
827 :     ifneq ($(DATA_26_FILES),)
828 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_26_FILES)) $(STAGING)/etc/$(DATA_26_DEST)
829 :     endif
830 : youngs 1.29 ifneq ($(DATA_27_FILES),)
831 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_27_FILES)) $(STAGING)/etc/$(DATA_27_DEST)
832 :     endif
833 :     ifneq ($(DATA_28_FILES),)
834 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_28_FILES)) $(STAGING)/etc/$(DATA_28_DEST)
835 :     endif
836 :     ifneq ($(DATA_29_FILES),)
837 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_29_FILES)) $(STAGING)/etc/$(DATA_29_DEST)
838 :     endif
839 :     ifneq ($(DATA_30_FILES),)
840 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_30_FILES)) $(STAGING)/etc/$(DATA_30_DEST)
841 :     endif
842 :     ifneq ($(DATA_31_FILES),)
843 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_31_FILES)) $(STAGING)/etc/$(DATA_31_DEST)
844 :     endif
845 :     ifneq ($(DATA_32_FILES),)
846 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_32_FILES)) $(STAGING)/etc/$(DATA_32_DEST)
847 :     endif
848 :     ifneq ($(DATA_33_FILES),)
849 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_33_FILES)) $(STAGING)/etc/$(DATA_33_DEST)
850 :     endif
851 :     ifneq ($(DATA_34_FILES),)
852 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_34_FILES)) $(STAGING)/etc/$(DATA_34_DEST)
853 :     endif
854 :     ifneq ($(DATA_35_FILES),)
855 :     $(RCOPY) $(addprefix $(PWD)/, $(DATA_35_FILES)) $(STAGING)/etc/$(DATA_35_DEST)
856 :     endif
857 : andreasj 1.17 ifneq ($(LIBSRC_FILES),)
858 :     $(RCOPY) $(addprefix $(PWD)/, $(LIBSRC_FILES)) $(STAGING)/lib-src
859 : steveb 1.11 endif
860 : steve 1.1 (cd $(STAGING); \
861 : steveb 1.11 ls -1 $(MANIFEST) > $(MANIFEST))
862 : ben 1.43 ifneq ($(PACKAGE),)
863 : steveb 1.11 @(cd $(STAGING); \
864 :     ls -1 lisp/$(PACKAGE)/ChangeLog \
865 :     $(patsubst %, lisp/$(PACKAGE)/%, $(notdir $(SOURCE_FILES_TO_COPY))) \
866 :     $(patsubst %, lisp/$(PACKAGE)/%, $(notdir $(EXTRA_SOURCES))) \
867 :     >> $(MANIFEST))
868 : andreasj 1.18 endif
869 : andreasj 1.17 ifneq ($(ELCS_1),)
870 : steveb 1.11 @(cd $(STAGING); \
871 :     ls -1 $(patsubst %, lisp/$(ELCS_1_DEST)/%, $(notdir $(ELCS_1_FILES))) \
872 :     >> $(MANIFEST))
873 :     endif
874 : andreasj 1.17 ifneq ($(INFO_FILES),)
875 : steveb 1.11 @(cd $(STAGING); \
876 :     ls -1 man/$(PACKAGE)/* \
877 :     $(patsubst %,info/%, $(notdir $(INFO_FILES))) >> $(MANIFEST))
878 :     endif
879 : andreasj 1.17 ifneq ($(DATA_FILES),)
880 : steveb 1.11 @(cd $(STAGING); \
881 :     ls -1 $(patsubst %, etc/$(DATA_DEST)/%, $(notdir $(DATA_FILES))) \
882 :     >> $(MANIFEST))
883 :     endif
884 : andreasj 1.17 ifneq ($(DATA_1_FILES),)
885 : steveb 1.11 @(cd $(STAGING); \
886 :     ls -1 $(patsubst %, etc/$(DATA_1_DEST)/%, $(notdir $(DATA_1_FILES))) \
887 :     >> $(MANIFEST))
888 :     endif
889 : andreasj 1.17 ifneq ($(DATA_2_FILES),)
890 : steveb 1.11 @(cd $(STAGING); \
891 :     ls -1 $(patsubst %, etc/$(DATA_2_DEST)/%, $(notdir $(DATA_2_FILES))) \
892 :     >> $(MANIFEST))
893 :     endif
894 : andreasj 1.17 ifneq ($(DATA_3_FILES),)
895 : steveb 1.11 @(cd $(STAGING); \
896 :     ls -1 $(patsubst %, etc/$(DATA_3_DEST)/%, $(notdir $(DATA_3_FILES))) \
897 :     >> $(MANIFEST))
898 :     endif
899 : andreasj 1.17 ifneq ($(DATA_4_FILES),)
900 : steveb 1.11 @(cd $(STAGING); \
901 :     ls -1 $(patsubst %, etc/$(DATA_4_DEST)/%, $(notdir $(DATA_4_FILES))) \
902 :     >> $(MANIFEST))
903 :     endif
904 : andreasj 1.17 ifneq ($(DATA_5_FILES),)
905 : steveb 1.11 @(cd $(STAGING); \
906 :     ls -1 $(patsubst %, etc/$(DATA_5_DEST)/%, $(notdir $(DATA_5_FILES))) \
907 : steveb 1.16 >> $(MANIFEST))
908 :     endif
909 : andreasj 1.17 ifneq ($(DATA_6_FILES),)
910 : steveb 1.16 @(cd $(STAGING); \
911 :     ls -1 $(patsubst %, etc/$(DATA_6_DEST)/%, $(notdir $(DATA_6_FILES))) \
912 :     >> $(MANIFEST))
913 :     endif
914 : andreasj 1.17 ifneq ($(DATA_7_FILES),)
915 : steveb 1.16 @(cd $(STAGING); \
916 :     ls -1 $(patsubst %, etc/$(DATA_7_DEST)/%, $(notdir $(DATA_7_FILES))) \
917 :     >> $(MANIFEST))
918 :     endif
919 : andreasj 1.17 ifneq ($(DATA_8_FILES),)
920 : steveb 1.16 @(cd $(STAGING); \
921 :     ls -1 $(patsubst %, etc/$(DATA_8_DEST)/%, $(notdir $(DATA_8_FILES))) \
922 : michaels 1.20 >> $(MANIFEST))
923 :     endif
924 :     ifneq ($(DATA_9_FILES),)
925 :     @(cd $(STAGING); \
926 :     ls -1 $(patsubst %, etc/$(DATA_9_DEST)/%, $(notdir $(DATA_9_FILES))) \
927 :     >> $(MANIFEST))
928 :     endif
929 :     ifneq ($(DATA_10_FILES),)
930 :     @(cd $(STAGING); \
931 :     ls -1 $(patsubst %, etc/$(DATA_10_DEST)/%, $(notdir $(DATA_10_FILES))) \
932 :     >> $(MANIFEST))
933 :     endif
934 :     ifneq ($(DATA_11_FILES),)
935 :     @(cd $(STAGING); \
936 :     ls -1 $(patsubst %, etc/$(DATA_11_DEST)/%, $(notdir $(DATA_11_FILES))) \
937 :     >> $(MANIFEST))
938 :     endif
939 :     ifneq ($(DATA_12_FILES),)
940 :     @(cd $(STAGING); \
941 :     ls -1 $(patsubst %, etc/$(DATA_12_DEST)/%, $(notdir $(DATA_12_FILES))) \
942 :     >> $(MANIFEST))
943 :     endif
944 :     ifneq ($(DATA_13_FILES),)
945 :     @(cd $(STAGING); \
946 :     ls -1 $(patsubst %, etc/$(DATA_13_DEST)/%, $(notdir $(DATA_13_FILES))) \
947 :     >> $(MANIFEST))
948 :     endif
949 :     ifneq ($(DATA_14_FILES),)
950 :     @(cd $(STAGING); \
951 :     ls -1 $(patsubst %, etc/$(DATA_14_DEST)/%, $(notdir $(DATA_14_FILES))) \
952 :     >> $(MANIFEST))
953 :     endif
954 :     ifneq ($(DATA_15_FILES),)
955 :     @(cd $(STAGING); \
956 :     ls -1 $(patsubst %, etc/$(DATA_15_DEST)/%, $(notdir $(DATA_15_FILES))) \
957 :     >> $(MANIFEST))
958 :     endif
959 :     ifneq ($(DATA_16_FILES),)
960 :     @(cd $(STAGING); \
961 :     ls -1 $(patsubst %, etc/$(DATA_16_DEST)/%, $(notdir $(DATA_16_FILES))) \
962 :     >> $(MANIFEST))
963 :     endif
964 :     ifneq ($(DATA_17_FILES),)
965 :     @(cd $(STAGING); \
966 :     ls -1 $(patsubst %, etc/$(DATA_17_DEST)/%, $(notdir $(DATA_17_FILES))) \
967 :     >> $(MANIFEST))
968 :     endif
969 :     ifneq ($(DATA_18_FILES),)
970 :     @(cd $(STAGING); \
971 :     ls -1 $(patsubst %, etc/$(DATA_18_DEST)/%, $(notdir $(DATA_18_FILES))) \
972 :     >> $(MANIFEST))
973 :     endif
974 :     ifneq ($(DATA_19_FILES),)
975 :     @(cd $(STAGING); \
976 :     ls -1 $(patsubst %, etc/$(DATA_19_DEST)/%, $(notdir $(DATA_19_FILES))) \
977 :     >> $(MANIFEST))
978 :     endif
979 :     ifneq ($(DATA_20_FILES),)
980 :     @(cd $(STAGING); \
981 :     ls -1 $(patsubst %, etc/$(DATA_20_DEST)/%, $(notdir $(DATA_20_FILES))) \
982 :     >> $(MANIFEST))
983 :     endif
984 :     ifneq ($(DATA_21_FILES),)
985 :     @(cd $(STAGING); \
986 :     ls -1 $(patsubst %, etc/$(DATA_21_DEST)/%, $(notdir $(DATA_21_FILES))) \
987 :     >> $(MANIFEST))
988 :     endif
989 :     ifneq ($(DATA_22_FILES),)
990 :     @(cd $(STAGING); \
991 :     ls -1 $(patsubst %, etc/$(DATA_22_DEST)/%, $(notdir $(DATA_22_FILES))) \
992 :     >> $(MANIFEST))
993 :     endif
994 :     ifneq ($(DATA_23_FILES),)
995 :     @(cd $(STAGING); \
996 :     ls -1 $(patsubst %, etc/$(DATA_23_DEST)/%, $(notdir $(DATA_23_FILES))) \
997 :     >> $(MANIFEST))
998 :     endif
999 :     ifneq ($(DATA_24_FILES),)
1000 :     @(cd $(STAGING); \
1001 :     ls -1 $(patsubst %, etc/$(DATA_24_DEST)/%, $(notdir $(DATA_24_FILES))) \
1002 :     >> $(MANIFEST))
1003 :     endif
1004 :     ifneq ($(DATA_25_FILES),)
1005 :     @(cd $(STAGING); \
1006 :     ls -1 $(patsubst %, etc/$(DATA_25_DEST)/%, $(notdir $(DATA_25_FILES))) \
1007 :     >> $(MANIFEST))
1008 :     endif
1009 :     ifneq ($(DATA_26_FILES),)
1010 :     @(cd $(STAGING); \
1011 :     ls -1 $(patsubst %, etc/$(DATA_26_DEST)/%, $(notdir $(DATA_26_FILES))) \
1012 : steveb 1.11 >> $(MANIFEST))
1013 :     endif
1014 : youngs 1.29 ifneq ($(DATA_27_FILES),)
1015 :     @(cd $(STAGING); \
1016 :     ls -1 $(patsubst %, etc/$(DATA_27_DEST)/%, $(notdir $(DATA_27_FILES))) \
1017 :     >> $(MANIFEST))
1018 :     endif
1019 :     ifneq ($(DATA_28_FILES),)
1020 :     @(cd $(STAGING); \
1021 :     ls -1 $(patsubst %, etc/$(DATA_28_DEST)/%, $(notdir $(DATA_28_FILES))) \
1022 :     >> $(MANIFEST))
1023 :     endif
1024 :     ifneq ($(DATA_29_FILES),)
1025 :     @(cd $(STAGING); \
1026 :     ls -1 $(patsubst %, etc/$(DATA_29_DEST)/%, $(notdir $(DATA_29_FILES))) \
1027 :     >> $(MANIFEST))
1028 :     endif
1029 :     ifneq ($(DATA_30_FILES),)
1030 :     @(cd $(STAGING); \
1031 :     ls -1 $(patsubst %, etc/$(DATA_30_DEST)/%, $(notdir $(DATA_30_FILES))) \
1032 :     >> $(MANIFEST))
1033 :     endif
1034 :     ifneq ($(DATA_31_FILES),)
1035 :     @(cd $(STAGING); \
1036 :     ls -1 $(patsubst %, etc/$(DATA_31_DEST)/%, $(notdir $(DATA_31_FILES))) \
1037 :     >> $(MANIFEST))
1038 :     endif
1039 :     ifneq ($(DATA_32_FILES),)
1040 :     @(cd $(STAGING); \
1041 :     ls -1 $(patsubst %, etc/$(DATA_32_DEST)/%, $(notdir $(DATA_32_FILES))) \
1042 :     >> $(MANIFEST))
1043 :     endif
1044 :     ifneq ($(DATA_33_FILES),)
1045 :     @(cd $(STAGING); \
1046 :     ls -1 $(patsubst %, etc/$(DATA_33_DEST)/%, $(notdir $(DATA_33_FILES))) \
1047 :     >> $(MANIFEST))
1048 :     endif
1049 :     ifneq ($(DATA_34_FILES),)
1050 :     @(cd $(STAGING); \
1051 :     ls -1 $(patsubst %, etc/$(DATA_34_DEST)/%, $(notdir $(DATA_34_FILES))) \
1052 :     >> $(MANIFEST))
1053 :     endif
1054 :     ifneq ($(DATA_35_FILES),)
1055 :     @(cd $(STAGING); \
1056 :     ls -1 $(patsubst %, etc/$(DATA_35_DEST)/%, $(notdir $(DATA_35_FILES))) \
1057 :     >> $(MANIFEST))
1058 :     endif
1059 : andreasj 1.17 ifneq ($(LIBSRC_FILES),)
1060 : steveb 1.11 @(cd $(STAGING); \
1061 :     ls -1 $(patsubst %,lib-src/%, $(notdir $(LIBSRC_FILES))) >> $(MANIFEST))
1062 :     endif
1063 :    
1064 : adrian 1.48 install-html: html check-staging
1065 : scop 1.40 ifneq ($(HTML_FILES),)
1066 :     @-mkdir -p $(STAGING)/html
1067 : adrian 1.48 @-mkdir -p $(STAGING)/pkginfo
1068 : scop 1.40 $(RCOPY) $(addprefix $(PWD)/, $(HTML_FILES)) $(STAGING)/html
1069 :     @(cd $(STAGING); \
1070 :     ls -1 $(patsubst %,html/%, $(notdir $(HTML_FILES))) >> $(MANIFEST))
1071 :     endif
1072 : youngs 1.31
1073 :     # Export dependencies for outer make file usage
1074 :    
1075 :     # Passed in from outer Make
1076 :     TARGET_BASE=
1077 :    
1078 :     # Build depends is a clean version of Requires
1079 :     BDEPENDS=$(strip $(filter-out $(PACKAGE),$(REQUIRES)))
1080 :    
1081 :     $(DEPENDS_FILE_NAME): Makefile $(XEMACS_PACKAGES_BASE)/XEmacs.rules
1082 :     ifneq ($(TARGET_BASE),)
1083 : youngs 1.32 -rm -f $(DEPENDS_FILE_NAME)
1084 : youngs 1.31 @echo Creating $(DEPENDS_FILE_NAME)
1085 :     @echo > $(DEPENDS_FILE_NAME)
1086 :     ifneq ($(BDEPENDS),)
1087 :     @echo $(TARGET_BASE)$(PACKAGE)/autoloads.target: \
1088 :     $(TARGET_BASE)$(BDEPENDS:=/autoloads.target) \
1089 :     >>$(DEPENDS_FILE_NAME)
1090 :     @echo $(TARGET_BASE)$(PACKAGE)/compile.target: \
1091 :     $(TARGET_BASE)$(BDEPENDS:=/compile.target) \
1092 :     >>$(DEPENDS_FILE_NAME)
1093 :     endif
1094 :     endif
1095 : andreasj 1.17
1096 :     # Local Variables:
1097 :     # mode: makefile
1098 :     # End:

root@alioth.debian.org
ViewVC Help
Powered by ViewVC 1.0.0  
Powered By FusionForge
Show source