Divided BuildConfig into three files: BuildConfig, Timezones, and libgccObjects.
That makes fine tuning any of them a nicer experience. You have to rerun ./configure in order to build anything. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11056 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -34,16 +34,28 @@ HCACHEFILE = header_cache ;
|
|||||||
JCACHEFILE = jamfile_cache ;
|
JCACHEFILE = jamfile_cache ;
|
||||||
LOCATE on $(HCACHEFILE) $(JCACHEFILE) = $(OBOS_BUILD_DIR) ;
|
LOCATE on $(HCACHEFILE) $(JCACHEFILE) = $(OBOS_BUILD_DIR) ;
|
||||||
|
|
||||||
# Include BuildConfig
|
# Include BuildConfig/Timezones/libgccObjects
|
||||||
{
|
{
|
||||||
local buildConfig = [ GLOB $(OBOS_BUILD_DIR) : BuildConfig ] ;
|
local buildConfig = [ GLOB $(OBOS_BUILD_DIR) : BuildConfig ] ;
|
||||||
if ! $(buildConfig)
|
local timezones = [ GLOB $(OBOS_BUILD_DIR) : Timezones ] ;
|
||||||
{
|
local libgccObjects = [ GLOB $(OBOS_BUILD_DIR) : libgccObjects ] ;
|
||||||
ECHO "No BuildConfig found in $(OBOS_BUILD_DIR)!" ;
|
|
||||||
|
if ! $(buildConfig) {
|
||||||
|
ECHO "No `BuildConfig' found in $(OBOS_BUILD_DIR)!" ;
|
||||||
EXIT "Run ./configure in the source tree's root directory first!" ;
|
EXIT "Run ./configure in the source tree's root directory first!" ;
|
||||||
}
|
}
|
||||||
|
if ! ( $(timezones) && $(libgccObjects) ) {
|
||||||
|
ECHO "No `Timezones' or `libgccObjects' found in $(OBOS_BUILD_DIR)!" ;
|
||||||
|
EXIT "Please run ./configure in the source tree's root directory again!" ;
|
||||||
|
}
|
||||||
|
|
||||||
LOCATE on BuildConfig = $(OBOS_BUILD_DIR) ;
|
LOCATE on BuildConfig = $(OBOS_BUILD_DIR) ;
|
||||||
|
LOCATE on Timezones = $(OBOS_BUILD_DIR) ;
|
||||||
|
LOCATE on libgccObjects = $(OBOS_BUILD_DIR) ;
|
||||||
|
|
||||||
include BuildConfig ;
|
include BuildConfig ;
|
||||||
|
include Timezones ;
|
||||||
|
include libgccObjects ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# analyze GCC version
|
# analyze GCC version
|
||||||
|
|||||||
@@ -123,21 +123,35 @@ PLATFORM_LINKLIBS ?= ${PLATFORM_LINKLIBS} ;
|
|||||||
PLATFORM_HEADERS ?= ${PLATFORM_HEADERS} ;
|
PLATFORM_HEADERS ?= ${PLATFORM_HEADERS} ;
|
||||||
GCC_RAW_VERSION ?= ${gcc_version} ;
|
GCC_RAW_VERSION ?= ${gcc_version} ;
|
||||||
LIBGCC_DIR ?= ${LIBGCC_DIR} ;
|
LIBGCC_DIR ?= ${LIBGCC_DIR} ;
|
||||||
LIBGCC_OBJECTS ?= ${LIBGCC_OBJECTS} ;
|
|
||||||
BOCHS_DEBUG_HACK ?= ${bochs_debug} ;
|
BOCHS_DEBUG_HACK ?= ${bochs_debug} ;
|
||||||
INCLUDE_GPL_ADDONS ?= ${include_gpl_addons} ;
|
INCLUDE_GPL_ADDONS ?= ${include_gpl_addons} ;
|
||||||
TARGET_PLATFORM ?= ${target} ;
|
TARGET_PLATFORM ?= ${target} ;
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# Libgcc.a objects
|
||||||
|
|
||||||
|
cat << EOF > build/libgccObjects
|
||||||
|
# libgcc.a objects to be linked against libroot.so
|
||||||
|
# Note: This file has been automatically generated by configure.
|
||||||
|
|
||||||
|
LIBGCC_OBJECTS ?= ${LIBGCC_OBJECTS} ;
|
||||||
|
EOF
|
||||||
|
|
||||||
# Generate Timezones binaries bindings
|
# Generate Timezones binaries bindings
|
||||||
|
|
||||||
|
cat << EOF > build/Timezones
|
||||||
|
# Timezones used for the build
|
||||||
|
# Note: This file has been automatically generated by configure.
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
timezones=`echo src/data/etc/timezones/* | sed -e s@src/data/etc/timezones/CVS@@`
|
timezones=`echo src/data/etc/timezones/* | sed -e s@src/data/etc/timezones/CVS@@`
|
||||||
for f in ${timezones};
|
for f in ${timezones};
|
||||||
do
|
do
|
||||||
|
|
||||||
TZOBJECTS=`gawk '/^Zone/ { print $2 } /^Link/ { print $3 } ' $f `
|
TZOBJECTS=`gawk '/^Zone/ { print $2 } /^Link/ { print $3 } ' $f `
|
||||||
|
|
||||||
cat << EOF >> build/BuildConfig
|
cat << EOF >> build/Timezones
|
||||||
TZ_OBJECTS on <src!data!etc!timezones>${f##src/data/etc/timezones/} ?= $TZOBJECTS ;
|
TZ_OBJECTS on <src!data!etc!timezones>${f##src/data/etc/timezones/} ?= $TZOBJECTS ;
|
||||||
EOF
|
EOF
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user