source: trunk/kBuild/subfooter.kmk@ 729

Last change on this file since 729 was 729, checked in by bird, 19 years ago

The target _PATH property should be working now.

  • Property svn:keywords set to Id
File size: 2.5 KB
RevLine 
[665]1# $Id: subfooter.kmk 729 2006-12-17 02:12:07Z bird $
[472]2## @file
3#
4# kBuild - File included at bottom of a makefile or sub-makefile.
5#
6# Copyright (c) 2006 knut st. osmundsen <bird-srcspam@anduin.net>
7#
8#
9# This file is part of kBuild.
10#
11# kBuild is free software; you can redistribute it and/or modify
12# it under the terms of the GNU General Public License as published by
13# the Free Software Foundation; either version 2 of the License, or
14# (at your option) any later version.
15#
16# kBuild is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with kBuild; if not, write to the Free Software
23# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24#
25#
26
[725]27
28#
29# Set the default path for all new targets.
30#
31define def_subheader
32ifndef $(target)_PATH
33$(target)_PATH := $(PATH_SUB_CURRENT)
[472]34endif
[725]35ifndef $(target)_MAKEFILE
36$(target)_MAKEFILE := $(MAKEFILE_CURRENT)
37endif
38endef
[472]39
[725]40$(foreach target,\
41 $(ALL_TARGETS) \
42 $(FETCHES) $(FETCHES.$(BUILD_TARGET)) $(FETCHES.$(BUILD_TARGET).$(BUILD_TARGET_ARCH)) \
43 $(PATCHES) $(PATCHES.$(BUILD_TARGET)) $(PATCHES.$(BUILD_TARGET).$(BUILD_TARGET_ARCH)) \
44 $(BLDPROGS) $(BLDPROGS.$(BUILD_PLATFORM)) $(BLDPROGS.$(BUILD_PLATFORM).$(BUILD_PLATFORM_ARCH)) \
45 $(LIBRARIES) $(LIBRARIES.$(BUILD_TARGET)) $(LIBRARIES.$(BUILD_TARGET).$(BUILD_TARGET_ARCH)) \
46 $(IMPORT_LIBS) $(IMPORT_LIBS.$(BUILD_TARGET)) $(IMPORT_LIBS.$(BUILD_TARGET).$(BUILD_TARGET_ARCH)) \
47 $(DLLS) $(DLLS.$(BUILD_TARGET)) $(DLLS.$(BUILD_TARGET).$(BUILD_TARGET_ARCH)) \
48 $(PROGRAMS) $(PROGRAMS.$(BUILD_TARGET)) $(PROGRAMS.$(BUILD_TARGET).$(BUILD_TARGET_ARCH)) \
49 $(SYSMODS) $(SYSMODS.$(BUILD_TARGET)) $(SYSMODS.$(BUILD_TARGET).$(BUILD_TARGET_ARCH)) \
50 $(INSTALLS) $(INSTALLS.$(BUILD_TARGET)) $(INSTALLS.$(BUILD_TARGET).$(BUILD_TARGET_ARCH)) \
51 $(OTHERS) $(OTHERS.$(BUILD_TARGET)) $(OTHERS.$(BUILD_TARGET).$(BUILD_TARGET_ARCH)) \
52,$(eval $(def_subheader)))
53
54
55#
56# Switch back to the context of previous makefile on the stack.
57#
58MAKEFILE_CURRENT := $(call stack-pop,_SUB_MAKEFILE_STACK)
[729]59PATH_SUB_CURRENT := $(abspath $(dir $(MAKEFILE_CURRENT)))
[725]60
61#
62# When we reach the last makefile we include the footer.
63#
64ifeq ($(_SUB_MAKEFILE_STACK),)
65 include $(PATH_KBUILD)/footer.kmk
66endif
67
[729]68
Note: See TracBrowser for help on using the repository browser.