Source

xemacs-packages / meta-iterate.rules

Full commit
# 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 install-only

# 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)
INSTALL_ONLY_TARGETS= $(SUBDIRS:=/install-only.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)

install-only: $(INSTALL_ONLY_TARGETS)

# Local Variables:
# mode: Makefile
# end: