Source

xemacs-packages / meta-iterate.rules

# This file is part of XEmacs.
# Copyright (C) 2002, 2003 Ben Wing.

# 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., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.

#
# This is used by higher-level subdirectories that do not directly contain
# packages.  Subdirectories directly containing packages should use
# iterate.rules instead.
#

XEMACS_PACKAGES_BASE := $(shell while [ ! -f XEmacs.rules ]; do \
                                    cd ..;	\
                                done;		\
                                pwd)

all: autoloads bytecompile

.PHONY: all all-bytecompile autoloads bytecompile bindist
.PHONY: clean distclean extraclean elcclean html macro-list World
.PHONY: install

# The toplevel has slightly different rules so we do not use iterate.rules
# directly

ALL_TARGETS= $(SUBDIRS:=/all.target)
AUTOLOADS_TARGETS= $(SUBDIRS:=/autoloads.target)
BYTECOMPILE_TARGETS= $(SUBDIRS:=/bytecompile.target)
BINDIST_TARGETS= $(SUBDIRS:=/bindist.target)
CLEAN_TARGETS= $(SUBDIRS:=/clean.target)
DISTCLEAN_TARGETS= $(SUBDIRS:=/distclean.target)
EXTRACLEAN_TARGETS= $(SUBDIRS:=/extraclean.target)
ELCCLEAN_TARGETS= $(SUBDIRS:=/elcclean.target)
HTML_TARGETS= $(SUBDIRS:=/html.target)
INSTALL_TARGETS= $(SUBDIRS:=/install.target)
INSTALL_HTML_TARGETS= $(SUBDIRS:=/install-html.target)

# At some point we might have dependencies here...

%.target:
	[ -d $(*D) ] && $(MAKE) $(MFLAGS) -C $(*D) $(*F)

all-bytecompile: autoloads bytecompile html

autoloads: $(AUTOLOADS_TARGETS)

bytecompile: $(BYTECOMPILE_TARGETS)

bindist: $(BINDIST_TARGETS)

clean: $(CLEAN_TARGETS)

distclean: $(DISTCLEAN_TARGETS)

extraclean: $(EXTRACLEAN_TARGETS)

elcclean:
	$(XEMACS) $(BATCH) -l package-clean.el

html: $(HTML_TARGETS)

macro-list:
	-rm -f macro.list
	find . -type f -name \*.el | xargs awk -f gen-macro-list.awk > macro.list

World: extraclean all install

install: $(INSTALL_TARGETS)

install-html: $(INSTALL_HTML_TARGETS)

# Local Variables:
# mode: Makefile
# end:
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.