Source

xemacs-packages / iterate.rules

janv c6ba39c 

ben b3ece53 
scop f26c3b4 
janv c6ba39c 











james c16d4cf 

janv c6ba39c 

ben 864c565 

janv c6ba39c 

scop f26c3b4 




ben 864c565 
ben b3ece53 
ben 864c565 
scop f26c3b4 
ben 864c565 
janv c6ba39c 
youngs 1676e39 


janv c6ba39c 

ben 864c565 

youngs 1676e39 

scop f26c3b4 
youngs 1676e39 

















scop f26c3b4 
youngs 1676e39 


ben b3ece53 






youngs 1676e39 
ben b3ece53 
youngs 1676e39 
youngs a633982 

# 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., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.

#
# This is used by subdirectories that directly contain packages.
# Higher-level subdirectories should use meta-iterate.rules instead.
#

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

include ${XEMACS_PACKAGES_BASE}/meta-targets.rules

ITERATE:= $(PACKAGES)

include ${XEMACS_PACKAGES_BASE}/iterate-1.rules

# Master rule to pass down actual building 
# Use a static pattern because of the extra dependencies
$(ALL_TARGETS) : %.target:
	[ -d $(*D) ] && $(MAKE) $(MFLAGS) -C $(*D) $(*F)

.PHONY: $(ALL_TARGETS) 

# Standard dependencies

# $(BYTECOMPILE_TARGETS): %bytecompile.target: %autoloads.target

# Optionally put in fake rules for packages that we cannot
# recursively build (yet)
ifneq ($(strip (ASSUMED_PRESENT)),)
ASSUMED_TARGETS = $(foreach package,$(ASSUMED_PRESENT), \
			$(package)/autoloads.target \
			$(package)/compile.target )

$(ASSUMED_TARGETS):
	-
endif

# Generate and load inter-package dependencies

DEPENDS_FILE_NAME = pdepends.mk

DEPENDS_FILES = $(PACKAGES:=/$(DEPENDS_FILE_NAME))

$(DEPENDS_FILES): %$(DEPENDS_FILE_NAME): %Makefile $(XEMACS_PACKAGES_BASE)/XEmacs.rules
	$(MAKE) $(MFLAGS) -C $(*D) TARGET_BASE=$(dir $(*D)) \
		$(DEPENDS_FILE_NAME)

# Compute, based on the target given on the command line, whether we need
# to load and recompute the pdepends.mk files (this happens automatically
# for any Makefile loaded or executed, if the name of the file appears
# as a target)
# 

ifeq ($($(MAKECMDGOALS)_NEED_PDEPENDS),t)
include $(DEPENDS_FILES)
endif

# Local Variables:
# mode: Makefile
# end: