Ignore:
Timestamp:
May 29, 2007, 3:16:10 AM (18 years ago)
Author:
bird
Message:

Working on inhertiance. Added target inherting but it's a bit restricted by the expansion order currently (it not tested either).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/header.kmk

    r984 r985  
    124124
    125125#
    126 # The OSes and Architectures that kBuild recognizes.
     126# The OSes, Architectures and CPUs that kBuild recognizes.
    127127#
    128128# When kBuild is ported to a new OS or architecture a unique keyword needs
     
    131131# build types. (PORTME)
    132132#
    133 KBUILD_OSES   = darwin freebsd l4 linux netbsd nt openbsd os2 solaris win
    134 KBUILD_ARCHES = x86 amd64 sparc32 sparc64 mips32 mips64 ppc32 ppc64
     133KBUILD_OSES   := darwin freebsd l4 linux netbsd nt openbsd os2 solaris win
     134KBUILD_ARCHES := x86 amd64 sparc32 sparc64 mips32 mips64 ppc32 ppc64
    135135
    136136
     
    531531
    532532
    533 #
    534 #
    535 #
    536 
    537533## PROPS_TOOLS
    538 # This is a subset of the other PROPS
     534# This is a subset of PROPS_SINGLE.
    539535PROPS_TOOLS := TOOL CTOOL CXXTOOL ASTOOL RCTOOL ARTOOL LDTOOL FETCHTOOL UNPACKTOOL PATCHTOOL
    540536
     
    545541PROPS_SINGLE := $(PROPS_TOOLS) INST NOINST BLD_TYPE BLD_TRG BLD_TRG_ARCH BLD_TRG_CPU FETCHDIR \
    546542        OBJSUFF COBJSUFF CXXOBJSUFF ASOBJSUFF RCOBJSUFF SYSSUFF EXESUFF DLLSUFF LIBSUFF ARLIBSUFF
     543## PROPS_SINGLE_LNK
     544# Subset of PROPS_SINGLE which applies to all linkable targets.
     545PROPS_SINGLE_LNK := TOOL CTOOL CXXTOOL ASTOOL RCTOOL \
     546    INST NOINST BLD_TYPE BLD_TRG BLD_TRG_ARCH BLD_TRG_CPU \
     547        OBJSUFF COBJSUFF CXXOBJSUFF ASOBJSUFF RCOBJSUFF
    547548
    548549## PROPS_DEFERRED
    549550# This list of non-accumulative target properties which are or may be
    550551# functions, and thus should not be expanded until the very last moment.
    551 PROPS_DEFERRED := INSTFUN INSTALLER PRE_CMDS POST_CMDS NAME
     552PROPS_DEFERRED := INSTFUN INSTALLER PRE_CMDS POST_CMDS NAME SONAME
    552553
    553554## PROPS_ACCUMULATE_R
     
    557558# will do the necessary inheritance from templates to targets.
    558559PROPS_ACCUMULATE_R := \
    559         DEFS DEPS ORDERDEPS \
     560        DEPS ORDERDEPS DEFS \
     561        ARFLAGS \
    560562        CFLAGS CDEFS \
    561563        CXXFLAGS CXXDEFS \
     
    565567        IDFLAGS IFDLAGS ISFLAGS \
    566568        FETCHFLAGS UNPACKFLAGS PATCHFLAGS
     569## PROPS_ACCUMULATE_R_LNK
     570# Subset of PROPS_ACCUMULATE_R which applies to all linkable targets.
     571PROPS_ACCUMULATE_R_LNK := \
     572        DEPS ORDERDEPS DEFS \
     573        CFLAGS CDEFS \
     574        CXXFLAGS CXXDEFS \
     575        ASFLAGS ASDEFS \
     576        RCFLAGS RCDEFS \
     577        IDFLAGS IFDLAGS ISFLAGS
    567578
    568579## PROPS_ACCUMULATE
     
    575586        INCS CINCS CXXINCX ASINCS RCINCS \
    576587        LIBS LIBPATH \
    577         DIRS BLDDIRS \
    578         CLEAN
     588        DIRS BLDDIRS CLEAN
     589## PROPS_ACCUMULATE_L_LNK
     590# Subset of PROPS_ACCUMULATE_L which applies to all linkable targets.
     591PROPS_ACCUMULATE_L_LNK := \
     592        SDKS SOURCES \
     593        INCS CINCS CXXINCX ASINCS RCINCS \
     594        BLDDIRS CLEAN
    579595
    580596## PROPS_ALL
    581597# List of all the properties.
    582598PROPS_ALL = $(PROPS_SINGLE) $(PROPS_DEFERRED) $(PROPS_ACCUMULATE_L) $(PROPS_ACCUMULATE_R)
     599
     600
     601## @name Properties valid on programs (BLDPROGS and PROGRAMS)
     602## @{
     603PROPS_PROGRAMS_SINGLE        := $(PROPS_SINGLE_LNK) LDTOOL EXESUFF
     604PROPS_PROGRAMS_DEFERRED      := $(PROPS_DEFERRED)
     605PROPS_PROGRAMS_ACCUMULATE_R  := $(PROPS_ACCUMULATE_R_LNK) LDFLAGS
     606PROPS_PROGRAMS_ACCUMULATE_L  := $(PROPS_ACCUMULATE_L_LNK) LIBS LIBPATH
     607## @}
     608
     609## @name Properties valid on libraries (LIBRARIES and IMPORT_LIBS)
     610## @{
     611PROPS_LIBRARIES_SINGLE       := $(PROPS_SINGLE_LNK) ARTOOL LIBSUFF ARLIBSUFF
     612PROPS_LIBRARIES_DEFERRED     := $(filter-out SONAME,$(PROPS_DEFERRED))
     613PROPS_LIBRARIES_ACCUMULATE_R := $(PROPS_ACCUMULATE_R_LNK) ARFLAGS
     614PROPS_LIBRARIES_ACCUMULATE_L := $(PROPS_ACCUMULATE_L_LNK)
     615## @}
     616
     617## @name Properties valid on dlls (DLLS)
     618## @{
     619PROPS_DLLS_SINGLE            := $(PROPS_SINGLE_LNK) LDTOOL DLLSUFF LIBSUFF
     620PROPS_DLLS_DEFERRED          := $(PROPS_DEFERRED)
     621PROPS_DLLS_ACCUMULATE_R      := $(PROPS_ACCUMULATE_R_LNK) LDFLAGS
     622PROPS_DLLS_ACCUMULATE_L      := $(PROPS_ACCUMULATE_L_LNK) LIBS LIBPATH
     623## @}
     624
     625## @name Properties valid on installs (INSTALLS)
     626## @{
     627PROPS_INSTALLS_SINGLE        := TOOL INST NOINST
     628PROPS_INSTALLS_DEFERRED      := INSTFUN INSTALLER
     629PROPS_INSTALLS_ACCUMULATE_R  := DEPS ORDERDEPS
     630PROPS_INSTALLS_ACCUMULATE_L  := SOURCES DIRS CLEAN
     631## @}
     632
     633## @name Properties valid on fetches (INSTALLS)
     634## @{
     635PROPS_FETCHES_SINGLE         := TOOL FETCHTOOL UNPACKTOOL PATCHTOOL INST FETCHDIR
     636PROPS_FETCHES_DEFERRED       :=
     637PROPS_FETCHES_ACCUMULATE_R   := FETCHFLAGS UNPACKFLAGS PATCHFLAGS
     638PROPS_FETCHES_ACCUMULATE_L   := SOURCES
     639## @}
    583640
    584641
Note: See TracChangeset for help on using the changeset viewer.