mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: collect arch-specific directly under platforms/
- platforms/WM_OPTIONS/lib
old: lib/WM_OPTIONS
- platforms/WM_OPTIONS/bin
old: bin/WM_OPTIONS
old: applications/bin/WM_OPTIONS
A runtime environment nows needs
- bin/
- etc/
- platforms/
This commit is contained in:
@ -1 +1 @@
|
|||||||
EXE_LIBS = $(LIB_WM_OPTIONS_DIR)/libfbsdmalloc.o
|
EXE_LIBS = $(FOAM_EXT_LIBBIN)/libfbsdmalloc.o
|
||||||
|
|||||||
11
bin/foamPack
11
bin/foamPack
@ -73,13 +73,10 @@ do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# check for essential directories
|
# check for essential directories
|
||||||
for dir in $packDir
|
[ -d $packDir ] || {
|
||||||
do
|
echo "Error: directory $packDir does not exist" 1>&2
|
||||||
[ -d $dir ] || {
|
exit 1
|
||||||
echo "Error: directory $dir does not exist" 1>&2
|
}
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -57,10 +57,29 @@ esac
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# obtain archOptions types from lib/
|
if [ -d $packDir/lib ]
|
||||||
for archOptions in $packDir/lib/*
|
then
|
||||||
do
|
|
||||||
$binDir/$packBin $@ ${archOptions##*/}
|
# obtain archOptions types from lib/<archOptions>
|
||||||
done
|
for archOptions in $packDir/lib/*
|
||||||
|
do
|
||||||
|
$binDir/$packBin $@ ${archOptions##*/}
|
||||||
|
done
|
||||||
|
|
||||||
|
elif [ -d $packDir/platforms ]
|
||||||
|
|
||||||
|
# obtain archOptions types from platforms/<archOptions>/lib
|
||||||
|
for archOptions in $packDir/platforms/*/lib
|
||||||
|
do
|
||||||
|
archOptions=${archOptions%%/lib}
|
||||||
|
$binDir/$packBin $@ ${archOptions##*/}
|
||||||
|
done
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
echo "Error: directory $packDir does not appear packable" 1>&2
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -72,13 +72,10 @@ do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# check for essential directories
|
# check for essential directories
|
||||||
for dir in $packDir
|
[ -d $packDir ] || {
|
||||||
do
|
echo "Error: directory $packDir does not exist" 1>&2
|
||||||
[ -d $dir ] || {
|
exit 1
|
||||||
echo "Error: directory $dir does not exist" 1>&2
|
}
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -67,19 +67,35 @@ arch3264=$(echo "$archOS" | sed -e 's@64@-64@')
|
|||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
# check for essential directories
|
# check for essential directories
|
||||||
for dir in $packDir $packDir/lib/$archOptions
|
[ -d $packDir ] || {
|
||||||
do
|
echo "Error: directory $packDir does not exist" 1>&2
|
||||||
[ -d $dir ] || {
|
exit 1
|
||||||
echo "Error: directory $dir does not exist" 1>&2
|
}
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
done
|
|
||||||
|
|
||||||
# check new/old places for executables - same as $FOAM_APPBIN
|
|
||||||
[ -d $packDir/bin/$archOptions -o -d $packDir/applications/bin/$archOptions ] || {
|
#
|
||||||
|
# check places for libraries - same as $FOAM_LIBBIN
|
||||||
|
# this has moved around a bit in the recent past
|
||||||
|
#
|
||||||
|
[ -d $packDir/lib/$archOptions ] || \
|
||||||
|
[ -d $packDir/platforms/$archOptions/lib ] || {
|
||||||
|
cat <<LIB_CHECK 1>&2
|
||||||
|
Error: no directory for libraries exists:
|
||||||
|
$packDir/lib/$archOptions
|
||||||
|
$packDir/platforms/$archOptions/lib
|
||||||
|
LIB_CHECK
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# check places for executables - same as $FOAM_APPBIN
|
||||||
|
# this has moved around a bit in the recent past
|
||||||
|
#
|
||||||
|
[ -d $packDir/applications/bin/$archOptions ] || \
|
||||||
|
[ -d $packDir/platforms/$archOptions/bin ] || {
|
||||||
cat <<BIN_CHECK 1>&2
|
cat <<BIN_CHECK 1>&2
|
||||||
Error: no directory for executables exists:
|
Error: no directory for executables exists:
|
||||||
$packDir/bin/$archOptions
|
$packDir/platforms/$archOptions/bin
|
||||||
$packDir/applications/bin/$archOptions
|
$packDir/applications/bin/$archOptions
|
||||||
BIN_CHECK
|
BIN_CHECK
|
||||||
exit 1
|
exit 1
|
||||||
@ -90,14 +106,15 @@ BIN_CHECK
|
|||||||
# list of directories
|
# list of directories
|
||||||
dirList=$(
|
dirList=$(
|
||||||
for dir in \
|
for dir in \
|
||||||
$packDir/bin/$archOptions \
|
$packDir/platforms/$archOptions/bin \
|
||||||
$packDir/lib/$archOptions \
|
$packDir/platforms/$archOptions/lib \
|
||||||
$packDir/applications/bin/$archOptions \
|
|
||||||
$packDir/wmake/bin/$archCompiler \
|
$packDir/wmake/bin/$archCompiler \
|
||||||
$packDir/wmake/bin/$archOS \
|
$packDir/wmake/bin/$archOS \
|
||||||
$packDir/wmake/rules/General \
|
$packDir/wmake/rules/General \
|
||||||
$packDir/wmake/rules/$archCompiler \
|
$packDir/wmake/rules/$archCompiler \
|
||||||
$packDir/wmake/rules/$archOS \
|
$packDir/wmake/rules/$archOS \
|
||||||
|
$packDir/applications/bin/$archOptions \
|
||||||
|
$packDir/lib/$archOptions \
|
||||||
;
|
;
|
||||||
do
|
do
|
||||||
[ -d $dir ] && echo $dir
|
[ -d $dir ] && echo $dir
|
||||||
|
|||||||
@ -66,7 +66,7 @@ arch3264=$(echo "$archOS" | sed -e 's@64@-64@')
|
|||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# check for essential directories
|
# check for essential directories
|
||||||
for dir in $packDir $packDir/lib/$archOptions
|
for dir in $packDir $packDir/platforms/$archOptions/lib
|
||||||
do
|
do
|
||||||
[ -d $dir ] || {
|
[ -d $dir ] || {
|
||||||
echo "Error: directory $dir does not exist" 1>&2
|
echo "Error: directory $dir does not exist" 1>&2
|
||||||
@ -78,12 +78,6 @@ done
|
|||||||
# list of directories
|
# list of directories
|
||||||
dirList=$(
|
dirList=$(
|
||||||
for dir in \
|
for dir in \
|
||||||
$packDir/bin/$archOptions \
|
|
||||||
$packDir/bin/$archCompiler \
|
|
||||||
$packDir/bin/$archOS \
|
|
||||||
$packDir/lib/$archOptions \
|
|
||||||
$packDir/lib/$archCompiler \
|
|
||||||
$packDir/lib/$archOS \
|
|
||||||
$packDir/platforms/$archOptions \
|
$packDir/platforms/$archOptions \
|
||||||
$packDir/platforms/$archCompiler \
|
$packDir/platforms/$archCompiler \
|
||||||
$packDir/platforms/$archOS \
|
$packDir/platforms/$archOS \
|
||||||
|
|||||||
@ -48,20 +48,20 @@ setenv WM_LINK_LANGUAGE c++
|
|||||||
setenv WM_OPTIONS $WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION
|
setenv WM_OPTIONS $WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION
|
||||||
|
|
||||||
# base executables/libraries
|
# base executables/libraries
|
||||||
setenv FOAM_APPBIN $WM_PROJECT_DIR/bin/$WM_OPTIONS
|
setenv FOAM_APPBIN $WM_PROJECT_DIR/platforms/$WM_OPTIONS/bin
|
||||||
setenv FOAM_LIBBIN $WM_PROJECT_DIR/lib/$WM_OPTIONS
|
setenv FOAM_LIBBIN $WM_PROJECT_DIR/platforms/$WM_OPTIONS/lib
|
||||||
|
|
||||||
# external (ThirdParty) libraries
|
# external (ThirdParty) libraries
|
||||||
setenv FOAM_EXT_LIBBIN $WM_THIRD_PARTY_DIR/lib/$WM_OPTIONS
|
setenv FOAM_EXT_LIBBIN $WM_THIRD_PARTY_DIR/platforms/$WM_OPTIONS/lib
|
||||||
|
|
||||||
# shared site executables/libraries
|
# shared site executables/libraries
|
||||||
# similar naming convention as ~OpenFOAM expansion
|
# similar naming convention as ~OpenFOAM expansion
|
||||||
setenv FOAM_SITE_APPBIN $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/bin/$WM_OPTIONS
|
setenv FOAM_SITE_APPBIN $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/platforms/$WM_OPTIONS/bin
|
||||||
setenv FOAM_SITE_LIBBIN $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/lib/$WM_OPTIONS
|
setenv FOAM_SITE_LIBBIN $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/platforms/$WM_OPTIONS/lib
|
||||||
|
|
||||||
# user executables/libraries
|
# user executables/libraries
|
||||||
setenv FOAM_USER_APPBIN $WM_PROJECT_USER_DIR/bin/$WM_OPTIONS
|
setenv FOAM_USER_APPBIN $WM_PROJECT_USER_DIR/platforms/$WM_OPTIONS/bin
|
||||||
setenv FOAM_USER_LIBBIN $WM_PROJECT_USER_DIR/lib/$WM_OPTIONS
|
setenv FOAM_USER_LIBBIN $WM_PROJECT_USER_DIR/platforms/$WM_OPTIONS/lib
|
||||||
|
|
||||||
# convenience
|
# convenience
|
||||||
setenv FOAM_APP $WM_PROJECT_DIR/applications
|
setenv FOAM_APP $WM_PROJECT_DIR/applications
|
||||||
|
|||||||
@ -71,20 +71,20 @@ export WM_LINK_LANGUAGE=c++
|
|||||||
export WM_OPTIONS=$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION
|
export WM_OPTIONS=$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION
|
||||||
|
|
||||||
# base executables/libraries
|
# base executables/libraries
|
||||||
export FOAM_APPBIN=$WM_PROJECT_DIR/bin/$WM_OPTIONS
|
export FOAM_APPBIN=$WM_PROJECT_DIR/platforms/$WM_OPTIONS/bin
|
||||||
export FOAM_LIBBIN=$WM_PROJECT_DIR/lib/$WM_OPTIONS
|
export FOAM_LIBBIN=$WM_PROJECT_DIR/platforms/$WM_OPTIONS/lib
|
||||||
|
|
||||||
# external (ThirdParty) libraries
|
# external (ThirdParty) libraries
|
||||||
export FOAM_EXT_LIBBIN=$WM_THIRD_PARTY_DIR/lib/$WM_OPTIONS
|
export FOAM_EXT_LIBBIN=$WM_THIRD_PARTY_DIR/platforms/$WM_OPTIONS/lib
|
||||||
|
|
||||||
# shared site executables/libraries
|
# shared site executables/libraries
|
||||||
# similar naming convention as ~OpenFOAM expansion
|
# similar naming convention as ~OpenFOAM expansion
|
||||||
export FOAM_SITE_APPBIN=$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/bin/$WM_OPTIONS
|
export FOAM_SITE_APPBIN=$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/platforms/$WM_OPTIONS/bin
|
||||||
export FOAM_SITE_LIBBIN=$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/lib/$WM_OPTIONS
|
export FOAM_SITE_LIBBIN=$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/platforms/$WM_OPTIONS/lib
|
||||||
|
|
||||||
# user executables/libraries
|
# user executables/libraries
|
||||||
export FOAM_USER_APPBIN=$WM_PROJECT_USER_DIR/bin/$WM_OPTIONS
|
export FOAM_USER_APPBIN=$WM_PROJECT_USER_DIR/platforms/$WM_OPTIONS/bin
|
||||||
export FOAM_USER_LIBBIN=$WM_PROJECT_USER_DIR/lib/$WM_OPTIONS
|
export FOAM_USER_LIBBIN=$WM_PROJECT_USER_DIR/platforms/$WM_OPTIONS/lib
|
||||||
|
|
||||||
# convenience
|
# convenience
|
||||||
export FOAM_APP=$WM_PROJECT_DIR/applications
|
export FOAM_APP=$WM_PROJECT_DIR/applications
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
# ========= |
|
# ========= |
|
||||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
# \\ / O peration |
|
# \\ / O peration |
|
||||||
# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
|
# \\ / A nd | Copyright (C) 1991-2011 OpenCFD Ltd.
|
||||||
# \\/ M anipulation |
|
# \\/ M anipulation |
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# License
|
# License
|
||||||
@ -56,8 +56,7 @@ WM_SCRIPTS = $(WM_DIR)/scripts
|
|||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
LIB_SRC = $(WM_PROJECT_DIR)/src
|
LIB_SRC = $(WM_PROJECT_DIR)/src
|
||||||
LIB_DIR = $(WM_PROJECT_DIR)/lib
|
LIB_PLATFORMS = $(WM_PROJECT_DIR)/platforms/$(WM_OPTIONS)/lib
|
||||||
LIB_WM_OPTIONS_DIR = $(LIB_DIR)/$(WM_OPTIONS)
|
|
||||||
OBJECTS_DIR = $(MAKE_DIR)/$(WM_OPTIONS)
|
OBJECTS_DIR = $(MAKE_DIR)/$(WM_OPTIONS)
|
||||||
CLASSES_DIR = $(MAKE_DIR)/classes
|
CLASSES_DIR = $(MAKE_DIR)/classes
|
||||||
|
|
||||||
@ -148,7 +147,7 @@ LIB_HEADER_DIRS = \
|
|||||||
|
|
||||||
$(EXE): $(OBJECTS)
|
$(EXE): $(OBJECTS)
|
||||||
@$(WM_SCRIPTS)/makeTargetDir $(EXE)
|
@$(WM_SCRIPTS)/makeTargetDir $(EXE)
|
||||||
$(LINKEXE) $(OBJECTS) -L$(LIB_WM_OPTIONS_DIR) \
|
$(LINKEXE) $(OBJECTS) -L$(LIB_PLATFORMS) \
|
||||||
$(EXE_LIBS) $(PROJECT_LIBS) $(SYS_LIBS) $(LINK_LIBS) $(GLIBS) -o $(EXE)
|
$(EXE_LIBS) $(PROJECT_LIBS) $(SYS_LIBS) $(LINK_LIBS) $(GLIBS) -o $(EXE)
|
||||||
|
|
||||||
exe: $(SEXE)
|
exe: $(SEXE)
|
||||||
@ -173,7 +172,7 @@ $(LIB).$(SO): $(OBJECTS)
|
|||||||
@$(WM_SCRIPTS)/makeTargetDir $(LIB)
|
@$(WM_SCRIPTS)/makeTargetDir $(LIB)
|
||||||
@rm -f so_locations
|
@rm -f so_locations
|
||||||
@cd $(OBJECTS_DIR) ; \
|
@cd $(OBJECTS_DIR) ; \
|
||||||
$(LINKLIBSO) $(LOCAL_OBJECTS) -L$(LIB_WM_OPTIONS_DIR) $(LIB_LIBS) $(GLIB_LIBS) -o $(LIB).$(SO)
|
$(LINKLIBSO) $(LOCAL_OBJECTS) -L$(LIB_PLATFORMS) $(LIB_LIBS) $(GLIB_LIBS) -o $(LIB).$(SO)
|
||||||
|
|
||||||
lib: $(LIB).a
|
lib: $(LIB).a
|
||||||
@echo \'$(LIB).a\' is up to date.
|
@echo \'$(LIB).a\' is up to date.
|
||||||
|
|||||||
Reference in New Issue
Block a user