# Common Makefile material for package Makefiles # Copyright (C) 1997 Free Software Foundation Inc. # Copyright (C) 2002, 2003, 2005 Ben Wing. # This file is part of XEmacs. # XEmacs is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2, or (at your option) any # later version. # XEmacs is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # You should have received a copy of the GNU General Public License # along with XEmacs; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, # Boston, MA 02110-1301, USA. # Requires XEmacs 21.0-beta19 or greater and GNU Make 3.78 or greater. # Settings that a Makefile can specify (all settings need to be done # BEFORE including XEmacs.rules; if you need something from Local.rules # in order to determine the settings properly -- e.g. BUILD_WITHOUT_MULE -- # include Local.rules.inc at the top of your Makefile): # # At the top of every Makefile: # ----------------------------- # # VERSION = 1.10 # MAINTAINER = Joe Shmoe , or # MAINTAINER = XEmacs Development Team # PACKAGE = my-package # PKG_TYPE = regular or single-file (each file is a separate package) # REQUIRES = list of packages that must be available to compile the .elcs # CATEGORY = standard, mule, or unsupported # # Optionally: # ----------- # # AUTHOR_VERSION = 1.4.9 # PACKAGE_SUPPRESS = calls to `package-suppress' to indicate packages that # should be available only in particular versions of XEmacs, e.g.: # # PACKAGE_SUPPRESS = \ # (package-suppress 'xemacs-base \"regexp-opt\" '(emacs-version>= 21 5 11)) \ # (package-suppress 'xemacs-base \"easy-mmode\" '(emacs-version>= 21 5 11)) # # # Lisp files: # ----------- # # ELCS = .elc files to compile # ELCS_1 = more .elc files to compile, to be installed in a subdirectory of # lisp/ # ELCS_1_DEST = name of subdirectory to install them into; include # $(PACKAGE) in the name # EARLY_GENERATED_LISP = additional .el files that will be generated before # any byte-compilation (use this for autoloads-type files); rules must be # given to build them. XEmacs.rules will automatically add auto-autoloads, # custom-load, and custom-defines to this list, so don't include them. # GENERATED_LISP = additional .el files that will be generated at # byte-compilation time; rules must be given to build them # PRELOADS = additional command-line arguments needed when compiling .elcs # AUTOLOAD_PATH = subdirectory in source tree where .elcs are located (this # is where auto-autoloads.el, etc. will be placed) # # Doc files (see below): # ---------------------- # # (1) The preferred way: # # EXPLICIT_DOCS, STANDARD_DOCS, EXTRA_TEXI_FILES, EXTRA_HTML_FILES, # DOCS_TEXINFO_EXTENSION, DOCS_TXI_EXTENSION # # (2) The hard way: # # TEXI_FILES, INFO_FILES, INFO_DEP, HTML_FILES, HTML_DEP # # Also: EXTRA_DOC_FILES # # Other files to build: # --------------------- # # EXTRA_DEPENDENCIES = additional files to build; rules must be given to # build them # # Files to install, besides the .elcs, docs, ChangeLog and _pkg.el: # ----------------------------------------------------------------- # # EXTRA_SOURCES = files installed under lisp/$(PACKAGE) # LIBSRC_FILES = files installed under lib-src/ # DATA_FILES, DATA_DEST = files installed under a subdirectory of etc/; include # $(PACKAGE) in the name # DATA_1_FILES, DATA_1_DEST ... DATA_35_FILES, DATA_35_DEST = files to be # installed in other subdirectories of etc/ XEMACS_PACKAGES_BASE := $(shell while [ ! -f XEmacs.rules ]; do \ cd ..; \ done; \ pwd) include ${XEMACS_PACKAGES_BASE}/Local.rules.inc # Ensure vanilla locale when building override LANG := C # Only in rare cases will you need to override this ifeq ($(AUTOLOAD_PATH),) AUTOLOAD_PATH = . endif # Set this in the package Makefile if necessary (BEFORE including this file) EARLY_GENERATED_LISP := $(AUTOLOAD_PATH)/auto-autoloads.el \ $(AUTOLOAD_PATH)/custom-load.el $(EARLY_GENERATED_LISP) ifeq ($(or $(XEMACS_21_5),$(BUILD_WITH_SXEMACS)),t) EARLY_GENERATED_LISP += $(AUTOLOAD_PATH)/custom-defines.el endif EARLY_GENERATED_ELCS = $(EARLY_GENERATED_LISP:.el=.elc) GENERATED_ELCS = $(GENERATED_LISP:.el=.elc) # SOURCE_FILES_TO_COPY = *.el* SOURCE_FILES_TO_COPY = $(ELCS) $(ELCS:.elc=.el) \ $(MULE_ELCS) $(MULE_ELCS:.elc=.el) \ $(EARLY_GENERATED_ELCS) $(EARLY_GENERATED_LISP) \ $(GENERATED_ELCS) $(GENERATED_LISP) $(AUTOLOAD_PATH)/_pkg.el # Non configurable portion follows MANIFEST = pkginfo/MANIFEST.$(PACKAGE) # This might be a sublevel PWD; that is intentional. Use # ${XEMACS_PACKAGES_BASE} for the toplevel directory. PWD := $(shell pwd) .SUFFIXES: .SUFFIXES: .html .info .txi .texi .texinfo .dvi .ps .pdf .elc .el # STAGING is the top of the directory tree where a particular package's # files are installed, or where tarballs are installed using `make bindist'. # 'make bindist' needs STAGING to be set to NONMULE_INSTALLED_PACKAGES_ROOT # if we are building a Mule package so we don't end up with 2 package-index # files. ifeq ('$(MAKECMDGOALS)','bindist') STAGING:= $(NONMULE_INSTALLED_PACKAGES_ROOT) else ifeq ('$(CATEGORY)','mule') STAGING:= $(MULE_INSTALLED_PACKAGES_ROOT) else STAGING:= $(NONMULE_INSTALLED_PACKAGES_ROOT) endif endif # We should strive to use XEMACS_BATCH_CLEAN as much as possible, so we have # no possible contamination from outside packages. We should rewrite the # others to load the appropriate autoloads from our own built package tree. ifeq ($(BUILD_WITHOUT_MULE),t) LISP_DIRECTORIES= (list lisp-directory) else LISP_DIRECTORIES= (list (expand-file-name "mule" lisp-directory) lisp-directory) endif XEMACS_BATCH_CLEAN = $(XEMACS) -no-autoloads $(BATCH) -eval '(setq load-path $(LISP_DIRECTORIES))' # The following works more or less the same and with less fuss, but only in # 21.5 and above # XEMACS_BATCH_CLEAN = $(XEMACS) -no-autoloads $(BATCH) -no-packages XEMACS_BATCH_DIRTY = $(XEMACS) $(BATCH) LOAD_AUTOLOADS= -eval '(packages-load-package-auto-autoloads load-path)' ##################################### # Handle docs # ##################################### # If something goes wrong and $(STAGING) is blank, the commands below will # attempt to install files into absolute paths /lisp/* and /etc/* -- not # a good idea at all. check-staging: ifeq ($(STAGING),) $(error STAGING is not set; potential major filesystem trashing! Fix this) endif check-mule: ifeq ($(CATEGORY),mule) ifneq ($(BUILD_WITHOUT_MULE),) $(error This package needs Mule support in order to be compiled) endif endif # Possibilities for building the docs: # # (1) EXPLICIT_DOCS = # Build the specified .texi files. Info and HTML files automatically # computed from the .texi files. # (2) STANDARD_DOCS = t # Same as EXPLICIT_DOCS = $(PACKAGE).texi # (3) Manual: Specify TEXI_FILES, INFO_FILES, INFO_DEP, HTML_FILES, and # HTML_DEP by yourself. Do not explicitly add any doc targets to # compile::. # # When EXPLICIT_DOCS or STANDARD_DOCS is given: # # (1) you can specify other .texi files included in the files specified in # EXPLICIT_DOCS using EXTRA_TEXI_FILES (they will be listed as # dependencies of the info and html files) # (2) you can specify extra .html output files using EXTRA_HTML_FILES # (3) you can use `DOCS_TEXINFO_EXTENSION = t' to indicate that the # explicitly specified docs have .texinfo as the extension instead of # .texi. Similarly for `DOCS_TXI_EXTENSION = t'. # # You can also specify EXTRA_DOC_FILES in all cases to indicate extra files # to be copied into the man/ directory at installation time. ifeq ($(STANDARD_DOCS),t) EXPLICIT_DOCS = $(PACKAGE).texi endif ifneq ($(EXPLICIT_DOCS),) ifeq ($(DOCS_TEXINFO_EXTENSION),t) EXPLICIT_DOCS_AS_TEXI=$(EXPLICIT_DOCS:%.texinfo=%.texi) else ifeq ($(DOCS_TXI_EXTENSION),t) EXPLICIT_DOCS_AS_TEXI=$(EXPLICIT_DOCS:%.txi=%.texi) else EXPLICIT_DOCS_AS_TEXI=$(EXPLICIT_DOCS) endif endif # Ensure the correct setting of $TEXI_FILES. --SY. TEXI_FILES = $(EXPLICIT_DOCS) ifeq ($(DOCS_TEXINFO_EXTENSION),t) TEXI_FILES = $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.texinfo) endif ifeq ($(DOCS_TXI_EXTIONSION),t) TEXI_FILES = $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.txi) endif TEXI_FILES += $(EXTRA_TEXI_FILES) INFO_FILES = $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.info*) INFO_DEP = $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.info) $(INFO_DEP): $(EXTRA_TEXI_FILES) mostlyclean:: rm -f $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.toc) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.aux) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.oaux) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.log) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.cp) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.cps) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.fn) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.fns) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.tp) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.tps) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.vr) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.vrs) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.pg) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.pgs) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.ky) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.kys) clean:: rm -f $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.dvi) \ $(EXPLICIT_DOCS_AS_TEXI:%.texi=%.ps) HTML_FILES = $(EXPLICIT_DOCS_AS_TEXI:%.texi=%*.html) $(EXTRA_HTML_FILES) HTML_DEP = $(EXPLICIT_DOCS_AS_TEXI:%.texi=%_toc.html) $(HTML_DEP): $(EXTRA_TEXI_FILES) endif html: $(HTML_DEP) 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) ifeq ($(XEMACS_21_5),t) INFO_ENCODING = utf-8 else INFO_ENCODING = iso-2022-7 endif FORMAT_INFO_USING_XEMACS_ARGS = -l informat -l texinfmt -f texinfo-format-buffer FORMAT_INFO_USING_XEMACS = \ $(XEMACS_BATCH_PREPARE_FOR_TEXINFO) -insert $< \ $(FORMAT_INFO_USING_XEMACS_ARGS) -f save-buffer FORMAT_MULE_INFO_USING_XEMACS = \ $(XEMACS_BATCH_PREPARE_FOR_TEXINFO) -insert $< \ -eval '(unless (featurep (quote mule)) (kill-emacs 0))' \ -eval '(cd "$( $(pkg_tar).gz;) else # BZIP2 is '' (cd $(STAGING); \ gzip -v9 $(pkg_tar);) endif ifneq ($(BZIP2),) $(pkg_tar).bz2: $(pkg_tar) (cd $(STAGING); \ $(BZIP2) -v9 $(pkg_tar);) else # Don't build a .tar.bz2 $(pkg_tar).bz2: .PHONY: $(pkg_tar).bz2 endif # BZIP2 ? else # when BUILD_TARS is '' # Touch the file so the package-index can be generated $(pkg_tar) $(pkg_tar).gz $(pkg_tar).bz2 : touch $@ endif # BUILD_TARS ? ifeq ($(AUTHOR_VERSION),) AUTHOR_VERSION = No-Upstream-Ver endif $(AUTOLOAD_PATH)/_pkg.el: Makefile @echo Creating $(AUTOLOAD_PATH)/_pkg.el @echo ";;;###autoload" > $(AUTOLOAD_PATH)/_pkg.el @echo "(package-provide '$(PACKAGE)" >> $(AUTOLOAD_PATH)/_pkg.el @echo " :version $(VERSION)" >> $(AUTOLOAD_PATH)/_pkg.el @echo " :author-version \"$(AUTHOR_VERSION)\"" >> $(AUTOLOAD_PATH)/_pkg.el @echo " :type '$(PKG_TYPE))" >> $(AUTOLOAD_PATH)/_pkg.el ifneq ($(PACKAGE_SUPPRESS),) @echo "" >> $(AUTOLOAD_PATH)/_pkg.el @echo ";;;###autoload" >> $(AUTOLOAD_PATH)/_pkg.el @echo "(when (fboundp 'package-suppress)" >> $(AUTOLOAD_PATH)/_pkg.el @echo " $(PACKAGE_SUPPRESS)" >> $(AUTOLOAD_PATH)/_pkg.el @echo ")" >> $(AUTOLOAD_PATH)/_pkg.el endif setup-info: # #### See if we can't CLEAN this up $(XEMACS_BATCH_DIRTY) -l $(PACKAGE_NET_PACKAGES) \ -l $(PACKAGE_INFO) \ -f package-net-packages-batch-convert-index-to-ini $(PACKAGE_STAGING) $(CATEGORY) .PHONY: binkit-with-html install-for-bindist autoloads # A target that _only_ installs and doesn't build _anything_ install-only: binkit binkit: binkit-1 ifeq ($(INSTALL_HTML),t) binkit: install-html endif binkit-with-html: binkit-1 install-html install-for-bindist: binkit package-info setup-info ## Do not byte-compile as that could require stuff from elsewhere, and you ## get dependency circles. autoloads: $(EARLY_GENERATED_LISP) binkit-1: check-staging (if test -d $(STAGING); then \ cd $(STAGING); \ if test -f $(MANIFEST); then \ rm -rf `cat $(MANIFEST)`; \ fi; \ fi;) ifneq ($(PACKAGE),) @-mkdir -p $(STAGING)/lisp/$(PACKAGE) endif ifneq ($(ELCS_1),) @-mkdir -p $(STAGING)/lisp/$(ELCS_1_DEST) endif ifneq ($(INFO_FILES),) @-mkdir -p $(STAGING)/info @-mkdir -p $(STAGING)/man/$(PACKAGE) endif ifneq ($(DATA_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_DEST) endif ifneq ($(DATA_1_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_1_DEST) endif ifneq ($(DATA_2_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_2_DEST) endif ifneq ($(DATA_3_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_3_DEST) endif ifneq ($(DATA_4_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_4_DEST) endif ifneq ($(DATA_5_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_5_DEST) endif ifneq ($(DATA_6_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_6_DEST) endif ifneq ($(DATA_7_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_7_DEST) endif ifneq ($(DATA_8_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_8_DEST) endif ifneq ($(DATA_9_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_9_DEST) endif ifneq ($(DATA_10_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_10_DEST) endif ifneq ($(DATA_11_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_11_DEST) endif ifneq ($(DATA_12_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_12_DEST) endif ifneq ($(DATA_13_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_13_DEST) endif ifneq ($(DATA_14_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_14_DEST) endif ifneq ($(DATA_15_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_15_DEST) endif ifneq ($(DATA_16_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_16_DEST) endif ifneq ($(DATA_17_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_17_DEST) endif ifneq ($(DATA_18_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_18_DEST) endif ifneq ($(DATA_19_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_19_DEST) endif ifneq ($(DATA_20_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_20_DEST) endif ifneq ($(DATA_21_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_21_DEST) endif ifneq ($(DATA_22_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_22_DEST) endif ifneq ($(DATA_23_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_23_DEST) endif ifneq ($(DATA_24_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_24_DEST) endif ifneq ($(DATA_25_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_25_DEST) endif ifneq ($(DATA_26_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_26_DEST) endif ifneq ($(DATA_27_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_27_DEST) endif ifneq ($(DATA_28_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_28_DEST) endif ifneq ($(DATA_29_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_29_DEST) endif ifneq ($(DATA_30_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_30_DEST) endif ifneq ($(DATA_31_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_31_DEST) endif ifneq ($(DATA_32_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_32_DEST) endif ifneq ($(DATA_33_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_33_DEST) endif ifneq ($(DATA_34_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_34_DEST) endif ifneq ($(DATA_35_FILES),) @-mkdir -p $(STAGING)/etc/$(DATA_35_DEST) endif ifneq ($(LIBSRC_FILES),) @-mkdir -p $(STAGING)/lib-src endif @-mkdir -p $(STAGING)/pkginfo ifneq ($(PACKAGE),) $(RCOPY) $(addprefix $(PWD)/, ChangeLog $(SOURCE_FILES_TO_COPY) $(EXTRA_SOURCES)) \ $(STAGING)/lisp/$(PACKAGE) endif ifneq ($(ELCS_1),) $(RCOPY) $(addprefix $(PWD)/, $(ELCS_1_FILES)) $(STAGING)/lisp/$(ELCS_1_DEST) endif ifneq ($(INFO_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(INFO_FILES)) $(STAGING)/info $(RCOPY) $(addprefix $(PWD)/, $(TEXI_FILES)) $(STAGING)/man/$(PACKAGE) ifneq ($(EXTRA_DOC_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(EXTRA_DOC_FILES)) $(STAGING)/man/$(PACKAGE) endif endif ifneq ($(DATA_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_FILES)) $(STAGING)/etc/$(DATA_DEST) endif ifneq ($(DATA_1_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_1_FILES)) $(STAGING)/etc/$(DATA_1_DEST) endif ifneq ($(DATA_2_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_2_FILES)) $(STAGING)/etc/$(DATA_2_DEST) endif ifneq ($(DATA_3_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_3_FILES)) $(STAGING)/etc/$(DATA_3_DEST) endif ifneq ($(DATA_4_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_4_FILES)) $(STAGING)/etc/$(DATA_4_DEST) endif ifneq ($(DATA_5_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_5_FILES)) $(STAGING)/etc/$(DATA_5_DEST) endif ifneq ($(DATA_6_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_6_FILES)) $(STAGING)/etc/$(DATA_6_DEST) endif ifneq ($(DATA_7_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_7_FILES)) $(STAGING)/etc/$(DATA_7_DEST) endif ifneq ($(DATA_8_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_8_FILES)) $(STAGING)/etc/$(DATA_8_DEST) endif ifneq ($(DATA_9_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_9_FILES)) $(STAGING)/etc/$(DATA_9_DEST) endif ifneq ($(DATA_10_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_10_FILES)) $(STAGING)/etc/$(DATA_10_DEST) endif ifneq ($(DATA_11_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_11_FILES)) $(STAGING)/etc/$(DATA_11_DEST) endif ifneq ($(DATA_12_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_12_FILES)) $(STAGING)/etc/$(DATA_12_DEST) endif ifneq ($(DATA_13_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_13_FILES)) $(STAGING)/etc/$(DATA_13_DEST) endif ifneq ($(DATA_14_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_14_FILES)) $(STAGING)/etc/$(DATA_14_DEST) endif ifneq ($(DATA_15_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_15_FILES)) $(STAGING)/etc/$(DATA_15_DEST) endif ifneq ($(DATA_16_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_16_FILES)) $(STAGING)/etc/$(DATA_16_DEST) endif ifneq ($(DATA_17_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_17_FILES)) $(STAGING)/etc/$(DATA_17_DEST) endif ifneq ($(DATA_18_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_18_FILES)) $(STAGING)/etc/$(DATA_18_DEST) endif ifneq ($(DATA_19_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_19_FILES)) $(STAGING)/etc/$(DATA_19_DEST) endif ifneq ($(DATA_20_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_20_FILES)) $(STAGING)/etc/$(DATA_20_DEST) endif ifneq ($(DATA_21_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_21_FILES)) $(STAGING)/etc/$(DATA_21_DEST) endif ifneq ($(DATA_22_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_22_FILES)) $(STAGING)/etc/$(DATA_22_DEST) endif ifneq ($(DATA_23_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_23_FILES)) $(STAGING)/etc/$(DATA_23_DEST) endif ifneq ($(DATA_24_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_24_FILES)) $(STAGING)/etc/$(DATA_24_DEST) endif ifneq ($(DATA_25_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_25_FILES)) $(STAGING)/etc/$(DATA_25_DEST) endif ifneq ($(DATA_26_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_26_FILES)) $(STAGING)/etc/$(DATA_26_DEST) endif ifneq ($(DATA_27_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_27_FILES)) $(STAGING)/etc/$(DATA_27_DEST) endif ifneq ($(DATA_28_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_28_FILES)) $(STAGING)/etc/$(DATA_28_DEST) endif ifneq ($(DATA_29_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_29_FILES)) $(STAGING)/etc/$(DATA_29_DEST) endif ifneq ($(DATA_30_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_30_FILES)) $(STAGING)/etc/$(DATA_30_DEST) endif ifneq ($(DATA_31_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_31_FILES)) $(STAGING)/etc/$(DATA_31_DEST) endif ifneq ($(DATA_32_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_32_FILES)) $(STAGING)/etc/$(DATA_32_DEST) endif ifneq ($(DATA_33_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_33_FILES)) $(STAGING)/etc/$(DATA_33_DEST) endif ifneq ($(DATA_34_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_34_FILES)) $(STAGING)/etc/$(DATA_34_DEST) endif ifneq ($(DATA_35_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(DATA_35_FILES)) $(STAGING)/etc/$(DATA_35_DEST) endif ifneq ($(LIBSRC_FILES),) $(RCOPY) $(addprefix $(PWD)/, $(LIBSRC_FILES)) $(STAGING)/lib-src endif (cd $(STAGING); \ ls -1 $(MANIFEST) > $(MANIFEST)) ifneq ($(PACKAGE),) @(cd $(STAGING); \ ls -1 lisp/$(PACKAGE)/ChangeLog \ $(patsubst %, lisp/$(PACKAGE)/%, $(notdir $(SOURCE_FILES_TO_COPY))) \ $(patsubst %, lisp/$(PACKAGE)/%, $(notdir $(EXTRA_SOURCES))) \ >> $(MANIFEST)) endif ifneq ($(ELCS_1),) @(cd $(STAGING); \ ls -1 $(patsubst %, lisp/$(ELCS_1_DEST)/%, $(notdir $(ELCS_1_FILES))) \ >> $(MANIFEST)) endif ifneq ($(INFO_FILES),) @(cd $(STAGING); \ ls -1 man/$(PACKAGE)/* \ $(patsubst %,info/%, $(notdir $(INFO_FILES))) >> $(MANIFEST)) endif ifneq ($(DATA_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_DEST)/%, $(notdir $(DATA_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_1_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_1_DEST)/%, $(notdir $(DATA_1_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_2_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_2_DEST)/%, $(notdir $(DATA_2_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_3_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_3_DEST)/%, $(notdir $(DATA_3_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_4_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_4_DEST)/%, $(notdir $(DATA_4_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_5_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_5_DEST)/%, $(notdir $(DATA_5_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_6_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_6_DEST)/%, $(notdir $(DATA_6_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_7_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_7_DEST)/%, $(notdir $(DATA_7_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_8_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_8_DEST)/%, $(notdir $(DATA_8_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_9_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_9_DEST)/%, $(notdir $(DATA_9_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_10_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_10_DEST)/%, $(notdir $(DATA_10_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_11_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_11_DEST)/%, $(notdir $(DATA_11_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_12_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_12_DEST)/%, $(notdir $(DATA_12_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_13_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_13_DEST)/%, $(notdir $(DATA_13_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_14_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_14_DEST)/%, $(notdir $(DATA_14_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_15_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_15_DEST)/%, $(notdir $(DATA_15_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_16_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_16_DEST)/%, $(notdir $(DATA_16_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_17_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_17_DEST)/%, $(notdir $(DATA_17_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_18_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_18_DEST)/%, $(notdir $(DATA_18_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_19_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_19_DEST)/%, $(notdir $(DATA_19_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_20_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_20_DEST)/%, $(notdir $(DATA_20_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_21_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_21_DEST)/%, $(notdir $(DATA_21_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_22_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_22_DEST)/%, $(notdir $(DATA_22_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_23_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_23_DEST)/%, $(notdir $(DATA_23_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_24_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_24_DEST)/%, $(notdir $(DATA_24_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_25_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_25_DEST)/%, $(notdir $(DATA_25_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_26_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_26_DEST)/%, $(notdir $(DATA_26_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_27_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_27_DEST)/%, $(notdir $(DATA_27_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_28_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_28_DEST)/%, $(notdir $(DATA_28_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_29_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_29_DEST)/%, $(notdir $(DATA_29_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_30_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_30_DEST)/%, $(notdir $(DATA_30_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_31_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_31_DEST)/%, $(notdir $(DATA_31_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_32_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_32_DEST)/%, $(notdir $(DATA_32_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_33_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_33_DEST)/%, $(notdir $(DATA_33_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_34_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_34_DEST)/%, $(notdir $(DATA_34_FILES))) \ >> $(MANIFEST)) endif ifneq ($(DATA_35_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %, etc/$(DATA_35_DEST)/%, $(notdir $(DATA_35_FILES))) \ >> $(MANIFEST)) endif ifneq ($(LIBSRC_FILES),) @(cd $(STAGING); \ ls -1 $(patsubst %,lib-src/%, $(notdir $(LIBSRC_FILES))) >> $(MANIFEST)) endif install-html: html check-staging ifneq ($(HTML_FILES),) @-mkdir -p $(STAGING)/html @-mkdir -p $(STAGING)/pkginfo $(RCOPY) $(addprefix $(PWD)/, $(HTML_FILES)) $(STAGING)/html @(cd $(STAGING); \ ls -1 $(patsubst %,html/%, $(notdir $(HTML_FILES))) >> $(MANIFEST)) endif # Export dependencies for outer make file usage # Passed in from outer Make TARGET_BASE= # Build depends is a clean version of Requires BDEPENDS=$(strip $(filter-out $(PACKAGE),$(REQUIRES))) $(DEPENDS_FILE_NAME): Makefile $(XEMACS_PACKAGES_BASE)/XEmacs.rules ifneq ($(TARGET_BASE),) -rm -f $(DEPENDS_FILE_NAME) @echo Creating $(DEPENDS_FILE_NAME) @echo > $(DEPENDS_FILE_NAME) ifneq ($(BDEPENDS),) @echo $(TARGET_BASE)$(PACKAGE)/autoloads.target: \ $(TARGET_BASE)$(BDEPENDS:=/autoloads.target) \ >>$(DEPENDS_FILE_NAME) @echo $(TARGET_BASE)$(PACKAGE)/compile.target: \ $(TARGET_BASE)$(BDEPENDS:=/compile.target) \ >>$(DEPENDS_FILE_NAME) endif endif # Local Variables: # mode: makefile # End: