Reorganization as separate pcas module
This commit is contained in:
32
.travis.yml
32
.travis.yml
@@ -1,32 +0,0 @@
|
|||||||
sudo: false
|
|
||||||
dist: trusty
|
|
||||||
language: c
|
|
||||||
compiler:
|
|
||||||
- gcc
|
|
||||||
env:
|
|
||||||
- CMPLR=gcc
|
|
||||||
- CMPLR=gcc EXTRA=CMD_CXXFLAGS=-std=c++11
|
|
||||||
- CMPLR=gcc STATIC=YES
|
|
||||||
- CMPLR=clang
|
|
||||||
- CMPLR=clang STATIC=YES
|
|
||||||
- WINE=32 TEST=NO STATIC=YES
|
|
||||||
- WINE=32 TEST=NO STATIC=NO
|
|
||||||
- RTEMS=4.10 TEST=NO
|
|
||||||
- RTEMS=4.9 TEST=NO
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- libreadline6-dev
|
|
||||||
- libncurses5-dev
|
|
||||||
- perl
|
|
||||||
- clang
|
|
||||||
- g++-mingw-w64-i686
|
|
||||||
- bison
|
|
||||||
- flex
|
|
||||||
- texinfo
|
|
||||||
- install-info
|
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
- $HOME/.cache
|
|
||||||
install: sh ci/travis-prepare.sh </dev/null
|
|
||||||
script: sh ci/travis-build.sh </dev/null
|
|
||||||
18
Makefile
18
Makefile
@@ -1,21 +1,13 @@
|
|||||||
#*************************************************************************
|
# Makefile at top of application tree
|
||||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
|
|
||||||
TOP = .
|
TOP = .
|
||||||
include $(TOP)/configure/CONFIG
|
include $(TOP)/configure/CONFIG
|
||||||
|
|
||||||
# Bootstrap resolution: tools not installed yet
|
# Directories to build, any order
|
||||||
TOOLS = $(TOP)/src/tools
|
DIRS += configure
|
||||||
|
DIRS += src
|
||||||
|
|
||||||
DIRS += configure src
|
# Add any additional dependency rules here:
|
||||||
|
|
||||||
src_DEPEND_DIRS = configure
|
src_DEPEND_DIRS = configure
|
||||||
|
|
||||||
include $(TOP)/configure/RULES_TOP
|
include $(TOP)/configure/RULES_TOP
|
||||||
|
|
||||||
|
|||||||
24
README
24
README
@@ -1,24 +0,0 @@
|
|||||||
---------------------------------------------------------
|
|
||||||
EPICS Base - the central core of a control system toolkit
|
|
||||||
---------------------------------------------------------
|
|
||||||
|
|
||||||
Copyright UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
National Laboratory.
|
|
||||||
Copyright (c) 1991-2003 The Regents of the University of
|
|
||||||
California, as Operator of Los Alamos National Laboratory.
|
|
||||||
|
|
||||||
EPICS Base is distributed subject to a Software License
|
|
||||||
Agreement found in the file LICENSE that is included with
|
|
||||||
this distribution.
|
|
||||||
|
|
||||||
---------------------------------------------------------
|
|
||||||
|
|
||||||
Installation and release information can be found in the
|
|
||||||
various files in the documentation subdirectory.
|
|
||||||
|
|
||||||
Additional information about EPICS including mailing list
|
|
||||||
archives and subscription instructions, documentation and
|
|
||||||
training materials, additional components, links to other
|
|
||||||
websites etc. is available on the EPICS home page at
|
|
||||||
http://www.aps.anl.gov/epics/
|
|
||||||
|
|
||||||
86
appveyor.yml
86
appveyor.yml
@@ -1,86 +0,0 @@
|
|||||||
# AppVeyor configuration for EPICS Base
|
|
||||||
|
|
||||||
# Ralph Lange <ralph.lange@gmx.de>
|
|
||||||
# Copyright (c) 2016-2017 ITER Organization
|
|
||||||
|
|
||||||
# Version format
|
|
||||||
version: base-{branch}-{build}
|
|
||||||
|
|
||||||
#---------------------------------#
|
|
||||||
# repository cloning #
|
|
||||||
#---------------------------------#
|
|
||||||
|
|
||||||
# Called at very beginning, before repo cloning
|
|
||||||
init:
|
|
||||||
# Set autocrlf to make batch files work
|
|
||||||
- git config --global core.autocrlf true
|
|
||||||
|
|
||||||
# Set clone depth (do not fetch complete history)
|
|
||||||
clone_depth: 2
|
|
||||||
|
|
||||||
# Skipping commits affecting only specific files
|
|
||||||
skip_commits:
|
|
||||||
files:
|
|
||||||
- 'documentation/*'
|
|
||||||
- 'templates/*'
|
|
||||||
- '**/*.html'
|
|
||||||
- '**/*.md'
|
|
||||||
|
|
||||||
#---------------------------------#
|
|
||||||
# build matrix configuration #
|
|
||||||
#---------------------------------#
|
|
||||||
|
|
||||||
# Build Configurations: dll/static, regular/debug
|
|
||||||
configuration:
|
|
||||||
- dynamic
|
|
||||||
- static
|
|
||||||
- dynamic-debug
|
|
||||||
- static-debug
|
|
||||||
|
|
||||||
# Environment variables: compiler toolchain
|
|
||||||
environment:
|
|
||||||
matrix:
|
|
||||||
- TOOLCHAIN: 9.0
|
|
||||||
- TOOLCHAIN: 10.0
|
|
||||||
- TOOLCHAIN: 11.0
|
|
||||||
- TOOLCHAIN: 12.0
|
|
||||||
- TOOLCHAIN: 14.0
|
|
||||||
- TOOLCHAIN: cygwin
|
|
||||||
- TOOLCHAIN: mingw
|
|
||||||
|
|
||||||
# Platform: architecture
|
|
||||||
platform:
|
|
||||||
- x86
|
|
||||||
- x64
|
|
||||||
|
|
||||||
# Matrix configuration: allow specific failing jobs
|
|
||||||
matrix:
|
|
||||||
exclude:
|
|
||||||
# VS Express installs don't have the 64 bit compiler
|
|
||||||
- platform: x64
|
|
||||||
TOOLCHAIN: 9.0
|
|
||||||
- platform: x64
|
|
||||||
TOOLCHAIN: 10.0
|
|
||||||
|
|
||||||
#---------------------------------#
|
|
||||||
# building & testing #
|
|
||||||
#---------------------------------#
|
|
||||||
|
|
||||||
install:
|
|
||||||
- cmd: ci/appveyor-prepare.bat
|
|
||||||
|
|
||||||
build_script:
|
|
||||||
- cmd: ci/appveyor-make.bat
|
|
||||||
|
|
||||||
test_script:
|
|
||||||
- cmd: ci/appveyor-make.bat runtests
|
|
||||||
|
|
||||||
#---------------------------------#
|
|
||||||
# notifications #
|
|
||||||
#---------------------------------#
|
|
||||||
|
|
||||||
notifications:
|
|
||||||
|
|
||||||
- provider: Slack
|
|
||||||
incoming_webhook:
|
|
||||||
secure: RYOm3FIUYeZGjWKaeTVKwq+C3fzK54AKwbmAoECED45mex3lN+8HmrC845a6mg9xPUJ/ND51RopWVaKDD9/UzaM0SO195RQLKqUTIUafiuM=
|
|
||||||
@@ -1,118 +0,0 @@
|
|||||||
:: Universal build script for AppVeyor (https://ci.appveyor.com/)
|
|
||||||
:: Environment:
|
|
||||||
:: TOOLCHAIN - toolchain version [9.0/10.0/11.0/12.0/14.0/cygwin/mingw]
|
|
||||||
:: CONFIGURATION - determines EPICS build [dynamic/static]
|
|
||||||
:: PLATFORM - architecture [x86/x64]
|
|
||||||
::
|
|
||||||
:: All command line args are passed to make
|
|
||||||
|
|
||||||
Setlocal EnableDelayedExpansion
|
|
||||||
|
|
||||||
set "ST="
|
|
||||||
if /i "%CONFIGURATION%"=="static" set ST=-static
|
|
||||||
|
|
||||||
set OS=64BIT
|
|
||||||
if "%PLATFORM%"=="x86" set OS=32BIT
|
|
||||||
|
|
||||||
echo [INFO] Platform: %OS%
|
|
||||||
|
|
||||||
:: Use parallel make, except for 3.14
|
|
||||||
set "MAKEARGS=-j2 -Otarget"
|
|
||||||
if "%APPVEYOR_REPO_BRANCH%"=="3.14" set MAKEARGS=
|
|
||||||
|
|
||||||
if "%TOOLCHAIN%"=="cygwin" (
|
|
||||||
set "MAKE=make"
|
|
||||||
if "%OS%"=="64BIT" (
|
|
||||||
set "EPICS_HOST_ARCH=cygwin-x86_64"
|
|
||||||
set "INCLUDE=C:\cygwin64\include;%INCLUDE%"
|
|
||||||
set "PATH=C:\cygwin64\bin;%PATH%"
|
|
||||||
echo [INFO] Cygwin Toolchain 64bit
|
|
||||||
) else (
|
|
||||||
set "EPICS_HOST_ARCH=cygwin-x86"
|
|
||||||
set "INCLUDE=C:\cygwin\include;%INCLUDE%"
|
|
||||||
set "PATH=C:\cygwin\bin;%PATH%"
|
|
||||||
echo [INFO] Cygwin Toolchain 32bit
|
|
||||||
)
|
|
||||||
echo [INFO] Compiler Version
|
|
||||||
gcc -v
|
|
||||||
goto Finish
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%TOOLCHAIN%"=="mingw" (
|
|
||||||
set "MAKE=mingw32-make"
|
|
||||||
if "%OS%"=="64BIT" (
|
|
||||||
set "EPICS_HOST_ARCH=windows-x64-mingw"
|
|
||||||
set "INCLUDE=C:\tools\mingw64\include;%INCLUDE%"
|
|
||||||
set "PATH=C:\tools\mingw64\bin;%PATH%"
|
|
||||||
echo [INFO] MinGW Toolchain 64bit
|
|
||||||
) else (
|
|
||||||
set "EPICS_HOST_ARCH=win32-x86-mingw"
|
|
||||||
set "INCLUDE=C:\tools\mingw32\include;%INCLUDE%"
|
|
||||||
set "PATH=C:\tools\mingw32\bin;%PATH%"
|
|
||||||
echo [INFO] MinGW Toolchain 32bit
|
|
||||||
)
|
|
||||||
echo [INFO] Compiler Version
|
|
||||||
gcc -v
|
|
||||||
goto Finish
|
|
||||||
)
|
|
||||||
|
|
||||||
set "VSINSTALL=C:\Program Files (x86)\Microsoft Visual Studio %TOOLCHAIN%"
|
|
||||||
set "MAKE=C:\tools\make"
|
|
||||||
|
|
||||||
if "%OS%"=="64BIT" (
|
|
||||||
set EPICS_HOST_ARCH=windows-x64%ST%
|
|
||||||
if exist "%VSINSTALL%\VC\vcvarsall.bat" (
|
|
||||||
call "%VSINSTALL%\VC\vcvarsall.bat" amd64
|
|
||||||
where cl
|
|
||||||
if !ERRORLEVEL! NEQ 0 (
|
|
||||||
call "%VSINSTALL%\VC\vcvarsall.bat" x86_amd64
|
|
||||||
where cl
|
|
||||||
if !ERRORLEVEL! NEQ 0 goto MSMissing
|
|
||||||
)
|
|
||||||
goto MSFound
|
|
||||||
)
|
|
||||||
if exist "%VSINSTALL%\VC\bin\amd64\vcvars64.bat" (
|
|
||||||
call "%VSINSTALL%\VC\bin\amd64\vcvars64.bat"
|
|
||||||
where cl
|
|
||||||
if !ERRORLEVEL! NEQ 0 goto MSMissing
|
|
||||||
goto MSFound
|
|
||||||
)
|
|
||||||
) else (
|
|
||||||
set EPICS_HOST_ARCH=win32-x86%ST%
|
|
||||||
if exist "%VSINSTALL%\VC\vcvarsall.bat" (
|
|
||||||
call "%VSINSTALL%\VC\vcvarsall.bat" x86
|
|
||||||
where cl
|
|
||||||
if !ERRORLEVEL! NEQ 0 goto MSMissing
|
|
||||||
goto MSFound
|
|
||||||
)
|
|
||||||
if exist "%VSINSTALL%\VC\bin\vcvars32.bat" (
|
|
||||||
call "%VSINSTALL%\VC\bin\vcvars32.bat"
|
|
||||||
where cl
|
|
||||||
if !ERRORLEVEL! NEQ 0 goto MSMissing
|
|
||||||
goto MSFound
|
|
||||||
)
|
|
||||||
if exist "%VSINSTALL%\Common7\Tools\vsvars32.bat" (
|
|
||||||
call "%VSINSTALL%\Common7\Tools\vsvars32.bat"
|
|
||||||
where cl
|
|
||||||
if !ERRORLEVEL! NEQ 0 goto MSMissing
|
|
||||||
goto MSFound
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
:MSMissing
|
|
||||||
echo [INFO] Installation for MSVC Toolchain %TOOLCHAIN% / %OS% seems to be missing
|
|
||||||
exit 1
|
|
||||||
|
|
||||||
:MSFound
|
|
||||||
echo [INFO] Microsoft Visual Studio Toolchain %TOOLCHAIN%
|
|
||||||
echo [INFO] Compiler Version
|
|
||||||
cl
|
|
||||||
|
|
||||||
:Finish
|
|
||||||
echo [INFO] EPICS_HOST_ARCH: %EPICS_HOST_ARCH%
|
|
||||||
echo [INFO] Make version
|
|
||||||
%MAKE% --version
|
|
||||||
echo [INFO] Perl version
|
|
||||||
perl --version
|
|
||||||
|
|
||||||
%MAKE% %MAKEARGS% %*
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
:: Build script for AppVeyor (https://ci.appveyor.com/)
|
|
||||||
:: Environment:
|
|
||||||
:: TOOLCHAIN - Toolchain Version [9.0/10.0/11.0/12.0/14.0/cygwin/mingw]
|
|
||||||
:: CONFIGURATION - determines EPICS build [dynamic/static, -debug]
|
|
||||||
:: PLATFORM - "x86" -> use 32bit architecture
|
|
||||||
::
|
|
||||||
:: Prepares an Appveyor build by excuting the following steps
|
|
||||||
:: - Set up configure\CONFIG_SITE for static vs. dynamic build
|
|
||||||
:: - Install Cygwin / Mingw (TOOLCHAIN setting) in the in the appropriate flavor
|
|
||||||
:: - Download and install Make-4.1 from EPICS download page
|
|
||||||
|
|
||||||
Setlocal EnableDelayedExpansion
|
|
||||||
|
|
||||||
set OS=64BIT
|
|
||||||
if "%PLATFORM%"=="x86" set OS=32BIT
|
|
||||||
|
|
||||||
echo [INFO] Platform: %OS%
|
|
||||||
|
|
||||||
if "%TOOLCHAIN%"=="cygwin" (
|
|
||||||
echo.%CONFIGURATION% | findstr /C:"static">nul && (
|
|
||||||
echo SHARED_LIBRARIES=NO>> configure\CONFIG_SITE
|
|
||||||
echo STATIC_BUILD=YES>> configure\CONFIG_SITE
|
|
||||||
echo [INFO] EPICS set up for static build
|
|
||||||
) || (
|
|
||||||
echo [INFO] EPICS set up for dynamic build
|
|
||||||
)
|
|
||||||
echo.%CONFIGURATION% | findstr /C:"debug">nul && (
|
|
||||||
echo HOST_OPT=NO>> configure\CONFIG_SITE
|
|
||||||
echo [INFO] EPICS set up for debug build
|
|
||||||
) || (
|
|
||||||
echo [INFO] EPICS set up for optimized build
|
|
||||||
)
|
|
||||||
if "%OS%"=="64BIT" (
|
|
||||||
echo [INFO] Installing Cygwin 64bit and dependencies
|
|
||||||
@powershell -Command "(new-object net.webclient).DownloadFile('http://www.cygwin.com/setup-x86_64.exe', 'C:\cygwin64\setup-x86_64.exe')"
|
|
||||||
C:\cygwin64\setup-x86_64.exe -q -P "libreadline-devel,libncursesw-devel"
|
|
||||||
) else (
|
|
||||||
echo [INFO] Installing Cygwin 32bit and dependencies
|
|
||||||
@powershell -Command "(new-object net.webclient).DownloadFile('http://www.cygwin.com/setup-x86.exe', 'C:\cygwin\setup-x86.exe')"
|
|
||||||
C:\cygwin\setup-x86.exe -q -P "libreadline-devel,libncursesw-devel"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%TOOLCHAIN%"=="mingw" (
|
|
||||||
echo.%CONFIGURATION% | findstr /C:"static">nul && (
|
|
||||||
echo SHARED_LIBRARIES=NO>> configure\CONFIG_SITE
|
|
||||||
echo STATIC_BUILD=YES>> configure\CONFIG_SITE
|
|
||||||
echo [INFO] EPICS set up for static build
|
|
||||||
) || (
|
|
||||||
echo [INFO] EPICS set up for dynamic build
|
|
||||||
)
|
|
||||||
echo.%CONFIGURATION% | findstr /C:"debug">nul && (
|
|
||||||
echo HOST_OPT=NO>> configure\CONFIG_SITE
|
|
||||||
echo [INFO] EPICS set up for debug build
|
|
||||||
) || (
|
|
||||||
echo [INFO] EPICS set up for optimized build
|
|
||||||
)
|
|
||||||
if "%OS%"=="64BIT" (
|
|
||||||
echo [INFO] Installing MinGW 64bit
|
|
||||||
cinst mingw || cinst mingw
|
|
||||||
) else (
|
|
||||||
echo [INFO] Installing MinGW 32bit
|
|
||||||
cinst mingw --x86 || cinst mingw --x86
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
echo [INFO] Installing Make 4.1
|
|
||||||
@powershell -Command "(new-object net.webclient).DownloadFile('https://www.aps.anl.gov/epics/download/tools/make-4.1-win64.zip', 'C:\tools\make-4.1.zip')"
|
|
||||||
cd \tools
|
|
||||||
"C:\Program Files\7-Zip\7z" e make-4.1.zip
|
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e -x
|
|
||||||
|
|
||||||
die() {
|
|
||||||
echo "$1" >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
ticker() {
|
|
||||||
while true
|
|
||||||
do
|
|
||||||
sleep 60
|
|
||||||
date -R
|
|
||||||
[ -r "$1" ] && tail -n10 "$1"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
CACHEKEY=1
|
|
||||||
|
|
||||||
EPICS_HOST_ARCH=`sh startup/EpicsHostArch`
|
|
||||||
|
|
||||||
[ -e configure/os/CONFIG_SITE.Common.linux-x86 ] || die "Wrong location: $PWD"
|
|
||||||
|
|
||||||
case "$CMPLR" in
|
|
||||||
clang)
|
|
||||||
echo "Host compiler is clang"
|
|
||||||
cat << EOF >> configure/os/CONFIG_SITE.Common.$EPICS_HOST_ARCH
|
|
||||||
GNU = NO
|
|
||||||
CMPLR_CLASS = clang
|
|
||||||
CC = clang
|
|
||||||
CCC = clang++
|
|
||||||
EOF
|
|
||||||
;;
|
|
||||||
*) echo "Host compiler is default";;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ "$STATIC" = "YES" ]
|
|
||||||
then
|
|
||||||
echo "Build static libraries/executables"
|
|
||||||
cat << EOF >> configure/CONFIG_SITE
|
|
||||||
SHARED_LIBRARIES=NO
|
|
||||||
STATIC_BUILD=YES
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
|
|
||||||
# requires wine and g++-mingw-w64-i686
|
|
||||||
if [ "$WINE" = "32" ]
|
|
||||||
then
|
|
||||||
echo "Cross mingw32"
|
|
||||||
sed -i -e '/CMPLR_PREFIX/d' configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw
|
|
||||||
cat << EOF >> configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw
|
|
||||||
CMPLR_PREFIX=i686-w64-mingw32-
|
|
||||||
EOF
|
|
||||||
cat << EOF >> configure/CONFIG_SITE
|
|
||||||
CROSS_COMPILER_TARGET_ARCHS+=win32-x86-mingw
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
|
|
||||||
# set RTEMS to eg. "4.9" or "4.10"
|
|
||||||
# requires qemu, bison, flex, texinfo, install-info
|
|
||||||
if [ -n "$RTEMS" ]
|
|
||||||
then
|
|
||||||
echo "Cross RTEMS${RTEMS} for pc386"
|
|
||||||
install -d /home/travis/.cache
|
|
||||||
curl -L "https://github.com/mdavidsaver/rsb/releases/download/travis-20160306-2/rtems${RTEMS}-i386-trusty-20190306-2.tar.gz" \
|
|
||||||
| tar -C /home/travis/.cache -xj
|
|
||||||
|
|
||||||
sed -i -e '/^RTEMS_VERSION/d' -e '/^RTEMS_BASE/d' configure/os/CONFIG_SITE.Common.RTEMS
|
|
||||||
cat << EOF >> configure/os/CONFIG_SITE.Common.RTEMS
|
|
||||||
RTEMS_VERSION=$RTEMS
|
|
||||||
RTEMS_BASE=/home/travis/.cache/rtems${RTEMS}-i386
|
|
||||||
EOF
|
|
||||||
cat << EOF >> configure/CONFIG_SITE
|
|
||||||
CROSS_COMPILER_TARGET_ARCHS+=RTEMS-pc386
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# find local qemu-system-i386
|
|
||||||
export PATH="$HOME/.cache/qemu/usr/bin:$PATH"
|
|
||||||
echo -n "Using QEMU: "
|
|
||||||
type qemu-system-i386 || echo "Missing qemu"
|
|
||||||
EXTRA=RTEMS_QEMU_FIXUPS=YES
|
|
||||||
fi
|
|
||||||
|
|
||||||
make -j2 $EXTRA
|
|
||||||
|
|
||||||
if [ "$TEST" != "NO" ]
|
|
||||||
then
|
|
||||||
make tapfiles
|
|
||||||
find . -name '*.tap' -print0 | xargs -0 -n1 prove -e cat -f
|
|
||||||
fi
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e -x
|
|
||||||
|
|
||||||
die() {
|
|
||||||
echo "$1" >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
CURDIR="$PWD"
|
|
||||||
|
|
||||||
QDIR="$HOME/.cache/qemu"
|
|
||||||
|
|
||||||
if [ -n "$RTEMS" -a "$TEST" = "YES" ]
|
|
||||||
then
|
|
||||||
git clone --quiet --branch vme --depth 10 https://github.com/mdavidsaver/qemu.git "$HOME/.build/qemu"
|
|
||||||
cd "$HOME/.build/qemu"
|
|
||||||
|
|
||||||
HEAD=`git log -n1 --pretty=format:%H`
|
|
||||||
echo "HEAD revision $HEAD"
|
|
||||||
|
|
||||||
[ -e "$HOME/.cache/qemu/built" ] && BUILT=`cat "$HOME/.cache/qemu/built"`
|
|
||||||
echo "Cached revision $BUILT"
|
|
||||||
|
|
||||||
if [ "$HEAD" != "$BUILT" ]
|
|
||||||
then
|
|
||||||
echo "Building QEMU"
|
|
||||||
git submodule --quiet update --init
|
|
||||||
|
|
||||||
install -d "$HOME/.build/qemu/build"
|
|
||||||
cd "$HOME/.build/qemu/build"
|
|
||||||
|
|
||||||
"$HOME/.build/qemu/configure" --prefix="$HOME/.cache/qemu/usr" --target-list=i386-softmmu --disable-werror
|
|
||||||
make -j2
|
|
||||||
make install
|
|
||||||
|
|
||||||
echo "$HEAD" > "$HOME/.cache/qemu/built"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "$CURDIR"
|
|
||||||
125
configure/CONFIG
125
configure/CONFIG
@@ -1,117 +1,28 @@
|
|||||||
#*************************************************************************
|
# CONFIG - Load build configuration data
|
||||||
# Copyright (c) 2013 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in the file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
|
|
||||||
#
|
|
||||||
# Common build definitions
|
|
||||||
#
|
#
|
||||||
|
# Do not make changes to this file!
|
||||||
|
|
||||||
ifneq ($(wildcard $(TOP)/configure/CONFIG_BASE_VERSION),)
|
# Allow user to override where the build rules come from
|
||||||
EPICS_BASE = $(INSTALL_LOCATION)
|
RULES = $(EPICS_BASE)
|
||||||
CONFIG = $(TOP)/configure
|
|
||||||
BASE_TOP=YES
|
|
||||||
else
|
|
||||||
CONFIG ?= $(EPICS_BASE)/configure
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Provide a default if the user hasn't set EPICS_HOST_ARCH
|
# RELEASE files point to other application tops
|
||||||
ifeq ($(origin EPICS_HOST_ARCH), undefined)
|
include $(TOP)/configure/RELEASE
|
||||||
# NB: We use a simply expanded variable here for performance:
|
-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).Common
|
||||||
EPICS_HOST_ARCH := $(shell $(CONFIG)/../startup/EpicsHostArch.pl)
|
|
||||||
endif
|
|
||||||
#
|
|
||||||
|
|
||||||
-include $(CONFIG)/RELEASE
|
|
||||||
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH)
|
|
||||||
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH).Common
|
|
||||||
ifdef T_A
|
ifdef T_A
|
||||||
-include $(CONFIG)/RELEASE.Common.$(T_A)
|
-include $(TOP)/configure/RELEASE.Common.$(T_A)
|
||||||
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH).$(T_A)
|
-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(T_A)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
include $(CONFIG)/CONFIG_COMMON
|
CONFIG = $(RULES)/configure
|
||||||
include $(CONFIG)/CONFIG_FILE_TYPE
|
include $(CONFIG)/CONFIG
|
||||||
|
|
||||||
# Base-specific build options
|
|
||||||
#
|
|
||||||
include $(CONFIG)/CONFIG_BASE
|
|
||||||
|
|
||||||
# Site-specific build options
|
|
||||||
#
|
|
||||||
include $(CONFIG)/CONFIG_SITE
|
|
||||||
|
|
||||||
# Version numbering
|
|
||||||
#
|
|
||||||
include $(CONFIG)/CONFIG_BASE_VERSION
|
|
||||||
|
|
||||||
# Host architecture specific definitions
|
|
||||||
#
|
|
||||||
include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).Common
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).Common
|
|
||||||
|
|
||||||
RELEASE_TOPS := $(shell $(CONVERTRELEASE) -T $(TOP) releaseTops)
|
|
||||||
|
|
||||||
|
# Override the Base definition:
|
||||||
|
INSTALL_LOCATION = $(TOP)
|
||||||
|
|
||||||
|
# CONFIG_SITE files contain other build configuration settings
|
||||||
|
include $(TOP)/configure/CONFIG_SITE
|
||||||
|
-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).Common
|
||||||
ifdef T_A
|
ifdef T_A
|
||||||
|
-include $(TOP)/configure/CONFIG_SITE.Common.$(T_A)
|
||||||
# Cross compile specific definitions
|
-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
|
||||||
#
|
|
||||||
ifneq ($(EPICS_HOST_ARCH),$(T_A))
|
|
||||||
include $(CONFIG)/CONFIG.CrossCommon
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Target architecture specific definitions
|
|
||||||
#
|
|
||||||
-include $(CONFIG)/os/CONFIG.Common.$(T_A)
|
|
||||||
|
|
||||||
# Host-Target architecture specific definitions
|
|
||||||
#
|
|
||||||
-include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).$(T_A)
|
|
||||||
|
|
||||||
# Site specific target and host-target definitions and overrides
|
|
||||||
#
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.Common.$(T_A)
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
|
|
||||||
|
|
||||||
# RELEASE file specific definitions
|
|
||||||
#
|
|
||||||
ifneq ($(CONFIG),$(TOP)/configure)
|
|
||||||
-include $(CONFIG)/CONFIG_APP_INCLUDE
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif # ifdef T_A
|
|
||||||
|
|
||||||
|
|
||||||
# Include <top>/cfg/CONFIG* definitions from tops defined in RELEASE* files
|
|
||||||
#
|
|
||||||
ifneq ($(CONFIG),$(TOP)/configure)
|
|
||||||
RELEASE_TOPS_REVERSE := $(shell \
|
|
||||||
$(PERL) -e '$$,=" ";print reverse @ARGV' $(RELEASE_TOPS))
|
|
||||||
RELEASE_CFG_CONFIGS = $(foreach top, $(RELEASE_TOPS_REVERSE), \
|
|
||||||
$(wildcard $($(top))/cfg/CONFIG*))
|
|
||||||
ifneq ($(RELEASE_CFG_CONFIGS),)
|
|
||||||
include $(RELEASE_CFG_CONFIGS)
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Include $(INSTALL_CFG)/CONFIG* definitions
|
|
||||||
#
|
|
||||||
TOP_CFG_CONFIGS = $(wildcard $(INSTALL_CFG)/CONFIG*)
|
|
||||||
ifneq ($(TOP_CFG_CONFIGS),)
|
|
||||||
include $(TOP_CFG_CONFIGS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# User specific definitions
|
|
||||||
#
|
|
||||||
-include $(HOME)/configure/CONFIG_USER
|
|
||||||
-include $(HOME)/configure/CONFIG_USER.$(EPICS_HOST_ARCH)
|
|
||||||
ifdef T_A
|
|
||||||
-include $(HOME)/configure/CONFIG_USER.Common.$(T_A)
|
|
||||||
-include $(HOME)/configure/CONFIG_USER.$(EPICS_HOST_ARCH).$(T_A)
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
# Cross compiler default definitions
|
|
||||||
|
|
||||||
# Build class: either HOST or CROSS
|
|
||||||
# Used to determine OPT and WARN compiler flags
|
|
||||||
BUILD_CLASS = CROSS
|
|
||||||
|
|
||||||
# Cross build: either defined or not
|
|
||||||
# Used in os/CONFIG.Common.<arch> files
|
|
||||||
# ifdef CROSS looks better than ifeq ($(BUILD_CLASS),CROSS)
|
|
||||||
CROSS = YES
|
|
||||||
|
|
||||||
GNU_TARGET_INCLUDE_DIR = $(GNU_TARGET:%= $(GNU_DIR)/%/include)
|
|
||||||
GNU_TARGET_LIB_DIR = $(GNU_TARGET:%= $(GNU_DIR)/%/lib)
|
|
||||||
|
|
||||||
CROSS_INCLUDES = $(addprefix -I,$(GNU_TARGET_INCLUDE_DIR))
|
|
||||||
CROSS_LDFLAGS = $(addprefix -L,$(GNU_TARGET_LIB_DIR))
|
|
||||||
|
|
||||||
CMPLR_PREFIX_CROSS=$(addsuffix -,$(GNU_TARGET))
|
|
||||||
CMPLR_PREFIX=$(CMPLR_PREFIX_$(BUILD_CLASS))
|
|
||||||
|
|
||||||
# Cross builds usually use the gnu compiler
|
|
||||||
include $(CONFIG)/CONFIG.gnuCommon
|
|
||||||
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE Versions 3.13.7
|
|
||||||
# and higher are distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
|
|
||||||
# GNU compiler defaults
|
|
||||||
|
|
||||||
GNU = YES
|
|
||||||
|
|
||||||
CMPLR_CLASS = gcc
|
|
||||||
|
|
||||||
GNU_BIN = $(GNU_DIR)/bin
|
|
||||||
GNU_LIB = $(GNU_DIR)/lib
|
|
||||||
|
|
||||||
CC = $(GNU_BIN)/$(CMPLR_PREFIX)gcc$(CMPLR_SUFFIX)
|
|
||||||
CCC = $(GNU_BIN)/$(CMPLR_PREFIX)g++$(CMPLR_SUFFIX)
|
|
||||||
AR = $(GNU_BIN)/$(CMPLR_PREFIX)ar$(CMPLR_SUFFIX) -rc
|
|
||||||
LD = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r
|
|
||||||
CPP = $(CC) -x c -E
|
|
||||||
RANLIB = $(GNU_BIN)/$(CMPLR_PREFIX)ranlib$(CMPLR_SUFFIX)
|
|
||||||
|
|
||||||
PROF_CFLAGS_YES = -p
|
|
||||||
GPROF_CFLAGS_YES = -pg
|
|
||||||
CODE_CFLAGS = $(PROF_CFLAGS_$(PROFILE)) $(GPROF_CFLAGS_$(GPROF))
|
|
||||||
WARN_CFLAGS_YES = -Wall
|
|
||||||
WARN_CFLAGS_NO = -w
|
|
||||||
OPT_CFLAGS_YES = -O3
|
|
||||||
OPT_CFLAGS_NO = -g
|
|
||||||
|
|
||||||
PROF_CXXFLAGS_YES = -p
|
|
||||||
GPROF_CXXFLAGS_YES = -pg
|
|
||||||
CODE_CXXFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
|
|
||||||
WARN_CXXFLAGS_YES = -Wall
|
|
||||||
WARN_CXXFLAGS_NO = -w
|
|
||||||
OPT_CXXFLAGS_YES = -O3
|
|
||||||
OPT_CXXFLAGS_NO = -g
|
|
||||||
|
|
||||||
CODE_LDFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
|
|
||||||
|
|
||||||
PIPE_CFLAGS_YES_YES = -pipe
|
|
||||||
PIPE_CFLAGS = $(PIPE_CFLAGS_$(GCC_PIPE)_$(GNU))
|
|
||||||
PIPE_CXXFLAGS = $(PIPE_CFLAGS)
|
|
||||||
|
|
||||||
STATIC_LDFLAGS_YES = -static
|
|
||||||
STATIC_LDFLAGS_NO =
|
|
||||||
|
|
||||||
SHRLIB_CFLAGS = -fPIC
|
|
||||||
SHRLIB_LDFLAGS = -shared -fPIC
|
|
||||||
LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC
|
|
||||||
|
|
||||||
GNU_LDLIBS_YES = -lgcc
|
|
||||||
|
|
||||||
# Use compiler flags to generate header dependancies files
|
|
||||||
HDEPENDS_METHOD = COMP
|
|
||||||
HDEPENDS_COMPFLAGS = -MM -MF $@
|
|
||||||
|
|
||||||
@@ -1,584 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
#
|
|
||||||
# check for add-on CFLAGS and CXXFLAGS
|
|
||||||
#
|
|
||||||
# Rules:
|
|
||||||
# 1) USR_CFLAGS is used
|
|
||||||
# 2) if there is a special USR_CFLAGS_$(OS_CLASS), it's
|
|
||||||
# appended to 1)
|
|
||||||
# 3) if there is no special defined, but a generic USR_CFLAGS_DEFAULT,
|
|
||||||
# this one is appended
|
|
||||||
# 4) if you have the special case that your USR_CFLAGS_$(OS_CLASS) is
|
|
||||||
# empty but you don't want 3), you have to define it as '-nil-', e.g.:
|
|
||||||
# USR_CFLAGS = <defines for all systems>
|
|
||||||
# USR_CFLAGS_WIN = -nil-
|
|
||||||
# USR_CFLAGS_DEFAULT = <defines for most systems, not WIN32>
|
|
||||||
#
|
|
||||||
# These rules apply to these Makefile-variables:
|
|
||||||
# USR_CFLAGS C flags
|
|
||||||
# USR_CXXFLAGS C++ flags
|
|
||||||
# USR_CPPFLAGS c preprocesser flags
|
|
||||||
# SRCS source files for building libraries and prods
|
|
||||||
# USR_SRCS source files for building libraries and prods
|
|
||||||
# PROD_SRCS source files for building prods
|
|
||||||
# LIB_SRCS source files for building libraries
|
|
||||||
# LIBSRCS source files for building libraries (deprecated)
|
|
||||||
# PROD_OBJS object files for building prods
|
|
||||||
# LIB_OBJS object files for building libraries
|
|
||||||
# USR_OBJS object files for building libraries and prods
|
|
||||||
# USR_LIBS libs needed by PROD and TESTPROD and LIBRARY
|
|
||||||
# PROD_LIBS libs needed by PROD and TESTPROD
|
|
||||||
# LIB_LIBS libs needed by shared LIBRARY
|
|
||||||
# SHRLIB_LIBS libs needed by shared LIBRARY
|
|
||||||
# USR_OBJLIBS R3.13 vxWorks object libs needed building libraries and prods
|
|
||||||
# PROD_OBJLIBS R3.13 vxWorks object libs needed for building prods
|
|
||||||
# LIB_OBJLIBS R3.13 vxWorks object libs needed for building libraries
|
|
||||||
# USR_SYS_LIBS system libs needed building libraries and prods
|
|
||||||
# PROD_SYS_LIBS system libs needed for building prods
|
|
||||||
# LIB_SYS_LIBS system libs needed for building libraries
|
|
||||||
# USR_LDFLAGS ld flags for building libraries and prods
|
|
||||||
# PROD_LDFLAGS ld flags for building prods
|
|
||||||
# LIB_LDFLAGS ld flags for building libraries
|
|
||||||
# PROD products to build and install
|
|
||||||
# PROD_HOST products to build and install
|
|
||||||
# PROD_IOC products to build and install
|
|
||||||
# TESTPROD products to build
|
|
||||||
# TESTPROD_HOST products to build
|
|
||||||
# TESTPROD_IOC products to build
|
|
||||||
# LIBRARY libraries to build and install
|
|
||||||
# LIBRARY_HOST libraries to build and install
|
|
||||||
# LIBRARY_IOC libraries to build and install
|
|
||||||
# TESTLIBRARY libraries to build
|
|
||||||
# TESTLIBRARY_HOST libraries to build
|
|
||||||
# TESTLIBRARY_IOC libraries to build
|
|
||||||
# LOADABLE_LIBRARY libraries to build and install
|
|
||||||
# LOADABLE_LIBRARY_HOST libraries to build and install
|
|
||||||
# LOADABLE_LIBRARY_IOC libraries to build and install
|
|
||||||
# SCRIPTS scripts and install
|
|
||||||
# SCRIPTS_HOST host system scripts to install
|
|
||||||
# SCRIPTS_IOC ioc system scripts to install
|
|
||||||
# TESTSCRIPTS scripts
|
|
||||||
# TESTSCRIPTS_HOST host system scripts
|
|
||||||
# TESTSCRIPTS_IOC ioc system scripts
|
|
||||||
# OBJS object files to build and install
|
|
||||||
# OBJS_HOST host system object files to build and install
|
|
||||||
# OBJS_IOC ioc system object files to build and install
|
|
||||||
# USR_INCLUDES include directories
|
|
||||||
# BIN_INSTALLS binaries to install
|
|
||||||
# LIB_INSTALLS library binaries to install
|
|
||||||
# RCS win32 resource files for building libraries and prods
|
|
||||||
# PROD_RCS win32 resource files for building prods
|
|
||||||
# LIB_RCS win32 resource files for building libraries
|
|
||||||
#
|
|
||||||
# Remark:
|
|
||||||
# If you define INC, e.g. INC = getopt.h, the source
|
|
||||||
# (getopt.h) must be in the source directory (..) and/or
|
|
||||||
# in one or more ../os/<OS_CLASS> directories.
|
|
||||||
#
|
|
||||||
# Additional target architecture, T_A, Rules for USR_CFLAGS, USR_CXXFLAGS,
|
|
||||||
# and USR_CPPFLAGS which are applied before the above os_class Rules:
|
|
||||||
# 1) USR_CFLAGS_$(OS_CLASS) is used
|
|
||||||
# 2) if there is a special $(USR_CFLAGS_$(T_A)), it's
|
|
||||||
# appended to 1)
|
|
||||||
# 3) if there is no special defined, but a generic USR_CFLAGS_$(OS_CLASS)_DEFAULT,
|
|
||||||
# this one is appended
|
|
||||||
# 4) if you have the special case that your $(USR_CFLAGS_$(T_A)) is
|
|
||||||
# empty but you don't want 3), you have to define it as '-nil-', e.g.:
|
|
||||||
# USR_CFLAGS_vxWorks = <defines for all OS_CLASS=vxWorks target systems>
|
|
||||||
# USR_CFLAGS_vxWorks-68040 = -nil-
|
|
||||||
# USR_CFLAGS_vxWorks_DEFAULT = <defines for most vxWorks systems, not 68040>
|
|
||||||
#
|
|
||||||
#
|
|
||||||
|
|
||||||
ifneq ($(strip $(USR_CFLAGS_$(T_A))),)
|
|
||||||
USR_CFLAGS_$(OS_CLASS)+=$(subst -nil-,,$(USR_CFLAGS_$(T_A)))
|
|
||||||
else
|
|
||||||
ifdef USR_CFLAGS_$(OS_CLASS)_DEFAULT
|
|
||||||
USR_CFLAGS_$(OS_CLASS)+=$(USR_CFLAGS_$(OS_CLASS)_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(USR_CFLAGS_$(OS_CLASS))),)
|
|
||||||
USR_CFLAGS+=$(subst -nil-,,$(USR_CFLAGS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef USR_CFLAGS_DEFAULT
|
|
||||||
USR_CFLAGS+=$(USR_CFLAGS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(USR_INCLUDES_$(OS_CLASS))),)
|
|
||||||
USR_INCLUDES+=$(subst -nil-,,$(USR_INCLUDES_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef USR_INCLUDES_DEFAULT
|
|
||||||
USR_INCLUDES+=$(USR_INCLUDES_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(USR_CXXFLAGS_$(T_A))),)
|
|
||||||
USR_CXXFLAGS_$(OS_CLASS)+=$(subst -nil-,,$(USR_CXXFLAGS_$(T_A)))
|
|
||||||
else
|
|
||||||
ifdef USR_CXXFLAGS_$(OS_CLASS)_DEFAULT
|
|
||||||
USR_CXXFLAGS_$(OS_CLASS)+=$(USR_CXXFLAGS_$(OS_CLASS)_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(USR_CXXFLAGS_$(OS_CLASS))),)
|
|
||||||
USR_CXXFLAGS+=$(subst -nil-,,$(USR_CXXFLAGS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef USR_CXXFLAGS_DEFAULT
|
|
||||||
USR_CXXFLAGS+=$(USR_CXXFLAGS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(USR_CPPFLAGS_$(T_A))),)
|
|
||||||
USR_CPPFLAGS_$(OS_CLASS)+=$(subst -nil-,,$(USR_CPPFLAGS_$(T_A)))
|
|
||||||
else
|
|
||||||
ifdef USR_CPPFLAGS_$(OS_CLASS)_DEFAULT
|
|
||||||
USR_CPPFLAGS_$(OS_CLASS)+=$(USR_CPPFLAGS_$(OS_CLASS)_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(USR_CPPFLAGS_$(OS_CLASS))),)
|
|
||||||
USR_CPPFLAGS+=$(subst -nil-,,$(USR_CPPFLAGS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef USR_CPPFLAGS_DEFAULT
|
|
||||||
USR_CPPFLAGS+=$(USR_CPPFLAGS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(USR_LDFLAGS_$(OS_CLASS))),)
|
|
||||||
USR_LDFLAGS+=$(subst -nil-,,$(USR_LDFLAGS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef USR_LDFLAGS_DEFAULT
|
|
||||||
USR_LDFLAGS+=$(USR_LDFLAGS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(PROD_LDFLAGS_$(OS_CLASS))),)
|
|
||||||
PROD_LDFLAGS+=$(subst -nil-,,$(PROD_LDFLAGS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef PROD_LDFLAGS_DEFAULT
|
|
||||||
PROD_LDFLAGS+=$(PROD_LDFLAGS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LIB_LDFLAGS_$(OS_CLASS))),)
|
|
||||||
LIB_LDFLAGS+=$(subst -nil-,,$(LIB_LDFLAGS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef LIB_LDFLAGS_DEFAULT
|
|
||||||
LIB_LDFLAGS+=$(LIB_LDFLAGS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LIBSRCS_$(OS_CLASS))),)
|
|
||||||
LIBSRCS += $(subst -nil-,,$(LIBSRCS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef LIBSRCS_DEFAULT
|
|
||||||
LIBSRCS+=$(LIBSRCS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LIB_SRCS_$(OS_CLASS))),)
|
|
||||||
LIB_SRCS += $(subst -nil-,,$(LIB_SRCS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef LIB_SRCS_DEFAULT
|
|
||||||
LIB_SRCS+=$(LIB_SRCS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(SRCS_$(OS_CLASS))),)
|
|
||||||
SRCS += $(subst -nil-,,$(SRCS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef SRCS_DEFAULT
|
|
||||||
SRCS+=$(SRCS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(USR_SRCS_$(OS_CLASS))),)
|
|
||||||
USR_SRCS += $(subst -nil-,,$(USR_SRCS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef USR_SRCS_DEFAULT
|
|
||||||
USR_SRCS+=$(USR_SRCS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(PROD_SRCS_$(OS_CLASS))),)
|
|
||||||
PROD_SRCS += $(subst -nil-,,$(PROD_SRCS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef PROD_SRCS_DEFAULT
|
|
||||||
PROD_SRCS+=$(PROD_SRCS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(BIN_INSTALLS_$(OS_CLASS))),)
|
|
||||||
BIN_INSTALLS+=$(subst -nil-,,$(BIN_INSTALLS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef BIN_INSTALLS_DEFAULT
|
|
||||||
BIN_INSTALLS+=$(BIN_INSTALLS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LIB_INSTALLS_$(OS_CLASS))),)
|
|
||||||
LIB_INSTALLS+=$(subst -nil-,,$(LIB_INSTALLS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef LIB_INSTALLS_DEFAULT
|
|
||||||
LIB_INSTALLS+=$(LIB_INSTALLS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(PROD_OBJS_$(OS_CLASS))),)
|
|
||||||
PROD_OBJS+=$(subst -nil-,,$(PROD_OBJS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(PROD_OBJS_DEFAULT)))
|
|
||||||
PROD_OBJS+=$(PROD_OBJS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(USR_OBJS_$(OS_CLASS))),)
|
|
||||||
USR_OBJS+=$(subst -nil-,,$(USR_OBJS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(USR_OBJS_DEFAULT)))
|
|
||||||
USR_OBJS+=$(USR_OBJS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(OBJS_$(OS_CLASS))),)
|
|
||||||
OBJS+=$(subst -nil-,,$(OBJS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(OBJS_DEFAULT)))
|
|
||||||
OBJS+=$(OBJS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(OBJS_IOC_$(OS_CLASS))),)
|
|
||||||
OBJS_IOC+=$(subst -nil-,,$(OBJS_IOC_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(OBJS_IOC_DEFAULT)))
|
|
||||||
OBJS_IOC+=$(OBJS_IOC_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(OBJS_HOST_$(OS_CLASS))),)
|
|
||||||
OBJS_HOST+=$(subst -nil-,,$(OBJS_HOST_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(OBJS_HOST_DEFAULT)))
|
|
||||||
OBJS_HOST+=$(OBJS_HOST_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(PROD_OBJLIBS_$(OS_CLASS))),)
|
|
||||||
PROD_OBJLIBS+=$(subst -nil-,,$(PROD_OBJLIBS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef PROD_OBJLIBS_DEFAULT
|
|
||||||
PROD_OBJLIBS+=$(PROD_OBJLIBS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LIB_OBJLIBS_$(OS_CLASS))),)
|
|
||||||
LIB_OBJLIBS+=$(subst -nil-,,$(LIB_OBJLIBS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef LIB_OBJLIBS_DEFAULT
|
|
||||||
LIB_OBJLIBS+=$(LIB_OBJLIBS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(USR_OBJLIBS_$(OS_CLASS))),)
|
|
||||||
USR_OBJLIBS+=$(subst -nil-,,$(USR_OBJLIBS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef USR_OBJLIBS_DEFAULT
|
|
||||||
USR_OBJLIBS+=$(USR_OBJLIBS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LIB_OBJS_$(OS_CLASS))),)
|
|
||||||
LIB_OBJS+=$(subst -nil-,,$(LIB_OBJS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(LIB_OBJS_DEFAULT)))
|
|
||||||
LIB_OBJS+=$(LIB_OBJS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LIBRARY_$(OS_CLASS))),)
|
|
||||||
LIBRARY+=$(subst -nil-,,$(LIBRARY_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(LIBRARY_DEFAULT)))
|
|
||||||
LIBRARY+=$(LIBRARY_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LIBRARY_IOC_$(OS_CLASS))),)
|
|
||||||
LIBRARY_IOC+=$(subst -nil-,,$(LIBRARY_IOC_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(LIBRARY_IOC_DEFAULT)))
|
|
||||||
LIBRARY_IOC+=$(LIBRARY_IOC_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LIBRARY_HOST_$(OS_CLASS))),)
|
|
||||||
LIBRARY_HOST+=$(subst -nil-,,$(LIBRARY_HOST_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(LIBRARY_HOST_DEFAULT)))
|
|
||||||
LIBRARY_HOST+=$(LIBRARY_HOST_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(TESTLIBRARY_$(OS_CLASS))),)
|
|
||||||
TESTLIBRARY+=$(subst -nil-,,$(TESTLIBRARY_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(TESTLIBRARY_DEFAULT)))
|
|
||||||
TESTLIBRARY+=$(TESTLIBRARY_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(TESTLIBRARY_IOC_$(OS_CLASS))),)
|
|
||||||
TESTLIBRARY_IOC+=$(subst -nil-,,$(TESTLIBRARY_IOC_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(TESTLIBRARY_IOC_DEFAULT)))
|
|
||||||
TESTLIBRARY_IOC+=$(TESTLIBRARY_IOC_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(TESTLIBRARY_HOST_$(OS_CLASS))),)
|
|
||||||
TESTLIBRARY_HOST+=$(subst -nil-,,$(TESTLIBRARY_HOST_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(TESTLIBRARY_HOST_DEFAULT)))
|
|
||||||
TESTLIBRARY_HOST+=$(TESTLIBRARY_HOST_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LOADABLE_LIBRARY_$(OS_CLASS))),)
|
|
||||||
LOADABLE_LIBRARY+=$(subst -nil-,,$(LOADABLE_LIBRARY_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(LOADABLE_LIBRARY_DEFAULT)))
|
|
||||||
LOADABLE_LIBRARY+=$(LOADABLE_LIBRARY_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LOADABLE_LIBRARY_HOST_$(OS_CLASS))),)
|
|
||||||
LOADABLE_LIBRARY_HOST+=$(subst -nil-,,$(LOADABLE_LIBRARY_HOST_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(LOADABLE_LIBRARY_HOST_DEFAULT)))
|
|
||||||
LOADABLE_LIBRARY_HOST+=$(LOADABLE_LIBRARY_HOST_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LOADABLE_LIBRARY_IOC_$(OS_CLASS))),)
|
|
||||||
LOADABLE_LIBRARY_IOC+=$(subst -nil-,,$(LOADABLE_LIBRARY_IOC_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(LOADABLE_LIBRARY_IOC_DEFAULT)))
|
|
||||||
LOADABLE_LIBRARY_IOC+=$(LOADABLE_LIBRARY_IOC_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(PROD_LIBS_$(OS_CLASS))),)
|
|
||||||
PROD_LIBS += $(subst -nil-,,$(PROD_LIBS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef PROD_LIBS_DEFAULT
|
|
||||||
PROD_LIBS += $(PROD_LIBS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# SHRLIB_LIBS deprecated
|
|
||||||
ifneq ($(strip $(SHRLIB_LIBS_$(OS_CLASS))),)
|
|
||||||
SHRLIB_LIBS += $(subst -nil-,,$(SHRLIB_LIBS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef SHRLIB_LIBS_DEFAULT
|
|
||||||
SHRLIB_LIBS += $(SHRLIB_LIBS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LIB_LIBS_$(OS_CLASS))),)
|
|
||||||
LIB_LIBS += $(subst -nil-,,$(LIB_LIBS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef LIB_LIBS_DEFAULT
|
|
||||||
LIB_LIBS += $(LIB_LIBS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(USR_LIBS_$(OS_CLASS))),)
|
|
||||||
USR_LIBS += $(subst -nil-,,$(USR_LIBS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef USR_LIBS_DEFAULT
|
|
||||||
USR_LIBS += $(USR_LIBS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
#
|
|
||||||
# concat specific library contents (if defined) to SYS_PROD_LIBS
|
|
||||||
#
|
|
||||||
# SYS_PROD_LIBS deprecated
|
|
||||||
ifneq ($(strip $(SYS_PROD_LIBS_$(OS_CLASS))),)
|
|
||||||
SYS_PROD_LIBS += $(subst -nil-,,$(SYS_PROD_LIBS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef SYS_PROD_LIBS_DEFAULT
|
|
||||||
SYS_PROD_LIBS += $(SYS_PROD_LIBS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
PROD_SYS_LIBS+=$(SYS_PROD_LIBS)
|
|
||||||
|
|
||||||
ifneq ($(strip $(PROD_SYS_LIBS_$(OS_CLASS))),)
|
|
||||||
PROD_SYS_LIBS += $(subst -nil-,,$(PROD_SYS_LIBS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef PROD_SYS_LIBS_DEFAULT
|
|
||||||
PROD_SYS_LIBS += $(PROD_SYS_LIBS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LIB_SYS_LIBS_$(OS_CLASS))),)
|
|
||||||
LIB_SYS_LIBS += $(subst -nil-,,$(LIB_SYS_LIBS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef LIB_SYS_LIBS_DEFAULT
|
|
||||||
LIB_SYS_LIBS += $(LIB_SYS_LIBS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(USR_SYS_LIBS_$(OS_CLASS))),)
|
|
||||||
USR_SYS_LIBS += $(subst -nil-,,$(USR_SYS_LIBS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef USR_SYS_LIBS_DEFAULT
|
|
||||||
USR_SYS_LIBS += $(USR_SYS_LIBS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
#
|
|
||||||
# concat specific products
|
|
||||||
#
|
|
||||||
ifneq ($(strip $(PROD_$(OS_CLASS))),)
|
|
||||||
PROD+=$(subst -nil-,,$(PROD_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(PROD_DEFAULT)))
|
|
||||||
PROD+=$(PROD_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(PROD_IOC_$(OS_CLASS))),)
|
|
||||||
PROD_IOC+=$(subst -nil-,,$(PROD_IOC_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(PROD_IOC_DEFAULT)))
|
|
||||||
PROD_IOC+=$(PROD_IOC_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(PROD_HOST_$(OS_CLASS))),)
|
|
||||||
PROD_HOST+=$(subst -nil-,,$(PROD_HOST_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(PROD_HOST_DEFAULT)))
|
|
||||||
PROD_HOST+=$(PROD_HOST_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
#
|
|
||||||
# concat specific products
|
|
||||||
#
|
|
||||||
ifneq ($(strip $(TESTPROD_$(OS_CLASS))),)
|
|
||||||
TESTPROD+=$(subst -nil-,,$(TESTPROD_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(TESTPROD_DEFAULT)))
|
|
||||||
TESTPROD+=$(TESTPROD_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(TESTPROD_IOC_$(OS_CLASS))),)
|
|
||||||
TESTPROD_IOC+=$(subst -nil-,,$(TESTPROD_IOC_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(TESTPROD_IOC_DEFAULT)))
|
|
||||||
TESTPROD_IOC+=$(TESTPROD_IOC_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(TESTPROD_HOST_$(OS_CLASS))),)
|
|
||||||
TESTPROD_HOST+=$(subst -nil-,,$(TESTPROD_HOST_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(TESTPROD_HOST_DEFAULT)))
|
|
||||||
TESTPROD_HOST+=$(TESTPROD_HOST_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
#
|
|
||||||
# concat specific scripts
|
|
||||||
#
|
|
||||||
ifneq ($(strip $(SCRIPTS_$(OS_CLASS))),)
|
|
||||||
SCRIPTS += $(subst -nil-,,$(SCRIPTS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef SCRIPTS_DEFAULT
|
|
||||||
SCRIPTS += $(SCRIPTS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(SCRIPTS_IOC_$(OS_CLASS))),)
|
|
||||||
SCRIPTS_IOC+=$(subst -nil-,,$(SCRIPTS_IOC_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(SCRIPTS_IOC_DEFAULT)))
|
|
||||||
SCRIPTS_IOC+=$(SCRIPTS_IOC_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(SCRIPTS_HOST_$(OS_CLASS))),)
|
|
||||||
SCRIPTS_HOST+=$(subst -nil-,,$(SCRIPTS_HOST_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(SCRIPTS_HOST_DEFAULT)))
|
|
||||||
SCRIPTS_HOST+=$(SCRIPTS_HOST_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
#
|
|
||||||
# concat specific scripts
|
|
||||||
#
|
|
||||||
ifneq ($(strip $(TESTSCRIPTS_$(OS_CLASS))),)
|
|
||||||
TESTSCRIPTS += $(subst -nil-,,$(TESTSCRIPTS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef TESTSCRIPTS_DEFAULT
|
|
||||||
TESTSCRIPTS += $(TESTSCRIPTS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(TESTSCRIPTS_IOC_$(OS_CLASS))),)
|
|
||||||
TESTSCRIPTS_IOC+=$(subst -nil-,,$(TESTSCRIPTS_IOC_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(TESTSCRIPTS_IOC_DEFAULT)))
|
|
||||||
TESTSCRIPTS_IOC+=$(TESTSCRIPTS_IOC_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(TESTSCRIPTS_HOST_$(OS_CLASS))),)
|
|
||||||
TESTSCRIPTS_HOST+=$(subst -nil-,,$(TESTSCRIPTS_HOST_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifneq (,$(strip $(TESTSCRIPTS_HOST_DEFAULT)))
|
|
||||||
TESTSCRIPTS_HOST+=$(TESTSCRIPTS_HOST_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
#
|
|
||||||
# concat specific resource files
|
|
||||||
#
|
|
||||||
ifneq ($(strip $(RCS_$(OS_CLASS))),)
|
|
||||||
RCS += $(subst -nil-,,$(RCS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef RCS_DEFAULT
|
|
||||||
RCS += $(RCS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(PROD_RCS_$(OS_CLASS))),)
|
|
||||||
PROD_RCS += $(subst -nil-,,$(PROD_RCS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef PROD_RCS_DEFAULT
|
|
||||||
PROD_RCS+=$(PROD_RCS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(LIB_RCS_$(OS_CLASS))),)
|
|
||||||
LIB_RCS += $(subst -nil-,,$(LIB_RCS_$(OS_CLASS)))
|
|
||||||
else
|
|
||||||
ifdef LIB_RCS_DEFAULT
|
|
||||||
LIB_RCS+=$(LIB_RCS_DEFAULT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2013 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in the file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
|
|
||||||
export TOP
|
|
||||||
|
|
||||||
ifneq ($(RELEASE_TOPS),)
|
|
||||||
|
|
||||||
define RELEASE_FLAGS_template
|
|
||||||
export $(1)
|
|
||||||
$(1)_HOST_BIN = $$(strip $$($(1)))/bin/$(EPICS_HOST_ARCH)
|
|
||||||
$(1)_HOST_LIB = $$(strip $$($(1)))/lib/$(EPICS_HOST_ARCH)
|
|
||||||
$(1)_BIN = $$(wildcard $$(strip $$($(1)))/bin/$(T_A))
|
|
||||||
$(1)_LIB = $$(wildcard $$(strip $$($(1)))/lib/$(T_A))
|
|
||||||
SHRLIB_SEARCH_DIRS += $$($(1)_LIB)
|
|
||||||
RELEASE_INCLUDES += $$(addprefix -I,$$(wildcard $$(strip $$($(1)))/include/compiler/$(CMPLR_CLASS)))
|
|
||||||
RELEASE_INCLUDES += $$(addprefix -I,$$(wildcard $$(strip $$($(1)))/include/os/$(OS_CLASS)))
|
|
||||||
RELEASE_INCLUDES += $$(addprefix -I,$$(wildcard $$(strip $$($(1)))/include))
|
|
||||||
RELEASE_DBD_DIRS += $$(wildcard $$(strip $$($(1)))/dbd)
|
|
||||||
RELEASE_DB_DIRS += $$(wildcard $$(strip $$($(1)))/db)
|
|
||||||
RELEASE_PERL_MODULE_DIRS += $$(wildcard $$(strip $$($(1)))/lib/perl)
|
|
||||||
endef
|
|
||||||
$(foreach top, $(RELEASE_TOPS), \
|
|
||||||
$(eval $(call RELEASE_FLAGS_template,$(top))))
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# EPICS Base directories
|
|
||||||
|
|
||||||
EPICS_BASE_HOST_BIN = $(EPICS_BASE)/bin/$(EPICS_HOST_ARCH)
|
|
||||||
EPICS_BASE_HOST_LIB = $(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)
|
|
||||||
ifdef T_A
|
|
||||||
EPICS_BASE_LIB = $(EPICS_BASE)/lib/$(T_A)
|
|
||||||
EPICS_BASE_BIN = $(EPICS_BASE)/bin/$(T_A)
|
|
||||||
endif
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# EPICS Base Ioc libraries
|
|
||||||
|
|
||||||
EPICS_BASE_IOC_LIBS += dbRecStd dbCore ca Com
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# EPICS Base Host libraries
|
|
||||||
|
|
||||||
EPICS_BASE_HOST_LIBS += cas gdd
|
|
||||||
EPICS_BASE_HOST_LIBS += ca Com
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Version number for base shared libraries (and win32 products)
|
|
||||||
|
|
||||||
ifdef BASE_TOP
|
|
||||||
# Unix lib.so.<v.r.m> Darwin lib.<v.r.m>.dylib
|
|
||||||
SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
|
|
||||||
# Windows only allows 2 levels of version numbering
|
|
||||||
PROD_VERSION = $(EPICS_VERSION).$(EPICS_REVISION)
|
|
||||||
BASE_CPPFLAGS += -DUSE_TYPED_RSET
|
|
||||||
endif # BASE_TOP
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Base c preprocessor flags
|
|
||||||
|
|
||||||
# osithread default stack
|
|
||||||
OSITHREAD_USE_DEFAULT_STACK = NO
|
|
||||||
OSITHREAD_DEFAULT_STACK_FLAGS_YES = -DOSITHREAD_USE_DEFAULT_STACK
|
|
||||||
|
|
||||||
BASE_CPPFLAGS += $(OSITHREAD_DEFAULT_STACK_FLAGS_$(OSITHREAD_USE_DEFAULT_STACK))
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Where to find the installed build tools
|
|
||||||
# Windows does not like commands with relative paths starting ../
|
|
||||||
# but the Perl scripts in TOP/src/tools are OK
|
|
||||||
|
|
||||||
TOOLS = $(abspath $(EPICS_BASE_HOST_BIN))
|
|
||||||
FIND_TOOL = $(firstword $(wildcard $(TOOLS)/$(1) $(TOP)/src/tools/$(1)))
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# EPICS Base build tools and tool flags
|
|
||||||
|
|
||||||
MAKEBPT = $(TOOLS)/makeBpt$(HOSTEXE)
|
|
||||||
DBEXPAND = $(PERL) $(TOOLS)/dbdExpand.pl
|
|
||||||
DBTORECORDTYPEH = $(PERL) $(TOOLS)/dbdToRecordtypeH.pl
|
|
||||||
DBTOMENUH = $(PERL) $(TOOLS)/dbdToMenuH.pl
|
|
||||||
REGISTERRECORDDEVICEDRIVER = $(PERL) $(TOOLS)/registerRecordDeviceDriver.pl
|
|
||||||
CONVERTRELEASE = $(PERL) $(call FIND_TOOL,convertRelease.pl)
|
|
||||||
FULLPATHNAME = $(PERL) $(TOOLS)/fullPathName.pl
|
|
||||||
TAPTOJUNIT = $(PERL) $(TOOLS)/tap-to-junit-xml.pl
|
|
||||||
GENVERSIONHEADER = $(PERL) $(TOOLS)/genVersionHeader.pl $(QUIET_FLAG)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# tools for installing libraries and products
|
|
||||||
INSTALL = $(PERL) $(TOOLS)/installEpics.pl $(QUIET_FLAG)
|
|
||||||
INSTALL_PRODUCT = $(INSTALL)
|
|
||||||
INSTALL_LIBRARY = $(INSTALL)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# tools for making header dependancies and variable replacement
|
|
||||||
MKMF = $(PERL) $(TOOLS)/mkmf.pl
|
|
||||||
REPLACEVAR = $(PERL) $(TOOLS)/replaceVAR.pl
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Our versions of lex (flex) and yacc (antelope)
|
|
||||||
EYACC = $(TOOLS)/antelope$(HOSTEXE)
|
|
||||||
ELEX = $(TOOLS)/e_flex$(HOSTEXE) -S$(EPICS_BASE)/include/flex.skel.static
|
|
||||||
|
|
||||||
YACC = $(EYACC)
|
|
||||||
LEX = $(ELEX)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# The 3.15 version of msi supports new options
|
|
||||||
|
|
||||||
MSI3_15 = $(EPICS_BASE_HOST_BIN)/msi
|
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2012 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in the file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
#
|
|
||||||
# EPICS Version information
|
|
||||||
#
|
|
||||||
# Only the person making an official EPICS release should make changes in
|
|
||||||
# this file.
|
|
||||||
#
|
|
||||||
# EPICS_SITE_VERSION is defined in CONFIG_SITE for sites that want a local
|
|
||||||
# version number to be included in the reported version string.
|
|
||||||
|
|
||||||
# We define BASE_3_14 and BASE_3_15 as NO and BASE_3_16 as YES, so
|
|
||||||
# ifdef BASE_3_14
|
|
||||||
# true for 3.14 or later
|
|
||||||
# ifdef BASE_3_15
|
|
||||||
# true for 3.15 or later
|
|
||||||
# ifeq ($(BASE_3_14),YES)
|
|
||||||
# true for 3.14.x only
|
|
||||||
# ifeq ($(BASE_3_15),YES)
|
|
||||||
# true for 3.15 only
|
|
||||||
# ifeq ($(BASE_3_16),YES)
|
|
||||||
# true for 3.16 only.
|
|
||||||
|
|
||||||
BASE_3_14 = NO
|
|
||||||
BASE_3_15 = NO
|
|
||||||
BASE_3_16 = YES
|
|
||||||
|
|
||||||
# EPICS_VERSION must be a number >0 and <256
|
|
||||||
EPICS_VERSION = 3
|
|
||||||
|
|
||||||
# EPICS_REVISION must be a number >=0 and <256
|
|
||||||
EPICS_REVISION = 16
|
|
||||||
|
|
||||||
# EPICS_MODIFICATION must be a number >=0 and <256
|
|
||||||
EPICS_MODIFICATION = 1
|
|
||||||
|
|
||||||
# EPICS_PATCH_LEVEL must be a number (win32 resource file requirement)
|
|
||||||
# Not included if zero
|
|
||||||
EPICS_PATCH_LEVEL = 0
|
|
||||||
|
|
||||||
# This will end in -DEV between official releases
|
|
||||||
EPICS_DEV_SNAPSHOT=-DEV
|
|
||||||
#EPICS_DEV_SNAPSHOT=-pre1
|
|
||||||
#EPICS_DEV_SNAPSHOT=-pre1-DEV
|
|
||||||
#EPICS_DEV_SNAPSHOT=-pre2
|
|
||||||
#EPICS_DEV_SNAPSHOT=-pre2-DEV
|
|
||||||
#EPICS_DEV_SNAPSHOT=-rc1
|
|
||||||
#EPICS_DEV_SNAPSHOT=-rc1-DEV
|
|
||||||
#EPICS_DEV_SNAPSHOT=-rc2
|
|
||||||
#EPICS_DEV_SNAPSHOT=-rc2-DEV
|
|
||||||
#EPICS_DEV_SNAPSHOT=
|
|
||||||
|
|
||||||
# No changes should be needed below here
|
|
||||||
|
|
||||||
ifneq ($(EPICS_PATCH_LEVEL),0)
|
|
||||||
EPICS_PATCH_VSTRING=.$(EPICS_PATCH_LEVEL)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(EPICS_SITE_VERSION)),)
|
|
||||||
EPICS_SITE_VSTRING=-$(EPICS_SITE_VERSION)
|
|
||||||
endif
|
|
||||||
|
|
||||||
EPICS_SHORT_VERSION=$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)$(EPICS_PATCH_VSTRING)
|
|
||||||
EPICS_VERSION_NUMBER=$(EPICS_SHORT_VERSION)$(EPICS_DEV_SNAPSHOT)$(EPICS_SITE_VSTRING)
|
|
||||||
EPICS_VERSION_STRING="EPICS Version $(EPICS_VERSION_NUMBER)"
|
|
||||||
|
|
||||||
# Provide this in case anyone is still using the old name
|
|
||||||
COMMIT_DATE="-no-date-"
|
|
||||||
@@ -1,463 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
#
|
|
||||||
# CONFIG_COMMON
|
|
||||||
#
|
|
||||||
# This file is to be maintained by the community.
|
|
||||||
#
|
|
||||||
# Common Configuration Information
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# POSIX is OS default
|
|
||||||
POSIX=YES
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Divider symbol
|
|
||||||
DIVIDER = .
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Build architectures
|
|
||||||
|
|
||||||
# CROSS1 will be defined only when CROSS_COMPILER_HOST_ARCHS is NOT defined
|
|
||||||
CROSS1 = $(CROSS_COMPILER_TARGET_ARCHS$(word 1,$(CROSS_COMPILER_HOST_ARCHS)))
|
|
||||||
|
|
||||||
# CROSS2 will be defined only when CROSS_COMPILER_HOST_ARCHS is defined
|
|
||||||
# and EPICS_HOST_ARCH is one of its words
|
|
||||||
CROSS2 = $(CROSS_COMPILER_TARGET_ARCHS$(filter-out 1,$(words $(filter $(EPICS_HOST_ARCH),$(CROSS_COMPILER_HOST_ARCHS)))))
|
|
||||||
|
|
||||||
BUILD_ARCHS = $(EPICS_HOST_ARCH) $(CROSS1) $(CROSS2)
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Default for perl if it's on the PATH,
|
|
||||||
# otherwise override this in os/CONFIG_SITE.<host_arch>.Common
|
|
||||||
PERL = perl -CSD
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Check configure/RELEASE file for consistency
|
|
||||||
CHECK_RELEASE_YES = checkRelease
|
|
||||||
CHECK_RELEASE_NO = noCheckRelease
|
|
||||||
CHECK_RELEASE_WARN = warnRelease
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# GNU directory
|
|
||||||
# GNU_DIR definition is here because it is used to find
|
|
||||||
# READLINE library even if GNU compiler is not used
|
|
||||||
GNU_DIR = /usr
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Directories
|
|
||||||
|
|
||||||
INSTALL_LOCATION = $(TOP)
|
|
||||||
|
|
||||||
INSTALL_LOCATION_LIB = $(INSTALL_LOCATION)/lib
|
|
||||||
INSTALL_LOCATION_BIN = $(INSTALL_LOCATION)/bin
|
|
||||||
|
|
||||||
INSTALL_HOST_BIN = $(INSTALL_LOCATION_BIN)/$(EPICS_HOST_ARCH)
|
|
||||||
INSTALL_HOST_LIB = $(INSTALL_LOCATION_LIB)/$(EPICS_HOST_ARCH)
|
|
||||||
|
|
||||||
INSTALL_INCLUDE = $(INSTALL_LOCATION)/include
|
|
||||||
INSTALL_DOC = $(INSTALL_LOCATION)/doc
|
|
||||||
INSTALL_HTML = $(INSTALL_LOCATION)/html
|
|
||||||
INSTALL_TEMPLATES = $(INSTALL_LOCATION)/templates
|
|
||||||
INSTALL_DBD = $(INSTALL_LOCATION)/dbd
|
|
||||||
INSTALL_DB = $(INSTALL_LOCATION)/db
|
|
||||||
INSTALL_CONFIG = $(INSTALL_LOCATION)/configure
|
|
||||||
|
|
||||||
# Directory for OS independant build created files
|
|
||||||
COMMON_DIR = ../O.Common
|
|
||||||
|
|
||||||
# IOC's absolute path to $(TOP), may be overridden inside the application
|
|
||||||
IOCS_APPL_TOP = $(shell $(FULLPATHNAME) $(INSTALL_LOCATION))
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Make echo output - suppress echoing if make's '-s' flag is set
|
|
||||||
NOP = :
|
|
||||||
ECHO = @$(if $(findstring s,$(patsubst T_A=%,,$(MAKEFLAGS))),$(NOP),echo)
|
|
||||||
QUIET_FLAG := $(if $(findstring s,$(MAKEFLAGS)),-q,)
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
ifdef T_A
|
|
||||||
|
|
||||||
INSTALL_LIB = $(INSTALL_LOCATION_LIB)/$(T_A)
|
|
||||||
INSTALL_SHRLIB = $(INSTALL_LOCATION_LIB)/$(T_A)
|
|
||||||
INSTALL_TCLLIB = $(INSTALL_LOCATION_LIB)/$(T_A)
|
|
||||||
INSTALL_BIN = $(INSTALL_LOCATION_BIN)/$(T_A)
|
|
||||||
|
|
||||||
#Directories for libraries
|
|
||||||
SHRLIB_SEARCH_DIRS = $(INSTALL_LIB)
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Ext, app, and module configure dir targets
|
|
||||||
CONFIG_INSTALLS += ../RULES_BUILD ../RELEASE*
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Cross compile default, HOST or CROSS, CONFIG.crossCommon will override
|
|
||||||
BUILD_CLASS = HOST
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Build defaults, CONFIG_SITE, CONFIG, or os/CONFIG* will override
|
|
||||||
STATIC_BUILD=NO
|
|
||||||
SHARED_LIBRARIES=YES
|
|
||||||
HOST_OPT=YES
|
|
||||||
CROSS_OPT=YES
|
|
||||||
HOST_WARN=YES
|
|
||||||
CROSS_WARN=YES
|
|
||||||
GNU=NO
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Run checkRelease in $(TOP)/configure/O.*
|
|
||||||
CONFIG_TARGETS += $(CHECK_RELEASE_$(CHECK_RELEASE))
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Prefix and suffix
|
|
||||||
DEP = .d
|
|
||||||
OBJ = .o
|
|
||||||
CMPLR_SUFFIX =
|
|
||||||
CMPLR_PREFIX =
|
|
||||||
LIB_PREFIX =
|
|
||||||
LIB_SUFFIX =
|
|
||||||
SHRLIB_PREFIX = $(LIB_PREFIX)
|
|
||||||
DLLSTUB_PREFIX = $(LIB_PREFIX)
|
|
||||||
DLLSTUB_SUFFIX = $(LIB_SUFFIX)
|
|
||||||
|
|
||||||
BUILDLIB_PREFIX_YES = $(DLLSTUB_PREFIX)
|
|
||||||
BUILDLIB_PREFIX_NO = $(LIB_PREFIX)
|
|
||||||
BUILDLIB_SUFFIX_YES = $(DLLSTUB_SUFFIX)
|
|
||||||
BUILDLIB_SUFFIX_NO = $(LIB_SUFFIX)
|
|
||||||
BUILDLIB_PREFIX = $(BUILDLIB_PREFIX_$(SHARED_LIBRARIES))
|
|
||||||
BUILDLIB_SUFFIX = $(BUILDLIB_SUFFIX_$(SHARED_LIBRARIES))
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# vpath directories
|
|
||||||
POSIX_YES = os/posix
|
|
||||||
GENERIC_SRC_DIRS = .. $(SRC_DIRS)
|
|
||||||
OS_SRC_DIRS += . $(foreach dir, .. $(SRC_DIRS), \
|
|
||||||
$(addprefix $(dir)/, os/$(OS_CLASS) $(POSIX_$(POSIX)) os/default ))
|
|
||||||
CMPLR_SRC_DIRS += . $(foreach dir, .. $(SRC_DIRS), \
|
|
||||||
$(addprefix $(dir)/, compiler/$(CMPLR_CLASS) compiler/default ))
|
|
||||||
ALL_SRC_DIRS = $(CMPLR_SRC_DIRS) $(OS_SRC_DIRS) $(GENERIC_SRC_DIRS)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# compile line include directories
|
|
||||||
INSTALL_INCLUDES += \
|
|
||||||
-I$(INSTALL_INCLUDE)/compiler/$(CMPLR_CLASS) \
|
|
||||||
-I$(INSTALL_INCLUDE)/os/$(OS_CLASS) \
|
|
||||||
-I$(INSTALL_INCLUDE)
|
|
||||||
SRC_INCLUDES = -I$(COMMON_DIR) $(addprefix -I, $(wildcard $(ALL_SRC_DIRS)))
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Target filename definitions
|
|
||||||
OBJSNAME = $(addsuffix $(OBJ),$(basename $(OBJS)))
|
|
||||||
PRODNAME = $(addsuffix $(EXE),$(basename $(PROD)))
|
|
||||||
TESTPRODNAME = $(addsuffix $(EXE),$(basename $(TESTPROD)))
|
|
||||||
|
|
||||||
SHRLIBNAME = $(SHRLIBNAME_$(SHARED_LIBRARIES))
|
|
||||||
TESTSHRLIBNAME = $(TESTSHRLIBNAME_$(SHARED_LIBRARIES))
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# obj files
|
|
||||||
|
|
||||||
TARGET_OBJS = $($*_OBJLIBS) $($*_LDOBJS) $(addsuffix $(OBJ),$(basename $($*_OBJS) $($*_SRCS)))
|
|
||||||
|
|
||||||
PRODUCT_OBJS = $(addsuffix $(OBJ),$(basename $(SRCS) $(USR_SRCS) $(PROD_SRCS) $(USR_OBJS) $(PROD_OBJS)))
|
|
||||||
PROD_LD_OBJS = $(USR_OBJLIBS) $(PROD_OBJLIBS) $(TARGET_OBJS) $(PRODUCT_OBJS)
|
|
||||||
|
|
||||||
LIBRARY_OBJS = $(addsuffix $(OBJ),$(basename $(SRCS) $(USR_SRCS) $(LIB_SRCS) $(LIBSRCS) $(USR_OBJS) $(LIB_OBJS)))
|
|
||||||
LIBRARY_LD_OBJS = $(USR_OBJLIBS) $(LIB_OBJLIBS) $(TARGET_OBJS) $(LIBRARY_OBJS)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Windows resource files
|
|
||||||
|
|
||||||
TARGET_RESS = $(if $(RES),$(addsuffix $(RES),$(basename $($*_RCS))),)
|
|
||||||
|
|
||||||
PROD_RESS = $(if $(RES),$(addsuffix $(RES),$(basename $(RCS) $(PROD_RCS))),)
|
|
||||||
PROD_LD_RESS = $(TARGET_RESS) $(PROD_RESS)
|
|
||||||
|
|
||||||
LIBRARY_RESS = $(if $(RES),$(addsuffix $(RES),$(basename $(RCS) $(LIB_RCS) $(LIBRARY_RCS))),)
|
|
||||||
LIBRARY_LD_RESS = $(TARGET_RESS) $(LIBRARY_RESS)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# C preprocessor, compiler, and linker flag defaults
|
|
||||||
|
|
||||||
# Target architecture specific flags
|
|
||||||
ARCH_DEP_CPPFLAGS =
|
|
||||||
ARCH_DEP_CFLAGS =
|
|
||||||
ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS)
|
|
||||||
ARCH_DEP_LDFLAGS =
|
|
||||||
ARCH_DEP_LDLIBS =
|
|
||||||
|
|
||||||
# Target operating system specific flags
|
|
||||||
OP_SYS_CPPFLAGS =
|
|
||||||
OP_SYS_CFLAGS =
|
|
||||||
OP_SYS_CXXFLAGS = $(OP_SYS_CFLAGS)
|
|
||||||
OP_SYS_LDFLAGS =
|
|
||||||
OP_SYS_INCLUDES =
|
|
||||||
|
|
||||||
# Makefile specific flags
|
|
||||||
USR_INCLUDES =
|
|
||||||
USR_CFLAGS =
|
|
||||||
USR_CXXFLAGS =
|
|
||||||
USR_LDFLAGS =
|
|
||||||
USR_LIBS =
|
|
||||||
USR_CPPFLAGS =
|
|
||||||
USR_DBDFLAGS =
|
|
||||||
USR_ARFLAGS =
|
|
||||||
|
|
||||||
# Variables to be set only on the command-line:
|
|
||||||
# CMD_INCLUDES =
|
|
||||||
# CMD_CFLAGS =
|
|
||||||
# CMD_CXXFLAGS =
|
|
||||||
# CMD_LDFLAGS =
|
|
||||||
# CMD_CPPFLAGS =
|
|
||||||
# CMD_DBFLAGS =
|
|
||||||
# CMD_DBDFLAGS =
|
|
||||||
# CMD_ARFLAGS =
|
|
||||||
|
|
||||||
# Debug specific options
|
|
||||||
DEBUG_CPPFLAGS =
|
|
||||||
DEBUG_CFLAGS =
|
|
||||||
DEBUG_CXXFLAGS = $(DEBUG_CFLAGS)
|
|
||||||
DEBUG_LDFLAGS =
|
|
||||||
DEBUG_LDLIBS =
|
|
||||||
|
|
||||||
# Target specific options
|
|
||||||
TARGET_INCLUDES = $($(basename $@)_INCLUDES_$(T_A))
|
|
||||||
TARGET_CFLAGS = $($(basename $@)_CFLAGS_$(T_A))
|
|
||||||
TARGET_CXXFLAGS = $($(basename $@)_CXXFLAGS_$(T_A))
|
|
||||||
TARGET_CPPFLAGS = $($(basename $@)_CPPFLAGS_$(T_A))
|
|
||||||
|
|
||||||
TARGET_INCLUDES += $($(basename $@)_INCLUDES_$(OS_CLASS)) $($(basename $@)_INCLUDES)
|
|
||||||
TARGET_CFLAGS += $($(basename $@)_CFLAGS_$(OS_CLASS)) $($(basename $@)_CFLAGS)
|
|
||||||
TARGET_CXXFLAGS += $($(basename $@)_CXXFLAGS_$(OS_CLASS)) $($(basename $@)_CXXFLAGS)
|
|
||||||
TARGET_CPPFLAGS += $($(basename $@)_CPPFLAGS_$(OS_CLASS)) $($(basename $@)_CPPFLAGS)
|
|
||||||
|
|
||||||
TARGET_LDFLAGS = $($*_LDFLAGS)
|
|
||||||
|
|
||||||
# Warnings flags
|
|
||||||
WARN_CPPFLAGS = $(WARN_CPPFLAGS_$($(BUILD_CLASS)_WARN))
|
|
||||||
WARN_CFLAGS = $(WARN_CFLAGS_$($(BUILD_CLASS)_WARN))
|
|
||||||
WARN_CXXFLAGS = $(WARN_CXXFLAGS_$($(BUILD_CLASS)_WARN))
|
|
||||||
|
|
||||||
# Optimization flags
|
|
||||||
OPT_CPPFLAGS = $(OPT_CPPFLAGS_$($(BUILD_CLASS)_OPT))
|
|
||||||
OPT_CFLAGS = $(OPT_CFLAGS_$($(BUILD_CLASS)_OPT))
|
|
||||||
OPT_CXXFLAGS = $(OPT_CXXFLAGS_$($(BUILD_CLASS)_OPT))
|
|
||||||
|
|
||||||
# Static build flags
|
|
||||||
STATIC_CFLAGS = $(STATIC_CFLAGS_$(STATIC_BUILD))
|
|
||||||
STATIC_CXXCFLAGS = $(STATIC_CXXFLAGS_$(STATIC_BUILD))
|
|
||||||
STATIC_LDFLAGS = $(STATIC_LDFLAGS_$(STATIC_BUILD))
|
|
||||||
STATIC_LDLIBS = $(STATIC_LDLIBS_$(STATIC_BUILD))
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# cflags for shared library src files (from SHRLIB_CFLAGS)
|
|
||||||
LIBRARY_SRCS=$(basename $(foreach lib,$(LIBRARY) $(TESTLIBRARY) $(LOADABLE_LIBRARY),$($(lib)_OBJSNAME) $(LIBRARY_OBJS)))
|
|
||||||
LIBRARY_SRC_CFLAGS=$($(patsubst $*,SHRLIB,$(findstring $*,$(LIBRARY_SRCS)))_CFLAGS)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# prefix, suffix, and ldflags for loadable shared libraries
|
|
||||||
TARGET_LIB_LDFLAGS=$($(patsubst $*,LOADABLE_,$(findstring $*,$(LOADABLE_LIBRARY)))SHRLIB_LDFLAGS)
|
|
||||||
LOADABLE_SHRLIB_PREFIX=$(SHRLIB_PREFIX)
|
|
||||||
LOADABLE_SHRLIB_SUFFIX=$(SHRLIB_SUFFIX)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Command-line input support default
|
|
||||||
COMMANDLINE_LIBRARY = EPICS
|
|
||||||
OP_SYS_LDLIBS += $(LDLIBS_$(COMMANDLINE_LIBRARY))
|
|
||||||
OP_SYS_LDFLAGS += $(LDFLAGS_$(COMMANDLINE_LIBRARY))
|
|
||||||
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(COMMANDLINE_LIBRARY))
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Flags
|
|
||||||
|
|
||||||
INCLUDES = -I. $(SRC_INCLUDES) $(INSTALL_INCLUDES) $(RELEASE_INCLUDES)\
|
|
||||||
$(TARGET_INCLUDES) $(USR_INCLUDES) $(CMD_INCLUDES) $(OP_SYS_INCLUDES)\
|
|
||||||
$($(BUILD_CLASS)_INCLUDES)
|
|
||||||
|
|
||||||
CFLAGS = $($(BUILD_CLASS)_CFLAGS) $(POSIX_CFLAGS) $(OPT_CFLAGS)\
|
|
||||||
$(DEBUG_CFLAGS) $(PIPE_CFLAGS) $(WARN_CFLAGS) $(TARGET_CFLAGS)\
|
|
||||||
$(USR_CFLAGS) $(CMD_CFLAGS) $(ARCH_DEP_CFLAGS) $(CODE_CFLAGS)\
|
|
||||||
$(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(LIBRARY_SRC_CFLAGS)
|
|
||||||
|
|
||||||
CXXFLAGS = $($(BUILD_CLASS)_CXXFLAGS) $(POSIX_CXXFLAGS) $(OPT_CXXFLAGS)\
|
|
||||||
$(DEBUG_CXXFLAGS) $(PIPE_CFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS)\
|
|
||||||
$(USR_CXXFLAGS) $(CMD_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(CODE_CXXFLAGS)\
|
|
||||||
$(STATIC_CXXCFLAGS) $(OP_SYS_CXXFLAGS) $(LIBRARY_SRC_CFLAGS)
|
|
||||||
|
|
||||||
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(CMD_LDFLAGS)\
|
|
||||||
$(POSIX_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS)\
|
|
||||||
$($(BUILD_CLASS)_LDFLAGS) $(RUNTIME_LDFLAGS) $(CODE_LDFLAGS)
|
|
||||||
|
|
||||||
LDLIBS = $(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(DEBUG_LDLIBS) $(OP_SYS_LDLIBS)\
|
|
||||||
$(GNU_LDLIBS_$(GNU))
|
|
||||||
|
|
||||||
CPPFLAGS = $($(BUILD_CLASS)_CPPFLAGS) $(POSIX_CPPFLAGS) $(OPT_CPPFLAGS)\
|
|
||||||
$(DEBUG_CPPFLAGS) $(WARN_CPPFLAGS) $(BASE_CPPFLAGS) $(TARGET_CPPFLAGS)\
|
|
||||||
$(USR_CPPFLAGS) $(CMD_CPPFLAGS) $(ARCH_DEP_CPPFLAGS) $(OP_SYS_CPPFLAGS)\
|
|
||||||
$(OP_SYS_INCLUDE_CPPFLAGS) $(CODE_CPPFLAGS)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# ar definition default
|
|
||||||
ARFLAGS =
|
|
||||||
ARCMD = $(AR) $(ARFLAGS) $(USR_ARFLAGS) $(CMD_ARFLAGS) $@ $(LIBRARY_LD_OBJS)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# 'Munch' link-edit
|
|
||||||
MUNCH_CMD = $(LD) $(MUNCH_LDFLAGS) -o $@ $^
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# LEX default options
|
|
||||||
#
|
|
||||||
# Allow 8-bit characters
|
|
||||||
LEXOPT += -8
|
|
||||||
# Generate an "interactive" scanner, solves problems at EOF.
|
|
||||||
LEXOPT += -I
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Build compile line here
|
|
||||||
|
|
||||||
COMPILE.c = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES)
|
|
||||||
COMPILE.cpp = $(CCC) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDES)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# C preprocessor command
|
|
||||||
PREPROCESS.cpp = $(CPP) $(CPPFLAGS) $(INCLUDES) $< > $@
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# genVersion header defaults
|
|
||||||
|
|
||||||
# C macro name
|
|
||||||
GENVERSIONMACRO = VCSVERSION
|
|
||||||
# C macro default value (empty to use date+time)
|
|
||||||
GENVERSIONDEFAULT =
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Header dependency file generation
|
|
||||||
|
|
||||||
HDEPENDS_METHOD = MKMF
|
|
||||||
|
|
||||||
HDEPENDS_MKMFFLAGS = -m $@ $(INCLUDES) $*$(OBJ)
|
|
||||||
HDEPENDS_MKMF.c = $(MKMF) $(HDEPENDS_FLAGS) $(HDEPENDS_MKMFFLAGS)
|
|
||||||
HDEPENDS_MKMF.cpp = $(MKMF) $(HDEPENDS_FLAGS) $(HDEPENDS_MKMFFLAGS)
|
|
||||||
|
|
||||||
HDEPENDS_COMP.c = $(COMPILE.c) $(HDEPENDS_COMPFLAGS) $(HDEPENDS_ARCHFLAGS)
|
|
||||||
HDEPENDS_COMP.cpp = $(COMPILE.cpp) $(HDEPENDS_COMPFLAGS) $(HDEPENDS_ARCHFLAGS)
|
|
||||||
|
|
||||||
HDEPENDS.c = $(HDEPENDS_$(HDEPENDS_METHOD).c)
|
|
||||||
HDEPENDS.cpp = $(HDEPENDS_$(HDEPENDS_METHOD).cpp)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Dependency files
|
|
||||||
|
|
||||||
TARGET_SRCS = $(foreach name, \
|
|
||||||
$(TESTPROD) $(PROD) $(TESTLIBRARY) $(LIBRARY) $(LOADABLE_LIBRARY), \
|
|
||||||
$($(name)_SRCS))
|
|
||||||
SRC_FILES = $(LIB_SRCS) $(LIBSRCS) $(SRCS) $(USR_SRCS) $(PROD_SRCS) $(TARGET_SRCS)
|
|
||||||
HDEPENDS_FILES = $(addsuffix $(DEP),$(notdir $(basename $(SRC_FILES))))
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Deprecated and no longer used in Base
|
|
||||||
|
|
||||||
PATH_FILTER = $(1)$(warning PATH_FILTER is deprecated; used for $(1))
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Names of installed items
|
|
||||||
#
|
|
||||||
# each list starts with the destination directory name(s)
|
|
||||||
# to make sure it's there
|
|
||||||
|
|
||||||
INSTALL_PROD= $(PRODNAME:%= $(INSTALL_BIN)/%)
|
|
||||||
INSTALL_LIBS= $(LIBNAME:%=$(INSTALL_LIB)/%)
|
|
||||||
INSTALL_MUNCHS= $(MUNCHNAME:%=$(INSTALL_BIN)/%)
|
|
||||||
INSTALL_SHRLIBS= $(SHRLIBNAME:%=$(INSTALL_SHRLIB)/%)
|
|
||||||
INSTALL_LOADABLE_SHRLIBS= $(LOADABLE_SHRLIBNAME:%=$(INSTALL_SHRLIB)/%)
|
|
||||||
INSTALL_DLLSTUB_LIBS=$(DLLSTUB_LIBNAME:%=$(INSTALL_LIB)/%)
|
|
||||||
INSTALL_TCLLIBS=$(TCLLIBNAME:%=$(INSTALL_TCLLIB)/%)
|
|
||||||
INSTALL_TCLINDEX=$(TCLINDEX:%=$(INSTALL_TCLLIB)/%)
|
|
||||||
INSTALL_SCRIPTS = $(SCRIPTS:%= $(INSTALL_BIN)/%)
|
|
||||||
INSTALL_OBJS = $(OBJSNAME:%= $(INSTALL_BIN)/%)
|
|
||||||
|
|
||||||
INSTALL_DOCS = $(DOCS:%= $(INSTALL_DOC)/%)
|
|
||||||
INSTALL_HTMLS = $(HTMLS:%= $(INSTALL_HTML)/$(HTMLS_DIR)/%)
|
|
||||||
|
|
||||||
INSTALL_TEMPLATE = $(addprefix $(INSTALL_TEMPLATES_SUBDIR)/, \
|
|
||||||
$(subst $(CONFIG),top/configure,$(TEMPLATES)))
|
|
||||||
INSTALL_CONFIGS = $(CONFIGS:%= $(INSTALL_CONFIG)/%)
|
|
||||||
|
|
||||||
INSTALL_BIN_INSTALLS = $(addprefix $(INSTALL_BIN)/,$(notdir $(BIN_INSTALLS)))
|
|
||||||
INSTALL_LIB_INSTALLS = $(addprefix $(INSTALL_LIB)/,$(notdir $(LIB_INSTALLS)))
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Installed file permissions
|
|
||||||
BIN_PERMISSIONS = 555
|
|
||||||
LIB_PERMISSIONS = 444
|
|
||||||
SHRLIB_PERMISSIONS = 555
|
|
||||||
INSTALL_PERMISSIONS = 444
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
#
|
|
||||||
# auto determine the directory paths that things are installed to
|
|
||||||
# RULES:
|
|
||||||
# 0) found in any one of several compiler specific paths
|
|
||||||
# => install to $(INSTALL_INCLUDE)/compiler/$(CMPLR_CLASS)
|
|
||||||
# 1) not found in (0) and found in any one of several OS specific paths
|
|
||||||
# => install to $(INSTALL_INCLUDE)/os/$(OS_CLASS)
|
|
||||||
# 2) not found in (1) and found in generic paths
|
|
||||||
# => install to $(INSTALL_INCLUDE)
|
|
||||||
# 3) not found in (1) or (2) then may be (not yet) computer generated
|
|
||||||
# => install into $(INSTALL_INCLUDE)/os/$(OS_CLASS) and let
|
|
||||||
# build rules work on vpath
|
|
||||||
#
|
|
||||||
# These rules guarantee that the users include from
|
|
||||||
# no more than three directories
|
|
||||||
#
|
|
||||||
INSTALL_INC += $(foreach inc, $(INC), \
|
|
||||||
$(firstword \
|
|
||||||
$(CMPLR_INSTALL_INC) \
|
|
||||||
$(OS_INSTALL_INC) \
|
|
||||||
$(GENERIC_INSTALL_INC) \
|
|
||||||
$(GENERATED_INSTALL_INC) ) )
|
|
||||||
INSTALL_INC += $(addprefix $(INSTALL_INCLUDE)/os/$(OS_CLASS)/, $(INC_$(OS_CLASS)) )
|
|
||||||
|
|
||||||
#
|
|
||||||
# Rule 0
|
|
||||||
#
|
|
||||||
CMPLR_INSTALL_INC = $(addprefix $(INSTALL_INCLUDE)/compiler/$(CMPLR_CLASS)/, $(INSTALL_INC_jjj) )
|
|
||||||
INSTALL_INC_jjj = $(foreach dir, $(CMPLR_SRC_DIRS), $(INSTALL_INC_iii) )
|
|
||||||
INSTALL_INC_iii = $(subst $(dir)/, , $(INSTALL_INC_hhh) )
|
|
||||||
INSTALL_INC_hhh = $(wildcard $(addsuffix /$(inc), $(dir)) )
|
|
||||||
|
|
||||||
#
|
|
||||||
# Rule 1
|
|
||||||
#
|
|
||||||
OS_INSTALL_INC = $(addprefix $(INSTALL_INCLUDE)/os/$(OS_CLASS)/, $(INSTALL_INC_ggg) )
|
|
||||||
INSTALL_INC_ggg = $(foreach dir, $(OS_SRC_DIRS), $(INSTALL_INC_fff) )
|
|
||||||
INSTALL_INC_fff = $(subst $(dir)/, , $(INSTALL_INC_eee) )
|
|
||||||
INSTALL_INC_eee = $(wildcard $(addsuffix /$(inc), $(dir)) )
|
|
||||||
|
|
||||||
#
|
|
||||||
# Rule 2
|
|
||||||
#
|
|
||||||
GENERIC_INSTALL_INC = $(addprefix $(INSTALL_INCLUDE)/, $(INSTALL_INC_ccc) )
|
|
||||||
INSTALL_INC_ccc = $(foreach dir, .. $(SRC_DIRS), $(INSTALL_INC_bbb) )
|
|
||||||
INSTALL_INC_bbb = $(subst $(dir)/, , $(INSTALL_INC_aaa) )
|
|
||||||
INSTALL_INC_aaa = $(wildcard $(addsuffix /$(inc), $(dir)) )
|
|
||||||
|
|
||||||
#
|
|
||||||
# Rule 3
|
|
||||||
#
|
|
||||||
GENERATED_INSTALL_INC = $(INSTALL_INCLUDE)/$(inc)
|
|
||||||
|
|
||||||
COMMON_INC += $(filter $(COMMON_DIR)/%, $(foreach file, $(INC), \
|
|
||||||
$(firstword $(SOURCE_INC) $(COMMON_DIR)/$(file) ) ) )
|
|
||||||
SOURCE_INC = $(wildcard $(file) $(SOURCE_INC_bbb) )
|
|
||||||
SOURCE_INC_bbb = $(foreach dir, $(ALL_SRC_DIRS), $(SOURCE_INC_aaa) )
|
|
||||||
SOURCE_INC_aaa = $(addsuffix /$(file), $(dir) )
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE Versions 3.13.7
|
|
||||||
# and higher are distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
# Author: Andrew Johnson
|
|
||||||
# Date: 20 April 1995
|
|
||||||
#
|
|
||||||
# Experimental Physics and Industrial Control System (EPICS)
|
|
||||||
#
|
|
||||||
# CONFIG_ENV - EPICS Environment Parameter configuration file
|
|
||||||
#
|
|
||||||
# This file is read by the script base/src/libCom/env/bldEnvdata.pl
|
|
||||||
# Variable definitions must take the form
|
|
||||||
# VAR = VALUE
|
|
||||||
# or
|
|
||||||
# VAR = "Value containing spaces"
|
|
||||||
# with each one on its own line.
|
|
||||||
# Enclosing spaces and "" will be trimmed.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Default environment settings
|
|
||||||
|
|
||||||
# Channel Access:
|
|
||||||
# Details are in the CA reference manual
|
|
||||||
# (see CAref.html in this distribution)
|
|
||||||
EPICS_CA_ADDR_LIST=""
|
|
||||||
EPICS_CA_AUTO_ADDR_LIST=YES
|
|
||||||
EPICS_CA_NAME_SERVERS=""
|
|
||||||
EPICS_CA_CONN_TMO=30.0
|
|
||||||
EPICS_CA_REPEATER_PORT=5065
|
|
||||||
EPICS_CA_SERVER_PORT=5064
|
|
||||||
EPICS_CA_MAX_ARRAY_BYTES=16384
|
|
||||||
EPICS_CA_AUTO_ARRAY_BYTES=YES
|
|
||||||
EPICS_CA_BEACON_PERIOD=15.0
|
|
||||||
EPICS_CA_MAX_SEARCH_PERIOD=300.0
|
|
||||||
EPICS_CA_MCAST_TTL=1
|
|
||||||
EPICS_CAS_BEACON_PERIOD=
|
|
||||||
EPICS_CAS_BEACON_PORT=
|
|
||||||
EPICS_CAS_AUTO_BEACON_ADDR_LIST=""
|
|
||||||
EPICS_CAS_BEACON_ADDR_LIST=""
|
|
||||||
EPICS_CAS_SERVER_PORT=
|
|
||||||
EPICS_CAS_INTF_ADDR_LIST=""
|
|
||||||
EPICS_CAS_IGNORE_ADDR_LIST=""
|
|
||||||
|
|
||||||
# Log Server:
|
|
||||||
# EPICS_IOC_LOG_PORT Log server port number etc.
|
|
||||||
EPICS_IOC_LOG_PORT=7004
|
|
||||||
|
|
||||||
# Other services:
|
|
||||||
|
|
||||||
EPICS_CMD_PROTO_PORT=
|
|
||||||
EPICS_AR_PORT=7002
|
|
||||||
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2013 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in the file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
#
|
|
||||||
# Macros and rules to create a new installation file type
|
|
||||||
#
|
|
||||||
|
|
||||||
# --------------------------------------------------------------
|
|
||||||
# Module developers can now define a new type of file, e.g. ABC,
|
|
||||||
# so that files of type ABC will be installed into a directory
|
|
||||||
# defined by INSTALL_ABC. This is done by creating a new CONFIG<name>
|
|
||||||
# file, e.g. CONFIG_ABC, with the following lines:
|
|
||||||
#
|
|
||||||
# FILE_TYPE += ABC
|
|
||||||
# INSTALL_ABC = $(INSTALL_LOCATION)/abc
|
|
||||||
#
|
|
||||||
# The INSTALL_ABC directory should be be a subdirectory of
|
|
||||||
# $(INSTALL_LOCATION). The file type ABC should be target
|
|
||||||
# architecture independent (alh files, medm files, edm files).
|
|
||||||
#
|
|
||||||
# Files of type ABC are then installed into the INSTALL_ABC
|
|
||||||
# directory by adding a line like the following to a Makefile.
|
|
||||||
#
|
|
||||||
# ABC += <filename1> <filename2> <filename3>
|
|
||||||
#
|
|
||||||
# Rules necessary to create files of type ABC should be put in
|
|
||||||
# a RULES_ABC file. Variables used by those rules should appear
|
|
||||||
# in a CONFIG_ABC file.
|
|
||||||
#
|
|
||||||
# The module developer installs new CONFIG* or RULES* files
|
|
||||||
# into the directory $(INSTALL_LOCATION)/cfg by including the
|
|
||||||
# following Makefile line:
|
|
||||||
#
|
|
||||||
# CFG += CONFIG_ABC RULES_ABC
|
|
||||||
#
|
|
||||||
# CONFIG and RULES files in the $(INSTALL_LOCATION)/cfg directory
|
|
||||||
# are included by the Base config files so their definitions and
|
|
||||||
# rules are available for use by later src directory Makefiles in
|
|
||||||
# the same module, or by other modules with a RELEASE line that
|
|
||||||
# points to the TOP of the module providing these files.
|
|
||||||
|
|
||||||
FILE_TYPE += ADL
|
|
||||||
INSTALL_ADL = $(INSTALL_LOCATION)/adl
|
|
||||||
|
|
||||||
FILE_TYPE += ALH
|
|
||||||
INSTALL_ALH = $(INSTALL_LOCATION)/alh
|
|
||||||
|
|
||||||
FILE_TYPE += CFG
|
|
||||||
INSTALL_CFG = $(INSTALL_LOCATION)/cfg
|
|
||||||
|
|
||||||
FILE_TYPE += EDL
|
|
||||||
INSTALL_EDL = $(INSTALL_LOCATION)/edl
|
|
||||||
|
|
||||||
FILE_TYPE += PERL_MODULES
|
|
||||||
INSTALL_PERL_MODULES = $(INSTALL_LOCATION_LIB)/perl
|
|
||||||
|
|
||||||
FILE_TYPE += PKGCONFIG
|
|
||||||
INSTALL_PKGCONFIG = $(INSTALL_LOCATION_LIB)/pkgconfig
|
|
||||||
|
|
||||||
INSTALLS_CFG = $(CFG:%= $(INSTALL_CFG)/%)
|
|
||||||
DIRECTORY_TARGETS += $(foreach type, $(FILE_TYPE),$(INSTALL_$(type)))
|
|
||||||
|
|
||||||
@@ -1,178 +1,42 @@
|
|||||||
#*************************************************************************
|
# CONFIG_SITE
|
||||||
# Copyright (c) 2012 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in the file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
|
|
||||||
|
# Make any application-specific changes to the EPICS build
|
||||||
|
# configuration variables in this file.
|
||||||
#
|
#
|
||||||
# CONFIG_SITE - Global site configuration file
|
# Host/target specific settings can be specified in files named
|
||||||
#
|
# CONFIG_SITE.$(EPICS_HOST_ARCH).Common
|
||||||
|
# CONFIG_SITE.Common.$(T_A)
|
||||||
|
# CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
|
||||||
|
|
||||||
# The host architecture performing the build, in the form
|
# CHECK_RELEASE controls the consistency checking of the support
|
||||||
# <operating system>-<architecture>[-<toolset>]
|
# applications pointed to by the RELEASE* files.
|
||||||
#
|
# Normally CHECK_RELEASE should be set to YES.
|
||||||
# Currently Supporting:
|
# Set CHECK_RELEASE to NO to disable checking completely.
|
||||||
# cygwin-x86 (cygwin compiler used for host builds)
|
# Set CHECK_RELEASE to WARN to perform consistency checking but
|
||||||
# cygwin-x86_64 (cygwin compiler used for host builds)
|
# continue building even if conflicts are found.
|
||||||
# darwin-ppc (PowerPC based Apple running OSX)
|
CHECK_RELEASE = YES
|
||||||
# darwin-ppcx86 (Universal binaries for both CPUs)
|
|
||||||
# darwin-x86 (Intel based Apple running OSX)
|
|
||||||
# freebsd-x86 (GNU compiler used for host builds)
|
|
||||||
# freebsd-x86_64 (GNU compiler used for host builds)
|
|
||||||
# linux-arm (GNU compiler used for host builds)
|
|
||||||
# linux-ppc (GNU compiler used for host builds)
|
|
||||||
# linux-ppc64 (GNU compiler used for host builds)
|
|
||||||
# linux-x86 (GNU compiler used for host builds)
|
|
||||||
# linux-x86_64 (GNU compiler used for host builds)
|
|
||||||
# solaris-sparc (Sun compiler used for host builds)
|
|
||||||
# solaris-sparc-gnu (GNU compiler used for host builds)
|
|
||||||
# solaris-sparc64 (Sun compiler used for host builds)
|
|
||||||
# solaris-sparc64-gnu (GNU compiler used for host builds)
|
|
||||||
# solaris-x86 (Sun compiler used for host builds)
|
|
||||||
# solaris-x86-gnu (GNU compiler used for host builds)
|
|
||||||
# solaris-x86_64 (Sun compiler used for host builds)
|
|
||||||
# solaris-x86_64-gnu (GNU compiler used for host builds)
|
|
||||||
# win32-x86 (MS Visual C++ compiler used for host builds)
|
|
||||||
# win32-x86-mingw (MinGW compiler used for host builds)
|
|
||||||
# win32-x86-static (MS Visual C++ compiler used for host builds)
|
|
||||||
# windows-x64 (MS Visual C++ compiler used for host builds)
|
|
||||||
# windows-x64-mingw (MinGW compiler used for host builds)
|
|
||||||
# windows-x64-static (MS Visual C++ compiler used for host builds)
|
|
||||||
|
|
||||||
# Debugging builds:
|
# Set this when you only want to compile this application
|
||||||
# linux-arm-debug (GNU compiler used for host builds)
|
# for a subset of the cross-compiled target architectures
|
||||||
# linux-x86-debug (GNU compiler with -g option for host builds)
|
# that Base is built for.
|
||||||
# linux-x86_64-debug (GNU compiler with -g option for host builds)
|
#CROSS_COMPILER_TARGET_ARCHS = vxWorks-ppc32
|
||||||
# solaris-sparc-debug (sun compiler no optimization,-g for debugging info)
|
|
||||||
# win32-x86-debug (MS Visual C++ compiler with debug option for host builds)
|
|
||||||
# windows-x64-debug (MS Visual C++ compiler with debug option for host builds)
|
|
||||||
|
|
||||||
|
# To install files into a location other than $(TOP) define
|
||||||
|
# INSTALL_LOCATION here.
|
||||||
|
#INSTALL_LOCATION=</absolute/path/to/install/top>
|
||||||
|
|
||||||
# EPICS_HOST_ARCH is a required environment variable
|
# Set this when the IOC and build host use different paths
|
||||||
# Do not set EPICS_HOST_ARCH in this file.
|
# to the install location. This may be needed to boot from
|
||||||
# Use base/startup files to set EPICS_HOST_ARCH or
|
# a Microsoft FTP server say, or on some NFS configurations.
|
||||||
# provide EPICS_HOST_ARCH on the GNU make command line.
|
#IOCS_APPL_TOP = </IOC's/absolute/path/to/install/top>
|
||||||
|
|
||||||
# The cross-compiler architectures to build EPICS for
|
# For application debugging purposes, override the HOST_OPT and/
|
||||||
#
|
# or CROSS_OPT settings from base/configure/CONFIG_SITE
|
||||||
# Currently Supporting:
|
#HOST_OPT = NO
|
||||||
|
#CROSS_OPT = NO
|
||||||
|
|
||||||
# ios-arm (darwin-x86 host)
|
# These allow developers to override the CONFIG_SITE variable
|
||||||
# ios-386 (darwin-x86 host)
|
# settings without having to modify the configure/CONFIG_SITE
|
||||||
# linux-386 (linux-x86 host)
|
# file itself.
|
||||||
# linux-486 (linux-x86 host)
|
-include $(TOP)/../CONFIG_SITE.local
|
||||||
# linux-586 (linux-x86 host)
|
-include $(TOP)/configure/CONFIG_SITE.local
|
||||||
# linux-686 (linux-x86 host)
|
|
||||||
# linux-arm (linux-x86 or -x86_64 host)
|
|
||||||
# linux-arm_eb (linux-x86 host)
|
|
||||||
# linux-arm_el (linux-x86 host)
|
|
||||||
# linux-athlon (linux-x86 host)
|
|
||||||
# linux-cris (Axis GNU crosscompiler on linux-x86 host)
|
|
||||||
# linux-cris_v10 (Axis GNU crosscompiler on linux-x86 host)
|
|
||||||
# linux-cris_v32 (Axis GNU crosscompiler on linux-x86 host)
|
|
||||||
# linux-microblaze
|
|
||||||
# linux-xscale_be
|
|
||||||
# vxWorks-486
|
|
||||||
# vxWorks-68040
|
|
||||||
# vxWorks-68040lc
|
|
||||||
# vxWorks-68060
|
|
||||||
# vxWorks-pentium
|
|
||||||
# vxWorks-ppc32 (32-bit PowerPC CPUs with full FPU)
|
|
||||||
# vxWorks-ppc32sf (32-bit PowerPC CPUs without FPU)
|
|
||||||
# vxWorks-ppc603
|
|
||||||
# vxWorks-ppc603_long
|
|
||||||
# vxWorks-ppc604
|
|
||||||
# vxWorks-ppc604_long
|
|
||||||
# vxWorks-ppc604_altivec
|
|
||||||
# vxWorks-mpc8540
|
|
||||||
# vxWorks-mpc8548
|
|
||||||
# RTEMS-at91rm9200ek
|
|
||||||
# RTEMS-beatnik
|
|
||||||
# RTEMS-gen68360
|
|
||||||
# RTEMS-mcp750
|
|
||||||
# RTEMS-mvme167
|
|
||||||
# RTEMS-mvme2100
|
|
||||||
# RTEMS-mvme2700
|
|
||||||
# RTEMS-mvme3100
|
|
||||||
# RTEMS-mvme5500
|
|
||||||
# RTEMS-pc386
|
|
||||||
# RTEMS-psim
|
|
||||||
# RTEMS-uC5282
|
|
||||||
# win32-x86-mingw (linux-x86 or -x86_64 host)
|
|
||||||
#
|
|
||||||
|
|
||||||
# Which target architectures to cross-compile for.
|
|
||||||
# Definitions in configure/os/CONFIG_SITE.<host>.Common
|
|
||||||
# may override this setting.
|
|
||||||
CROSS_COMPILER_TARGET_ARCHS=
|
|
||||||
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-ppc32
|
|
||||||
|
|
||||||
# If only some of your host architectures can compile the
|
|
||||||
# above CROSS_COMPILER_TARGET_ARCHS specify those host
|
|
||||||
# architectures here. If the combination is complicated,
|
|
||||||
# set CROSS_COMPILER_TARGET_ARCHS in the appropriate
|
|
||||||
# configure/os/CONFIG_SITE.<host>.Common files instead.
|
|
||||||
CROSS_COMPILER_HOST_ARCHS=
|
|
||||||
|
|
||||||
# The 'runtests', 'tapfiles' and 'junitfiles' make targets normally only run
|
|
||||||
# self-tests for the EPICS_HOST_ARCH architecture. If the host can execute
|
|
||||||
# the self-test programs for any other cross-built architectures such as
|
|
||||||
# a -debug architecture, those architectures must be named in this variable:
|
|
||||||
CROSS_COMPILER_RUNTEST_ARCHS=
|
|
||||||
|
|
||||||
# Build shared libraries (DLLs on Windows).
|
|
||||||
# Must be either YES or NO. Definitions in the target-specific
|
|
||||||
# os/CONFIG.Common.<target> and os/CONFIG_SITE.Common.<target> files may
|
|
||||||
# override this setting. On Windows only these combinations are valid:
|
|
||||||
# SHARED_LIBRARIES = YES and STATIC_BUILD = NO
|
|
||||||
# SHARED_LIBRARIES = NO and STATIC_BUILD = YES
|
|
||||||
SHARED_LIBRARIES=YES
|
|
||||||
|
|
||||||
# Build client objects statically.
|
|
||||||
# Must be either YES or NO.
|
|
||||||
STATIC_BUILD=NO
|
|
||||||
|
|
||||||
# Host build optimization.
|
|
||||||
# Must be either YES or NO.
|
|
||||||
HOST_OPT=YES
|
|
||||||
|
|
||||||
# Cross build optimization.
|
|
||||||
# Must be either YES or NO.
|
|
||||||
CROSS_OPT=YES
|
|
||||||
|
|
||||||
# Generate verbose compiler warnings for host builds.
|
|
||||||
# Must be either YES or NO.
|
|
||||||
HOST_WARN=YES
|
|
||||||
|
|
||||||
# Generate verbose compiler warnings for cross-compiled builds.
|
|
||||||
# Must be either YES or NO.
|
|
||||||
CROSS_WARN=YES
|
|
||||||
|
|
||||||
# Installation directory, if you want Base to be installed into a
|
|
||||||
# different location then uncomment and set this.
|
|
||||||
#INSTALL_LOCATION=<fullpathname>
|
|
||||||
|
|
||||||
# Use POSIX thread priority scheduling (if available).
|
|
||||||
# Must be either YES or NO
|
|
||||||
USE_POSIX_THREAD_PRIORITY_SCHEDULING = YES
|
|
||||||
|
|
||||||
# Site version number, if set will append '-' and this string to the
|
|
||||||
# EPICS version number string that is reported by many tools.
|
|
||||||
EPICS_SITE_VERSION =
|
|
||||||
|
|
||||||
# For GNU compiler, use pipes rather than temporary files for
|
|
||||||
# communication between the various stages of compilation.
|
|
||||||
# Must be either YES or NO
|
|
||||||
GCC_PIPE = NO
|
|
||||||
|
|
||||||
# Set RPATH when linking executables and libraries.
|
|
||||||
# Must be either YES or NO. If you set this to NO you must also provide a
|
|
||||||
# way for Base executables to find their shared libraries when they are
|
|
||||||
# run at build-time, e.g. set the LD_LIBRARY_PATH environment variable.
|
|
||||||
LINKER_USE_RPATH = YES
|
|
||||||
|
|
||||||
# Overrides for the settings above may appear in a CONFIG_SITE.local file
|
|
||||||
-include $(CONFIG)/CONFIG_SITE.local
|
|
||||||
|
|||||||
@@ -1,83 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
# Author: Andrew Johnson
|
|
||||||
# Date: 1 May 1995
|
|
||||||
#
|
|
||||||
# Experimental Physics and Industrial Control System (EPICS)
|
|
||||||
#
|
|
||||||
# CONFIG_SITE_ENV - EPICS Environment Parameter Site configuration file
|
|
||||||
#
|
|
||||||
# This file is read by the script base/src/libCom/env/bldEnvdata.pl
|
|
||||||
# Variable definitions must take the form
|
|
||||||
# VAR = VALUE
|
|
||||||
# or
|
|
||||||
# VAR = "Value containing spaces"
|
|
||||||
# with each one on its own line.
|
|
||||||
# Enclosing spaces and "" will be trimmed.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Site-specific environment settings
|
|
||||||
|
|
||||||
# Time service:
|
|
||||||
# EPICS_TIMEZONE
|
|
||||||
# local timezone info for vxWorks and RTEMS IOCs. The format is
|
|
||||||
# <name>::<minutesWest>:<start daylight>:<end daylight>
|
|
||||||
# where the start and end are mmddhh - that is month,day,hour
|
|
||||||
# e.g. for ANL in 2016: EPICS_TIMEZONE=CST/CDT::360:031302:110602
|
|
||||||
#
|
|
||||||
# DST for 2016 US: Mar 13 - Nov 06
|
|
||||||
# EU: Mar 27 - Oct 30
|
|
||||||
# DST for 2017 US: Mar 12 - Nov 05
|
|
||||||
# EU: Mar 26 - Oct 29
|
|
||||||
# DST for 2018 US: Mar 11 - Nov 04
|
|
||||||
# EU: Mar 25 - Oct 28
|
|
||||||
# DST for 2019 US: Mar 10 - Nov 03
|
|
||||||
# EU: Mar 31 - Oct 27
|
|
||||||
# DST for 2020 US: Mar 08 - Nov 01
|
|
||||||
# EU: Mar 29 - Oct 25
|
|
||||||
# DST for 2021 US: Mar 14 - Nov 07
|
|
||||||
# EU: Mar 28 - Oct 31
|
|
||||||
# (see: http://www.timeanddate.com/time/dst/2016.html etc. )
|
|
||||||
#
|
|
||||||
# These values are for 2016:
|
|
||||||
EPICS_TIMEZONE=CST/CDT::360:031302:110602
|
|
||||||
#EPICS_TIMEZONE=CET/CEST::-60:032702:103002
|
|
||||||
|
|
||||||
# EPICS_TS_NTP_INET
|
|
||||||
# NTP time server ip address. Uses boot host if not set.
|
|
||||||
EPICS_TS_NTP_INET=
|
|
||||||
|
|
||||||
# IOC Shell:
|
|
||||||
# IOCSH_PS1
|
|
||||||
# Prompt string
|
|
||||||
# IOCSH_HISTSIZE
|
|
||||||
# Number of lines of command history to keep.
|
|
||||||
# IOCSH_HISTEDIT_DISABLE
|
|
||||||
# Prevents use of readline or equivalent if defined.
|
|
||||||
IOCSH_PS1="epics> "
|
|
||||||
IOCSH_HISTSIZE=50
|
|
||||||
IOCSH_HISTEDIT_DISABLE=
|
|
||||||
|
|
||||||
# Log Server:
|
|
||||||
# EPICS_IOC_LOG_INET
|
|
||||||
# Log server ip addr.
|
|
||||||
# EPICS_IOC_LOG_FILE_NAME
|
|
||||||
# pathname to the log file.
|
|
||||||
# EPICS_IOC_LOG_FILE_LIMIT
|
|
||||||
# maximum log file size.
|
|
||||||
# EPICS_IOC_LOG_FILE_COMMAND
|
|
||||||
# A shell command string used to obtain a new
|
|
||||||
# path name in response to SIGHUP - the new path name will
|
|
||||||
# replace any path name supplied in EPICS_IOC_LOG_FILE_NAME
|
|
||||||
|
|
||||||
EPICS_IOC_LOG_INET=
|
|
||||||
EPICS_IOC_LOG_FILE_NAME=
|
|
||||||
EPICS_IOC_LOG_FILE_COMMAND=
|
|
||||||
EPICS_IOC_LOG_FILE_LIMIT=1000000
|
|
||||||
|
|
||||||
@@ -1,24 +1,8 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2002 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
|
|
||||||
TOP=..
|
TOP=..
|
||||||
|
|
||||||
include $(TOP)/configure/CONFIG
|
include $(TOP)/configure/CONFIG
|
||||||
|
|
||||||
# Bootstrap resolution: tools not installed yet
|
TARGETS = $(CONFIG_TARGETS)
|
||||||
TOOLS = $(TOP)/src/tools
|
CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS)))
|
||||||
|
|
||||||
CONFIGS += $(subst ../,,$(wildcard ../CONFIG*))
|
|
||||||
CONFIGS += $(subst ../,,$(wildcard ../os/CONFIG*))
|
|
||||||
|
|
||||||
CONFIGS += $(subst ../,,$(wildcard ../RELEASE*))
|
|
||||||
CONFIGS += $(subst ../,,$(wildcard ../RULES*))
|
|
||||||
|
|
||||||
include $(TOP)/configure/RULES
|
include $(TOP)/configure/RULES
|
||||||
|
|
||||||
|
|||||||
@@ -1,22 +1,42 @@
|
|||||||
#*************************************************************************
|
# RELEASE - Location of external support modules
|
||||||
# Copyright (c) 2012 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in the file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# RELEASE: Define the location of external EPICS products
|
# IF YOU MAKE ANY CHANGES to this file you must subsequently
|
||||||
|
# do a "gnumake rebuild" in this application's top level
|
||||||
|
# directory.
|
||||||
#
|
#
|
||||||
|
# The build process does not check dependencies against files
|
||||||
# The version of this file in Base should normally be empty.
|
# that are outside this application, thus you should do a
|
||||||
|
# "gnumake rebuild" in the top level directory after EPICS_BASE
|
||||||
|
# or any other external module pointed to below is rebuilt.
|
||||||
#
|
#
|
||||||
# Define INSTALL_LOCATION in CONFIG_SITE
|
# Host- or target-specific settings can be given in files named
|
||||||
|
# RELEASE.$(EPICS_HOST_ARCH).Common
|
||||||
|
# RELEASE.Common.$(T_A)
|
||||||
|
# RELEASE.$(EPICS_HOST_ARCH).$(T_A)
|
||||||
|
#
|
||||||
|
# This file is parsed by both GNUmake and an EPICS Perl script,
|
||||||
|
# so it can ONLY contain definititions of paths to other support
|
||||||
|
# modules, variable definitions that are used in module paths,
|
||||||
|
# and include statements that pull in other RELEASE files.
|
||||||
|
# Variables may be used before their values have been set.
|
||||||
|
# Build variables that are NOT used in paths should be set in
|
||||||
|
# the CONFIG_SITE file.
|
||||||
|
|
||||||
# NB: Settings in RELEASE files can be overridden in files named
|
# Variables and paths to dependent modules:
|
||||||
# RELEASE.$(EPICS_HOST_ARCH).Common
|
#MODULES = /path/to/modules
|
||||||
# RELEASE.Common.$(T_A)
|
#MYMODULE = $(MODULES)/my-module
|
||||||
# RELEASE.$(EPICS_HOST_ARCH).$(T_A)
|
|
||||||
|
|
||||||
|
# If using the sequencer, point SNCSEQ at its top directory:
|
||||||
|
#SNCSEQ = $(MODULES)/seq-ver
|
||||||
|
|
||||||
|
# EPICS_BASE should appear last so earlier modules can override stuff:
|
||||||
|
EPICS_BASE = /home/ralph/work/EPICS/V3/3.16
|
||||||
|
|
||||||
|
# Set RULES here if you want to use build rules from somewhere
|
||||||
|
# other than EPICS_BASE:
|
||||||
|
#RULES = $(MODULES)/build-rules
|
||||||
|
|
||||||
|
# These allow developers to override the RELEASE variable settings
|
||||||
|
# without having to modify the configure/RELEASE file itself.
|
||||||
|
-include $(TOP)/../RELEASE.local
|
||||||
|
-include $(TOP)/configure/RELEASE.local
|
||||||
|
|||||||
@@ -1,20 +1,6 @@
|
|||||||
#*************************************************************************
|
# RULES
|
||||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE Versions 3.13.7
|
|
||||||
# and higher are distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
|
|
||||||
ifndef T_A
|
include $(CONFIG)/RULES
|
||||||
|
|
||||||
include $(CONFIG)/RULES_ARCHS
|
|
||||||
|
|
||||||
else #T_A
|
|
||||||
|
|
||||||
include $(CONFIG)/RULES_BUILD
|
|
||||||
|
|
||||||
endif # T_A defined
|
|
||||||
|
|
||||||
|
# Library should be rebuilt because LIBOBJS may have changed.
|
||||||
|
$(LIBNAME): ../Makefile
|
||||||
|
|||||||
@@ -1,541 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
#RULES.Db
|
|
||||||
|
|
||||||
# Set db substitutions and template file suffixes
|
|
||||||
SUBST_SUFFIX ?= .substitutions
|
|
||||||
TEMPL_SUFFIX ?= .template
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# vpath
|
|
||||||
|
|
||||||
vpath %.pm $(USR_VPATH) $(SRC_DIRS) $(dir $(DBD))
|
|
||||||
vpath %.pod $(USR_VPATH) $(SRC_DIRS) $(dir $(DBD))
|
|
||||||
vpath %.dbd $(USR_VPATH) $(SRC_DIRS) $(dir $(DBD))
|
|
||||||
vpath %.db $(USR_VPATH) $(SRC_DIRS) $(dir $(DB))
|
|
||||||
vpath %.vdb $(USR_VPATH) $(SRC_DIRS) $(dir $(DB))
|
|
||||||
vpath %$(SUBST_SUFFIX) $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
|
|
||||||
vpath %$(TEMPL_SUFFIX) $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
|
|
||||||
vpath bpt%.data $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
|
|
||||||
vpath %.acf $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
|
|
||||||
vpath %.acs $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# dbflags dbdflags
|
|
||||||
|
|
||||||
DBD_SEARCH_DIRS = . .. $(COMMON_DIR) $(SRC_DIRS) $(INSTALL_DBD) $(RELEASE_DBD_DIRS)
|
|
||||||
DB_SEARCH_DIRS = . .. $(COMMON_DIR) $(SRC_DIRS) $(INSTALL_DB) $(RELEASE_DB_DIRS)
|
|
||||||
|
|
||||||
DBDFLAGS = $(USR_DBDFLAGS) $(CMD_DBDFLAGS) $(addprefix -I,$(DBD_SEARCH_DIRS))
|
|
||||||
DBFLAGS = $($*_DBFLAGS) $(USR_DBFLAGS) $(CMD_DBFLAGS) $(addprefix -I,$(DB_SEARCH_DIRS))
|
|
||||||
REGRDDFLAGS = $(DBDFLAGS) $($*_REGRDDFLAGS) $(USR_REGRDDFLAGS) $(CMD_REGRDDFLAGS)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Targets
|
|
||||||
|
|
||||||
# ---------------------------------------------------
|
|
||||||
# To allow os specific dbd files AND have the -j option work properly,
|
|
||||||
|
|
||||||
CROSS_TARGET_OS_TYPES = $(sort $(foreach target, \
|
|
||||||
$(EPICS_HOST_ARCH) $(CROSS_COMPILER_TARGET_ARCHS), \
|
|
||||||
$(firstword $(subst -, ,$(target)))))
|
|
||||||
DBD += $(foreach type, $(CROSS_TARGET_OS_TYPES), $(DBD_$(type)))
|
|
||||||
|
|
||||||
# Users add os specific dbd files to a Makefile as follows
|
|
||||||
#
|
|
||||||
# DBD_vxWorks += abcVx.dbd
|
|
||||||
# DBD_RTEMS += abcRTEMS.dbd
|
|
||||||
# DBD_solaris += abcSolaris.dbd
|
|
||||||
#
|
|
||||||
# ---------------------------------------------------
|
|
||||||
# DBD concatination files
|
|
||||||
|
|
||||||
COMMON_DBDCATS += $(addprefix $(COMMON_DIR)/,$(DBDCAT))
|
|
||||||
DBDCAT_SOURCES += $(foreach file, $($*_DBD), $(DBDCAT_SOURCE) )
|
|
||||||
DBDCAT_SOURCE = $(firstword $(wildcard $(file) $(foreach dir, \
|
|
||||||
$(DBD_SEARCH_DIRS),$(addsuffix /$(file),$(dir)))) \
|
|
||||||
$(COMMON_DIR)/$(file))
|
|
||||||
|
|
||||||
DBDCAT_COMMAND = $(if $(DBDCAT_SOURCES),\
|
|
||||||
$(CAT) $(DBDCAT_SOURCES) > $(notdir $@),\
|
|
||||||
@echo "No input files for $(notdir $@)")
|
|
||||||
|
|
||||||
INSTALL_DBDS += $(addprefix $(INSTALL_DBD)/,$(DBDCAT))
|
|
||||||
|
|
||||||
# ---------------------------------------------------
|
|
||||||
|
|
||||||
DBDINC_NAME = $(patsubst %.h,%,$(patsubst %.dbd,%,$(DBDINC)))
|
|
||||||
DBD += $(addsuffix .dbd,$(DBDINC_NAME))
|
|
||||||
INC += $(addsuffix .h,$(DBDINC_NAME))
|
|
||||||
|
|
||||||
INSTALL_DBDS += $(addprefix $(INSTALL_DBD)/,$(notdir $(DBD)))
|
|
||||||
|
|
||||||
COMMON_DBDS += $(filter $(COMMON_DIR)/%, $(foreach file, $(DBD), \
|
|
||||||
$(firstword $(SOURCE_DBD) $(COMMON_DIR)/$(file) ) ) )
|
|
||||||
SOURCE_DBD = $(wildcard $(file) $(SOURCE_DBD_bbb) )
|
|
||||||
SOURCE_DBD_bbb = $(foreach dir, $(GENERIC_SRC_DIRS), $(SOURCE_DBD_aaa) )
|
|
||||||
SOURCE_DBD_aaa = $(addsuffix /$(file), $(dir) )
|
|
||||||
|
|
||||||
INSTALL_DBS += $(addprefix $(INSTALL_DB)/,$(notdir $(DB)))
|
|
||||||
|
|
||||||
COMMON_DBS += $(filter $(COMMON_DIR)/%, $(foreach file, $(DB), \
|
|
||||||
$(firstword $(SOURCE_DB) $(COMMON_DIR)/$(file) ) ) )
|
|
||||||
SOURCE_DB = $(wildcard $(file) $(SOURCE_DB_bbb) )
|
|
||||||
SOURCE_DB_bbb = $(foreach dir, $(GENERIC_SRC_DIRS), $(SOURCE_DB_aaa) )
|
|
||||||
SOURCE_DB_aaa = $(addsuffix /$(file), $(dir) )
|
|
||||||
|
|
||||||
COMMONS = $(COMMON_DIR)/*.dbd $(COMMON_DIR)/*.db $(COMMON_DIR)/*.h \
|
|
||||||
$(COMMON_DIR)/*$(SUBST_SUFFIX) $(COMMON_DIR)/*$(TEMPL_SUFFIX)
|
|
||||||
|
|
||||||
# Remove trailing numbers (to 99) on stem
|
|
||||||
TEMPLATE1 = $(patsubst %0,%,$(patsubst %1,%,$(patsubst %2,%,$(patsubst %3,%, \
|
|
||||||
$(patsubst %4,%,$(patsubst %5,%,$(patsubst %6,%,$(patsubst %7,%, \
|
|
||||||
$(patsubst %8,%,$(patsubst %9,%,$*))))))))))
|
|
||||||
TEMPLATE2 = $(patsubst %0,%,$(patsubst %1,%,$(patsubst %2,%,$(patsubst %3,%, \
|
|
||||||
$(patsubst %4,%,$(patsubst %5,%,$(patsubst %6,%,$(patsubst %7,%, \
|
|
||||||
$(patsubst %8,%,$(patsubst %9,%,$(TEMPLATE1)))))))))))
|
|
||||||
TEMPLATE3 = $(addsuffix $(TEMPL_SUFFIX),$(addprefix ../,$(TEMPLATE2)))
|
|
||||||
TEMPLATE_FILENAME = $(firstword $(wildcard $($*_TEMPLATE) \
|
|
||||||
$(addprefix ../,$($*_TEMPLATE)) ../$*$(TEMPL_SUFFIX) $(TEMPLATE3) \
|
|
||||||
../template))
|
|
||||||
|
|
||||||
INSTALL_DB_INSTALLS = $(addprefix $(INSTALL_DB)/,$(notdir $(DB_INSTALLS)))
|
|
||||||
INSTALL_DBD_INSTALLS = $(addprefix $(INSTALL_DBD)/,$(notdir $(DBD_INSTALLS)))
|
|
||||||
|
|
||||||
COMMONDEP_TARGET = $(COMMON_DIR)/$(basename $@)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# acf files
|
|
||||||
|
|
||||||
# An access security configuration file, *.acf, can be created from
|
|
||||||
# an *.acs file (has format of acf file plus #include "filename" lines)
|
|
||||||
|
|
||||||
# flags for GNU compiler
|
|
||||||
ACF_CPPFLAGS_YES = -undef -nostdinc
|
|
||||||
ACF_CPPFLAGS = $(ACF_CPPFLAGS_$(GNU))
|
|
||||||
|
|
||||||
ACF_INCLUDES = -I. $(TARGET_INCLUDES) $(USR_INCLUDES)\
|
|
||||||
$(SRC_INCLUDES) -I$(INSTALL_DB)
|
|
||||||
ACFDEPENDS_CMD = $(MKMF) -m $@ $(ACF_INCLUDES) $(COMMONDEP_TARGET) $<
|
|
||||||
ACF_CMD = $(CPP) $(ACF_CPPFLAGS) $(ACF_INCLUDES) $< > $@
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# dependencies
|
|
||||||
|
|
||||||
HINC += $(addsuffix .h,$(DBDINC_NAME))
|
|
||||||
COMMON_DBDINC += $(addprefix $(COMMON_DIR)/,$(HINC))
|
|
||||||
|
|
||||||
DBDDEPENDS_FILES += $(addsuffix $(DEP),$(HINC) \
|
|
||||||
$(patsubst $(COMMON_DIR)/%,%,$(COMMON_DBS)) \
|
|
||||||
$(patsubst $(COMMON_DIR)/%,%, \
|
|
||||||
$(filter-out $(COMMON_DIR)/bpt%.dbd,$(COMMON_DBDS))))
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
|
|
||||||
ifndef T_A
|
|
||||||
|
|
||||||
DEP = .d
|
|
||||||
TEMPLATE3 += $(addsuffix $(TEMPL_SUFFIX), $(TEMPLATE2))
|
|
||||||
|
|
||||||
COMMON_DIR = .
|
|
||||||
INSTALL_DBDS =
|
|
||||||
INSTALL_DBS =
|
|
||||||
COMMON_DBDS = $(DBD)
|
|
||||||
COMMON_DBS = $(DB)
|
|
||||||
COMMONS = $(DBD) $(DB)
|
|
||||||
|
|
||||||
ACTIONS = inc
|
|
||||||
ACTIONS += build
|
|
||||||
ACTIONS += install
|
|
||||||
ACTIONS += buildInstall
|
|
||||||
ACTIONS += runtests tapfiles clean-tests test-results junitfiles
|
|
||||||
|
|
||||||
actionArchTargets = $(foreach action, $(ACTIONS), \
|
|
||||||
$(foreach arch, $(BUILD_ARCHS), $(action)$(DIVIDER)$(arch)))
|
|
||||||
cleanArchTargets = $(foreach arch, $(BUILD_ARCHS), clean$(DIVIDER)$(arch))
|
|
||||||
|
|
||||||
-include $(TOP)/configure/CONFIG_APP_INCLUDE
|
|
||||||
|
|
||||||
all: install
|
|
||||||
|
|
||||||
install: buildInstall
|
|
||||||
|
|
||||||
buildInstall : build
|
|
||||||
|
|
||||||
rebuild: clean install
|
|
||||||
|
|
||||||
.PHONY: all $(ACTIONS)
|
|
||||||
|
|
||||||
$(actionArchTargets) $(BUILD_ARCHS): install
|
|
||||||
$(cleanArchTargets): clean
|
|
||||||
|
|
||||||
.PHONY: $(BUILD_ARCHS) $(actionArchTargets) $(cleanArchTargets)
|
|
||||||
|
|
||||||
else
|
|
||||||
# T_A is defined
|
|
||||||
ifeq ($(EPICS_HOST_ARCH),$(T_A))
|
|
||||||
host: install
|
|
||||||
else
|
|
||||||
host:
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PHONY: host
|
|
||||||
endif # T_A
|
|
||||||
|
|
||||||
ifneq (,$(strip $(DBDDEPENDS_FILES)))
|
|
||||||
-include $(DBDDEPENDS_FILES)
|
|
||||||
endif
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# build dependancies, clean rule
|
|
||||||
|
|
||||||
inc : $(COMMON_INC) $(INSTALL_INC)
|
|
||||||
|
|
||||||
build : $(COMMON_DBDS) $(COMMON_DBS) $(COMMON_DBDCATS) \
|
|
||||||
$(INSTALL_DBDS) $(INSTALL_DBS) \
|
|
||||||
$(DBDDEPENDS_FILES) $(TARGETS) \
|
|
||||||
$(INSTALL_DB_INSTALLS) $(INSTALL_DBD_INSTALLS)
|
|
||||||
|
|
||||||
clean: db_clean
|
|
||||||
|
|
||||||
db_clean :
|
|
||||||
@$(RM) $(COMMONS) $(DBDDEPENDS_FILES)
|
|
||||||
@$(RM) *_registerRecordDeviceDriver.cpp
|
|
||||||
@$(RM) $(TARGETS)
|
|
||||||
|
|
||||||
.PHONY : db_clean
|
|
||||||
|
|
||||||
realclean: clean
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Dependency files
|
|
||||||
|
|
||||||
%Record.h$(DEP): $(COMMON_DIR)/%Record.dbd
|
|
||||||
@$(RM) $@
|
|
||||||
@$(DBTORECORDTYPEH) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
||||||
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
||||||
|
|
||||||
%Record.h$(DEP): %Record.dbd
|
|
||||||
@$(RM) $@
|
|
||||||
@$(DBTORECORDTYPEH) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
||||||
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
||||||
|
|
||||||
%Record.h$(DEP): ../%Record.dbd
|
|
||||||
@$(RM) $@
|
|
||||||
@$(DBTORECORDTYPEH) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
||||||
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
||||||
|
|
||||||
menu%.h$(DEP): $(COMMON_DIR)/menu%.dbd
|
|
||||||
@$(RM) $@
|
|
||||||
@$(DBTOMENUH) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
||||||
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
||||||
|
|
||||||
menu%.h$(DEP): menu%.dbd
|
|
||||||
@$(RM) $@
|
|
||||||
@$(DBTOMENUH) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
||||||
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
||||||
|
|
||||||
menu%.h$(DEP): ../menu%.dbd
|
|
||||||
@$(RM) $@
|
|
||||||
@$(DBTOMENUH) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
||||||
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
||||||
|
|
||||||
%.dbd$(DEP): %.dbd.pod
|
|
||||||
@$(RM) $@
|
|
||||||
@echo "$(COMMONDEP_TARGET): ../Makefile" > $@
|
|
||||||
|
|
||||||
%.dbd$(DEP): %Include.dbd
|
|
||||||
@$(RM) $@
|
|
||||||
@$(DBEXPAND) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
||||||
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
||||||
|
|
||||||
%.dbd$(DEP): ../%Include.dbd
|
|
||||||
@$(RM) $@
|
|
||||||
@$(DBEXPAND) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
||||||
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
||||||
|
|
||||||
%.dbd$(DEP):
|
|
||||||
@$(RM) $@
|
|
||||||
@$(DBEXPAND) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $($*_DBD) > $@
|
|
||||||
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
||||||
|
|
||||||
%.db$(DEP): %$(SUBST_SUFFIX)
|
|
||||||
@$(RM) $@
|
|
||||||
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) -S$< $(TEMPLATE_FILENAME) > $@
|
|
||||||
|
|
||||||
%.db$(DEP): ../%$(SUBST_SUFFIX)
|
|
||||||
@$(RM) $@
|
|
||||||
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) -S$< $(TEMPLATE_FILENAME) > $@
|
|
||||||
|
|
||||||
%.db$(DEP): %$(TEMPL_SUFFIX)
|
|
||||||
@$(RM) $@
|
|
||||||
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
||||||
|
|
||||||
%.db$(DEP): ../%$(TEMPL_SUFFIX)
|
|
||||||
@$(RM) $@
|
|
||||||
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
||||||
|
|
||||||
%.acf$(DEP): %.acs
|
|
||||||
@$(RM) $@
|
|
||||||
@$(ACFDEPENDS_CMD)
|
|
||||||
|
|
||||||
%.acf$(DEP): ../%.acs
|
|
||||||
@$(RM) $@
|
|
||||||
@$(ACFDEPENDS_CMD)
|
|
||||||
|
|
||||||
.PRECIOUS: %$(DEP)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Substitution files
|
|
||||||
|
|
||||||
# WARNING: CREATESUBSTITUTIONS script needs output dir on command line
|
|
||||||
|
|
||||||
ifdef CREATESUBSTITUTIONS
|
|
||||||
$(COMMON_DIR)/%$(SUBST_SUFFIX):
|
|
||||||
$(ECHO) "Create substitutions"
|
|
||||||
@$(RM) $@
|
|
||||||
$(CREATESUBSTITUTIONS) $@
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(INSTALL_DB)/%$(SUBST_SUFFIX): %$(SUBST_SUFFIX)
|
|
||||||
$(ECHO) "Installing substitution file $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_DB)/%$(SUBST_SUFFIX): ../%$(SUBST_SUFFIX)
|
|
||||||
$(ECHO) "Installing substitution file $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
.PRECIOUS: $(COMMON_DIR)/%$(SUBST_SUFFIX)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Template files
|
|
||||||
|
|
||||||
$(INSTALL_DB)/%$(TEMPL_SUFFIX): %$(TEMPL_SUFFIX)
|
|
||||||
$(ECHO) "Installing template file $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_DB)/%$(TEMPL_SUFFIX): ../%$(TEMPL_SUFFIX)
|
|
||||||
$(ECHO) "Installing template file $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
.PRECIOUS: $(COMMON_DIR)/%$(TEMPL_SUFFIX)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# INC files
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%Record.h: $(COMMON_DIR)/%Record.dbd
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(DBTORECORDTYPEH) $(DBDFLAGS) -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%Record.h: %Record.dbd
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(DBTORECORDTYPEH) $(DBDFLAGS) -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%Record.h: ../%Record.dbd
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(DBTORECORDTYPEH) $(DBDFLAGS) -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/menu%.h: $(COMMON_DIR)/menu%.dbd
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(DBTOMENUH) $(DBDFLAGS) -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/menu%.h: menu%.dbd
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(DBTOMENUH) $(DBDFLAGS) -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/menu%.h: ../menu%.dbd
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(DBTOMENUH) $(DBDFLAGS) -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
.PRECIOUS: $(COMMON_DIR)/%.h
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# DBD files
|
|
||||||
|
|
||||||
$(COMMON_DIR)/bpt%.dbd: bpt%.data
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(MAKEBPT) $< $(notdir $@)
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.dbd: %.dbd.pod
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(PERL) $(TOOLS)/podRemove.pl -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.dbd: %Include.dbd
|
|
||||||
$(ECHO) "Expanding dbd file $<"
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(DBEXPAND) $(DBDFLAGS) -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.dbd: ../%Include.dbd
|
|
||||||
$(ECHO) "Expanding dbd file $<"
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(DBEXPAND) $(DBDFLAGS) -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
# Make DBDCAT file x depend on x_DBD source files
|
|
||||||
define DBDCAT_template
|
|
||||||
$$(COMMON_DIR)/$(1).dbd : ../Makefile $$(foreach file, $$($(1)_DBD),$$(DBDCAT_SOURCE) )
|
|
||||||
endef
|
|
||||||
$(foreach name,$(subst .dbd,,$(DBDCAT)), $(eval $(call DBDCAT_template,$(name))))
|
|
||||||
|
|
||||||
$(COMMON_DBDCATS):$(COMMON_DIR)/%.dbd:
|
|
||||||
$(ECHO) "Creating dbd file $(notdir $@)"
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(DBDCAT_COMMAND)
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.dbd:
|
|
||||||
$(ECHO) "Creating dbd file $(notdir $@)"
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(DBEXPAND) $(DBDFLAGS) -o $(notdir $@) $($*_DBD)
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(INSTALL_DBD)/%: $(COMMON_DIR)/%
|
|
||||||
$(ECHO) "Installing created dbd file $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_DBD)/%: %
|
|
||||||
$(ECHO) "Installing dbd file $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_DBD)/%: ../%
|
|
||||||
$(ECHO) "Installing dbd file $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
define DBD_INSTALLS_template
|
|
||||||
$$(INSTALL_DBD)/$$(notdir $(1)) : $(1)
|
|
||||||
$(ECHO) "Installing $$@"
|
|
||||||
@$$(INSTALL) -d -m $$(INSTALL_PERMISSIONS) $$^ $$(INSTALL_DBD)
|
|
||||||
endef
|
|
||||||
$(foreach file, $(DBD_INSTALLS), $(eval $(call DBD_INSTALLS_template, $(file))))
|
|
||||||
|
|
||||||
.PRECIOUS: $(COMMON_DBDS) $(COMMON_DIR)/%.dbd
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# HTML files
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.html: %.dbd.pod $(TOOLS)/dbdToHtml.pl
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(PERL) $(TOOLS)/dbdToHtml.pl $(DBDFLAGS) -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.html: %.pod $(TOOLS)/podToHtml.pl
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(PERL) $(TOOLS)/podToHtml.pl -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.html: %.pm $(TOOLS)/podToHtml.pl
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(PERL) $(TOOLS)/podToHtml.pl -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.html: ../%.pm $(TOOLS)/podToHtml.pl
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(PERL) $(TOOLS)/podToHtml.pl -s -o $(notdir $@) $<
|
|
||||||
@$(MKDIR) $(dir $@)
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.html: ../%.pl $(TOOLS)/podToHtml.pl
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(PERL) $(TOOLS)/podToHtml.pl -s -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
.PRECIOUS: $(COMMON_DIR)/%.html %.html
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# DB files
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.db: $(COMMON_DIR)/%.edf
|
|
||||||
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) -n $*.VAR $<
|
|
||||||
@$(REPLACEVAR) < $*.VAR > $@
|
|
||||||
@$(RM) $*.VAR
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.db: %$(SUBST_SUFFIX)
|
|
||||||
$(ECHO) "Inflating database from $< $(TEMPLATE_FILENAME)"
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(MSI3_15) $(DBFLAGS) -o $(notdir $@) -S$< $(TEMPLATE_FILENAME)
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.db: ../%$(SUBST_SUFFIX)
|
|
||||||
$(ECHO) "Inflating database from $< $(TEMPLATE_FILENAME)"
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(MSI3_15) $(DBFLAGS) -o $(notdir $@) -S$< $(TEMPLATE_FILENAME)
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.db: %$(TEMPL_SUFFIX)
|
|
||||||
$(ECHO) "Inflating database from $<"
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(MSI3_15) $(DBFLAGS) -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.db: ../%$(TEMPL_SUFFIX)
|
|
||||||
$(ECHO) "Inflating database from $<"
|
|
||||||
@$(RM) $(notdir $@)
|
|
||||||
$(MSI3_15) $(DBFLAGS) -o $(notdir $@) $<
|
|
||||||
@$(MV) $(notdir $@) $@
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.acf: %.acs
|
|
||||||
$(ECHO) "Creating acf file $@"
|
|
||||||
@$(RM) $@
|
|
||||||
$(ACF_CMD)
|
|
||||||
|
|
||||||
$(COMMON_DIR)/%.acf: ../%.acs
|
|
||||||
$(ECHO) "Creating acf file $@"
|
|
||||||
@$(RM) $@
|
|
||||||
$(ACF_CMD)
|
|
||||||
|
|
||||||
.PRECIOUS: $(COMMON_DIR)/%.acf
|
|
||||||
|
|
||||||
$(INSTALL_DB)/%: %
|
|
||||||
$(ECHO) "Installing $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_DB)/%: ../%
|
|
||||||
$(ECHO) "Installing $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_DB)/%.db: $(COMMON_DIR)/%.db
|
|
||||||
$(ECHO) "Installing created db file $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
define DB_INSTALLS_template
|
|
||||||
$$(INSTALL_DB)/$$(notdir $(1)) : $(1)
|
|
||||||
$(ECHO) "Installing $$@"
|
|
||||||
@$$(INSTALL) -d -m $$(INSTALL_PERMISSIONS) $$^ $$(INSTALL_DB)
|
|
||||||
endef
|
|
||||||
$(foreach file, $(DB_INSTALLS), $(eval $(call DB_INSTALLS_template, $(file))))
|
|
||||||
|
|
||||||
.PRECIOUS: $(COMMON_DIR)/%.edf
|
|
||||||
.PRECIOUS: $(COMMON_DBS)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# register record,device,driver support
|
|
||||||
|
|
||||||
%_registerRecordDeviceDriver.cpp: $(COMMON_DIR)/%.dbd
|
|
||||||
@$(RM) $@
|
|
||||||
$(REGISTERRECORDDEVICEDRIVER) $(REGRDDFLAGS) -o $@ $< $(basename $@) $(IOCS_APPL_TOP)
|
|
||||||
|
|
||||||
%_registerRecordDeviceDriver.cpp: %.dbd
|
|
||||||
@$(RM) $@
|
|
||||||
$(REGISTERRECORDDEVICEDRIVER) $(REGRDDFLAGS) -o $@ $< $(basename $@) $(IOCS_APPL_TOP)
|
|
||||||
|
|
||||||
%_registerRecordDeviceDriver.cpp: ../%.dbd
|
|
||||||
@$(RM) $@
|
|
||||||
$(REGISTERRECORDDEVICEDRIVER) $(REGRDDFLAGS) -o $@ $< $(basename $@) $(IOCS_APPL_TOP)
|
|
||||||
|
|
||||||
.PRECIOUS: %_registerRecordDeviceDriver.cpp
|
|
||||||
|
|
||||||
@@ -1,37 +1,2 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2013 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
#RULES.ioc
|
#RULES.ioc
|
||||||
|
include $(CONFIG)/RULES.ioc
|
||||||
include $(CONFIG)/RULES_DIRS
|
|
||||||
|
|
||||||
build$(DIVIDER)$(ARCH) build: buildInstall
|
|
||||||
install$(DIVIDER)$(ARCH) install: buildInstall
|
|
||||||
$(ARCH): buildInstall
|
|
||||||
|
|
||||||
ifeq ($(filter $(ARCH),$(BUILD_ARCHS)),$(strip $(ARCH)))
|
|
||||||
buildInstall$(DIVIDER)$(ARCH) buildInstall: $(TARGETS)
|
|
||||||
|
|
||||||
clean$(DIVIDER)$(ARCH) clean:
|
|
||||||
$(RM) cdCommands envPaths dllPath.bat relPaths.sh
|
|
||||||
else
|
|
||||||
buildInstall$(DIVIDER)$(ARCH) buildInstall:
|
|
||||||
clean$(DIVIDER)$(ARCH) clean:
|
|
||||||
endif
|
|
||||||
|
|
||||||
cdCommands dllPath.bat relPaths.sh: \
|
|
||||||
$(wildcard $(TOP)/configure/RELEASE*) \
|
|
||||||
$(wildcard $(TOP)/configure/CONFIG_SITE*) | $(INSTALL_BIN)
|
|
||||||
$(CONVERTRELEASE) -a $(ARCH) -t $(IOCS_APPL_TOP) $@
|
|
||||||
|
|
||||||
envPaths: $(wildcard $(TOP)/configure/RELEASE*) \
|
|
||||||
$(wildcard $(TOP)/configure/CONFIG_SITE*) | $(INSTALL_BIN)
|
|
||||||
$(CONVERTRELEASE) -t $(IOCS_APPL_TOP) $@
|
|
||||||
|
|
||||||
realclean:
|
|
||||||
$(RM) cdCommands envPaths dllPath.bat relPaths.sh
|
|
||||||
|
|||||||
@@ -1,95 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2006 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in the file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
|
|
||||||
all: install
|
|
||||||
host: install$(DIVIDER)$(EPICS_HOST_ARCH)
|
|
||||||
|
|
||||||
ACTIONS = inc
|
|
||||||
ACTIONS += build
|
|
||||||
ACTIONS += install
|
|
||||||
ACTIONS += buildInstall
|
|
||||||
ACTIONS += runtests tapfiles clean-tests test-results junitfiles
|
|
||||||
|
|
||||||
actionArchTargets = $(foreach action, $(ACTIONS), \
|
|
||||||
$(addprefix $(action)$(DIVIDER), $(BUILD_ARCHS)))
|
|
||||||
|
|
||||||
cleanArchTargets = $(addprefix clean$(DIVIDER), $(BUILD_ARCHS))
|
|
||||||
|
|
||||||
buildDirs = $(addprefix O., $(BUILD_ARCHS))
|
|
||||||
|
|
||||||
# Include <top>/cfg/DIR_RULES* files from tops defined in RELEASE* files
|
|
||||||
# Do this here so they can add ACTIONS
|
|
||||||
#
|
|
||||||
RELEASE_CFG_DIR_RULES = $(foreach top, $(RELEASE_TOPS), \
|
|
||||||
$(wildcard $($(top))/cfg/DIR_RULES*))
|
|
||||||
ifneq ($(RELEASE_CFG_DIR_RULES),)
|
|
||||||
include $(RELEASE_CFG_DIR_RULES)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Create EPICS_HOST_ARCH dependancies for GNU make -j option.
|
|
||||||
# Needed in dirs where EPICS_HOST_ARCH build creates a tool used in
|
|
||||||
# cross arch builds
|
|
||||||
|
|
||||||
CROSS_ARCHS += $(CROSS1) $(CROSS2)
|
|
||||||
|
|
||||||
define DEP_template
|
|
||||||
$(2) : $(EPICS_HOST_ARCH)
|
|
||||||
$(1)$(DIVIDER)$(2) : $(1)$(DIVIDER)$(EPICS_HOST_ARCH) O.$(2)
|
|
||||||
endef
|
|
||||||
$(foreach action, $(ACTIONS), \
|
|
||||||
$(foreach arch, $(CROSS_ARCHS), \
|
|
||||||
$(eval $(call DEP_template,$(action),$(arch)))))
|
|
||||||
|
|
||||||
# Allows rebuild to work with parallel builds option, -j.
|
|
||||||
ifeq (rebuild,$(filter rebuild,$(MAKECMDGOALS)))
|
|
||||||
$(buildDirs) O.Common : clean
|
|
||||||
rebuild : install
|
|
||||||
endif
|
|
||||||
|
|
||||||
archPart = $(word 2, $(subst $(DIVIDER), ,$@))
|
|
||||||
actionPart = $(word 1, $(subst $(DIVIDER), ,$@))
|
|
||||||
$(actionArchTargets) : $(buildDirs) O.Common
|
|
||||||
$(MAKE) -C O.$(archPart) -f ../Makefile TOP=$(TOP)/.. \
|
|
||||||
T_A=$(archPart) $(actionPart)
|
|
||||||
|
|
||||||
$(BUILD_ARCHS) : % : O.% O.Common
|
|
||||||
$(MAKE) -C O.$@ -f ../Makefile TOP=$(TOP)/.. T_A=$@
|
|
||||||
|
|
||||||
$(ACTIONS) : % : $(foreach arch, $(BUILD_ARCHS), %$(DIVIDER)$(arch))
|
|
||||||
|
|
||||||
$(buildDirs):
|
|
||||||
$(PERL) $(TOOLS)/makeMakefile.pl $@ $(TOP)/..
|
|
||||||
|
|
||||||
O.Common:
|
|
||||||
$(MKDIR) O.Common
|
|
||||||
|
|
||||||
# Clean rules
|
|
||||||
#
|
|
||||||
clean: archsCommonClean
|
|
||||||
|
|
||||||
archsCommonClean:
|
|
||||||
$(RMDIR) $(buildDirs) O.Common
|
|
||||||
|
|
||||||
archclean:
|
|
||||||
$(RMDIR) $(buildDirs)
|
|
||||||
|
|
||||||
$(cleanArchTargets):
|
|
||||||
$(RMDIR) O.$(archPart)
|
|
||||||
|
|
||||||
realclean:
|
|
||||||
$(RMDIR) O.*
|
|
||||||
|
|
||||||
.PHONY : $(actionArchTargets)
|
|
||||||
.PHONY : $(cleanArchTargets)
|
|
||||||
.PHONY : $(BUILD_ARCHS) rebuild archsCommonClean
|
|
||||||
.PHONY : $(ACTIONS) clean realclean archclean host all
|
|
||||||
|
|
||||||
# User specific rules
|
|
||||||
#
|
|
||||||
-include $(HOME)/configure/RULES_USER
|
|
||||||
@@ -1,531 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2006 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in the file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
#
|
|
||||||
# Rules for making things specified in Makefile
|
|
||||||
#
|
|
||||||
# we are in O.$(T_A), but most sources are elsewhere
|
|
||||||
#
|
|
||||||
|
|
||||||
ifndef BASE_RULES_BUILD
|
|
||||||
BASE_RULES_BUILD=1
|
|
||||||
|
|
||||||
vpath %.c $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
vpath %.cc $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
vpath %.cpp $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
vpath %.rc $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
vpath %.h $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
vpath %.hpp $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
vpath %.html $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
vpath %.skel.static $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
vpath %.y $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
vpath %.l $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
vpath %.pl $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
|
|
||||||
include $(CONFIG)/CONFIG_ADDONS
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Set PROD, TESTPROD, OBJS, and LIBRARY
|
|
||||||
|
|
||||||
SCRIPTS_HOST += $(PERL_SCRIPTS)
|
|
||||||
# PERL_SCRIPTS are installed into existing $(INSTALL_BIN) for Host systems
|
|
||||||
|
|
||||||
ifeq ($(findstring Host,$(VALID_BUILDS)),Host)
|
|
||||||
LIBRARY += $(LIBRARY_HOST)
|
|
||||||
LOADABLE_LIBRARY += $(LOADABLE_LIBRARY_HOST)
|
|
||||||
OBJS += $(OBJS_HOST)
|
|
||||||
PROD += $(PROD_HOST)
|
|
||||||
SCRIPTS += $(SCRIPTS_HOST)
|
|
||||||
TESTLIBRARY += $(TESTLIBRARY_HOST)
|
|
||||||
TESTSCRIPTS += $(TESTSCRIPTS_HOST)
|
|
||||||
TESTPROD += $(TESTPROD_HOST)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(findstring Ioc,$(VALID_BUILDS)),Ioc)
|
|
||||||
LIBRARY += $(LIBRARY_IOC)
|
|
||||||
LOADABLE_LIBRARY += $(LOADABLE_LIBRARY_IOC)
|
|
||||||
OBJS += $(OBJS_IOC)
|
|
||||||
PROD += $(PROD_IOC)
|
|
||||||
SCRIPTS += $(SCRIPTS_IOC)
|
|
||||||
TESTLIBRARY += $(TESTLIBRARY_IOC)
|
|
||||||
TESTSCRIPTS += $(TESTSCRIPTS_IOC)
|
|
||||||
TESTPROD += $(TESTPROD_IOC)
|
|
||||||
endif
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
|
|
||||||
ifdef TEMPLATES_DIR
|
|
||||||
INSTALL_TEMPLATES_SUBDIR = $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)
|
|
||||||
else
|
|
||||||
INSTALL_TEMPLATES_SUBDIR = $(INSTALL_TEMPLATES)
|
|
||||||
endif
|
|
||||||
|
|
||||||
HTMLS_DIR ?= .
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# First target
|
|
||||||
|
|
||||||
all: install
|
|
||||||
ifeq ($(EPICS_HOST_ARCH),$T_A)
|
|
||||||
host: install
|
|
||||||
else
|
|
||||||
# Do nothing
|
|
||||||
host:
|
|
||||||
endif
|
|
||||||
|
|
||||||
-include $(CONFIG)/RULES_FILE_TYPE
|
|
||||||
|
|
||||||
-include $(CONFIG)/RULES.Db
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Include defines and rules for prod, library and test* targets
|
|
||||||
|
|
||||||
#ifneq (,$(strip $(PROD) $(TESTPROD) $(LIBRARY) $(TESTLIBRARY) $(LOADABLE_LIBRARY) ))
|
|
||||||
include $(CONFIG)/RULES_TARGET
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Read dependency files
|
|
||||||
|
|
||||||
ifneq (,$(strip $(HDEPENDS_FILES)))
|
|
||||||
$(filter-out $(wildcard *$(DEP)), $(HDEPENDS_FILES)): | $(COMMON_INC)
|
|
||||||
-include $(HDEPENDS_FILES)
|
|
||||||
endif
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Products and Object libraries
|
|
||||||
#
|
|
||||||
PRODTARGETS += $(PRODNAME) $(MUNCHNAME) $(CTDT_SRCS) $(CTDT_OBJS) $(NMS)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Test specifications and test result files
|
|
||||||
#
|
|
||||||
ifneq (,$(strip $(TESTS)))
|
|
||||||
TARGETS += testspec
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Enable testing if this host can run tests on the current target
|
|
||||||
ifneq (,$(findstring $(T_A),$(EPICS_HOST_ARCH) $(CROSS_COMPILER_RUNTEST_ARCHS)))
|
|
||||||
RUNTESTS_ENABLED = YES
|
|
||||||
TAPFILES += $(TESTSCRIPTS:.t=.tap)
|
|
||||||
JUNITFILES += $(TAPFILES:.tap=.xml)
|
|
||||||
endif
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Libraries
|
|
||||||
#
|
|
||||||
|
|
||||||
LIBTARGETS += $(LIBNAME) $(INSTALL_LIBS) $(TESTLIBNAME) \
|
|
||||||
$(SHRLIBNAME) $(INSTALL_SHRLIBS) $(TESTSHRLIBNAME) \
|
|
||||||
$(DLLSTUB_LIBNAME) $(INSTALL_DLLSTUB_LIBS) $(TESTDLLSTUB_LIBNAME) \
|
|
||||||
$(LOADABLE_SHRLIBNAME) $(INSTALL_LOADABLE_SHRLIBS)
|
|
||||||
|
|
||||||
|
|
||||||
# Main targets
|
|
||||||
|
|
||||||
install: buildInstall
|
|
||||||
|
|
||||||
buildInstall: build
|
|
||||||
|
|
||||||
# Allows rebuild to work with parallel builds option, -j.
|
|
||||||
install: $(patsubst rebuild,clean,$(filter rebuild,$(MAKECMDGOALS)))
|
|
||||||
|
|
||||||
rebuild: clean install
|
|
||||||
|
|
||||||
build: inc
|
|
||||||
|
|
||||||
build: $(OBJSNAME) $(LIBTARGETS) $(PRODTARGETS) $(TESTPRODNAME) \
|
|
||||||
$(TARGETS) $(TESTSCRIPTS) $(INSTALL_LIB_INSTALLS)
|
|
||||||
|
|
||||||
inc : $(COMMON_INC) $(INSTALL_INC) $(INSTALL_CONFIGS)
|
|
||||||
|
|
||||||
buildInstall : \
|
|
||||||
$(INSTALL_SCRIPTS) $(INSTALL_PROD) $(INSTALL_MUNCHS) \
|
|
||||||
$(INSTALL_TCLLIBS) $(INSTALL_TCLINDEX) \
|
|
||||||
$(INSTALL_OBJS) \
|
|
||||||
$(INSTALL_DOCS) \
|
|
||||||
$(INSTALL_HTMLS) \
|
|
||||||
$(INSTALL_TEMPLATE) \
|
|
||||||
$(INSTALL_BIN_INSTALLS)
|
|
||||||
|
|
||||||
clean: build_clean
|
|
||||||
|
|
||||||
build_clean:
|
|
||||||
$(ECHO) "Cleaning"
|
|
||||||
@$(RM) *.i *$(OBJ) *.a $(TESTPRODNAME) \
|
|
||||||
$(LIBNAME) $(TESTLIBNAME) $(SHRLIBNAME) $(TESTSHRLIBNAME) \
|
|
||||||
$(DLLSTUB_LIBNAME) $(TESTDLLSTUB_LIBNAME) \
|
|
||||||
$(LOADABLE_SHRLIBNAME) \
|
|
||||||
$(INC) $(TARGETS) $(TDS) $(CLEANS) \
|
|
||||||
*.out MakefileInclude *.manifest *.exp \
|
|
||||||
$(COMMON_INC) $(HDEPENDS_FILES) $(PRODTARGETS) \
|
|
||||||
$(TESTSCRIPTS) $(TAPFILES) $(JUNITFILES)
|
|
||||||
ifdef RES
|
|
||||||
@$(RM) *$(RES)
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(DIRECTORY_TARGETS) :
|
|
||||||
$(MKDIR) $@
|
|
||||||
|
|
||||||
# Install LIB_INSTALLS libraries before linking executables
|
|
||||||
$(TESTPRODNAME) $(PRODNAME): | $(INSTALL_LIB_INSTALLS)
|
|
||||||
|
|
||||||
# Install built libraries too, unless Makefile says to wait
|
|
||||||
ifneq ($(DELAY_INSTALL_LIBS),YES)
|
|
||||||
$(TESTPRODNAME) $(PRODNAME): | $(INSTALL_LIBS) $(INSTALL_DLLSTUB_LIBS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# RELEASE file consistency checking
|
|
||||||
checkRelease:
|
|
||||||
$(CONVERTRELEASE) checkRelease
|
|
||||||
warnRelease:
|
|
||||||
-$(CONVERTRELEASE) checkRelease
|
|
||||||
noCheckRelease:
|
|
||||||
ifeq ($(EPICS_HOST_ARCH),$(T_A))
|
|
||||||
$(info Warning: RELEASE file consistency checks have been disabled)
|
|
||||||
endif
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# The order of the following rules is
|
|
||||||
# VERY IMPORTANT !!!!
|
|
||||||
|
|
||||||
$(TESTPRODNAME) $(PRODNAME): $(PRODUCT_OBJS) $(PROD_RESS) $(PROD_DEPLIBS)
|
|
||||||
|
|
||||||
$(TESTPRODNAME) $(PRODNAME): %$(EXE):
|
|
||||||
@$(RM) $@
|
|
||||||
$(DEBUGCMD) $(LINK.cpp)
|
|
||||||
$(MT_EXE_COMMAND)
|
|
||||||
|
|
||||||
%_ctdt$(OBJ) : %_ctdt.c
|
|
||||||
@$(RM) $@
|
|
||||||
$(COMPILE.ctdt) $<
|
|
||||||
|
|
||||||
%$(DEP):%.c
|
|
||||||
@$(RM) $@
|
|
||||||
$(HDEPENDS.c) $<
|
|
||||||
|
|
||||||
%$(DEP):%.cc
|
|
||||||
@$(RM) $@
|
|
||||||
$(HDEPENDS.cpp) $<
|
|
||||||
|
|
||||||
%$(DEP):%.cpp
|
|
||||||
@$(RM) $@
|
|
||||||
$(HDEPENDS.cpp) $<
|
|
||||||
|
|
||||||
# Cancel GNUMake's built-in rules, which don't have our _INC
|
|
||||||
# dependencies so could get used in some circumstances (gdd)
|
|
||||||
%.o : %.c
|
|
||||||
%.o : %.cc
|
|
||||||
%.o : %.cpp
|
|
||||||
|
|
||||||
# Include files are order-only prerequisites for compilation:
|
|
||||||
%$(OBJ): %.c | $(COMMON_INC) $(INSTALL_INC)
|
|
||||||
@$(RM) $@
|
|
||||||
$(COMPILE.c) -c $<
|
|
||||||
|
|
||||||
%$(OBJ): %.cc | $(COMMON_INC) $(INSTALL_INC)
|
|
||||||
@$(RM) $@
|
|
||||||
$(COMPILE.cpp) -c $<
|
|
||||||
|
|
||||||
%$(OBJ): %.cpp | $(COMMON_INC) $(INSTALL_INC)
|
|
||||||
@$(RM) $@
|
|
||||||
$(COMPILE.cpp) -c $<
|
|
||||||
|
|
||||||
# Windows resource compiler
|
|
||||||
%$(RES): %.rc
|
|
||||||
@$(RM) $@
|
|
||||||
$(RCCMD)
|
|
||||||
|
|
||||||
YACCOPT ?= $($*_YACCOPT)
|
|
||||||
#
|
|
||||||
# rename the y.tab.h file only if we
|
|
||||||
# are creating it
|
|
||||||
#
|
|
||||||
%.c: %.y
|
|
||||||
@$(RM) $*.tab.c
|
|
||||||
@$(RM) $*.tab.h
|
|
||||||
$(YACC) -b$* $(YACCOPT) $<
|
|
||||||
$(MV) $*.tab.c $*.c
|
|
||||||
$(if $(findstring -d, $(YACCOPT)),$(MV) $*.tab.h $*.h,)
|
|
||||||
|
|
||||||
# must be a seperate rule since when not using '-d' the
|
|
||||||
# prefix for .h will be different then .c
|
|
||||||
%.h : %.c %.y
|
|
||||||
|
|
||||||
%.c: %.l
|
|
||||||
@$(RM) $*.yy.c
|
|
||||||
$(LEX) $(LEXOPT) -t $< > $*.yy.c
|
|
||||||
@$(RM) $@
|
|
||||||
$(MV) $*.yy.c $@
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Libraries, shared/DLL and stubs
|
|
||||||
|
|
||||||
$(LIBNAME) $(TESTLIBNAME): $(LIBRARY_OBJS)
|
|
||||||
|
|
||||||
$(filter-out $(DLLSTUB_LIBNAME) $(TESTDLLSTUB_LIBNAME), $(LIBNAME) $(TESTLIBNAME)): $(LIB_PREFIX)%$(LIB_SUFFIX):
|
|
||||||
@$(RM) $@
|
|
||||||
$(ARCMD)
|
|
||||||
ifneq ($(strip $(RANLIB)),)
|
|
||||||
$(RANLIB) $@
|
|
||||||
endif # RANLIB
|
|
||||||
|
|
||||||
$(SHRLIBNAME) $(DLLSTUB_LIBNAME) $(TESTSHRLIBNAME) $(TESTDLLSTUB_LIBNAME): \
|
|
||||||
$(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
|
|
||||||
|
|
||||||
# Stub library timestamps may be earlier than the DLL itself.
|
|
||||||
# This order-only prerequisite resolves any related problems.
|
|
||||||
# The $(LINK.shrlib) command must build both library files if
|
|
||||||
# the target requires a separate stub library file.
|
|
||||||
$(DLLSTUB_LIBNAME): | $(SHRLIBNAME);
|
|
||||||
$(SHRLIBNAME): $(SHRLIB_PREFIX)%$(SHRLIB_SUFFIX):
|
|
||||||
@$(RM) $@
|
|
||||||
$(LINK.shrlib)
|
|
||||||
$(MT_DLL_COMMAND)
|
|
||||||
|
|
||||||
$(TESTDLLSTUB_LIBNAME): | $(TESTSHRLIBNAME);
|
|
||||||
$(TESTSHRLIBNAME): $(SHRLIB_PREFIX)%$(SHRLIB_SUFFIX):
|
|
||||||
@$(RM) $@
|
|
||||||
$(LINK.shrlib)
|
|
||||||
$(MT_DLL_COMMAND)
|
|
||||||
|
|
||||||
$(LOADABLE_SHRLIBNAME): $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
|
|
||||||
|
|
||||||
$(LOADABLE_SHRLIBNAME): $(LOADABLE_SHRLIB_PREFIX)%$(LOADABLE_SHRLIB_SUFFIX):
|
|
||||||
@$(RM) $@
|
|
||||||
$(LINK.shrlib)
|
|
||||||
$(MT_DLL_COMMAND)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# C++ munching for VxWorks
|
|
||||||
|
|
||||||
%.nm: %$(EXE)
|
|
||||||
@$(RM) $@
|
|
||||||
$(NM) $< > $@
|
|
||||||
|
|
||||||
%.nm: %$(OBJ)
|
|
||||||
@$(RM) $@
|
|
||||||
$(NM) $< > $@
|
|
||||||
|
|
||||||
%_ctdt.c: %.nm $(TOOLS)/munch.pl
|
|
||||||
@$(RM) $@
|
|
||||||
$(PERL) $(TOOLS)/munch.pl -o $@ $<
|
|
||||||
|
|
||||||
$(MUNCHNAME): %$(MUNCH_SUFFIX): $(MUNCH_DEPENDS) %$(EXE)
|
|
||||||
@$(RM) $@
|
|
||||||
$(MUNCH_CMD)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# GeSys modules for RTEMS
|
|
||||||
$(MODNAME): %$(MODEXT): %$(EXE)
|
|
||||||
@echo "Building module $@"
|
|
||||||
@$(RM) $@
|
|
||||||
$(LINK.mod)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Automated testing
|
|
||||||
|
|
||||||
runtests: $(TESTSCRIPTS)
|
|
||||||
ifdef RUNTESTS_ENABLED
|
|
||||||
-$(PERL) -MTest::Harness -e 'runtests @ARGV if @ARGV;' $^
|
|
||||||
endif
|
|
||||||
|
|
||||||
testspec: $(TESTSCRIPTS)
|
|
||||||
@$(RM) $@
|
|
||||||
@echo OS-class: $(OS_CLASS) > $@
|
|
||||||
@echo Target-arch: $(T_A) >> $@
|
|
||||||
$(if $^, @echo Tests: $^ >> $@)
|
|
||||||
$(if $(TESTFILES), @echo Files: $(TESTFILES) >> $@)
|
|
||||||
$(if $(TESTSPEC_$(OS_CLASS)), @echo "Harness: $(TESTSPEC_$(OS_CLASS))" >> $@)
|
|
||||||
|
|
||||||
test-results: tapfiles
|
|
||||||
ifneq ($(TAPFILES),)
|
|
||||||
ifdef RUNTESTS_ENABLED
|
|
||||||
prove --failures --ext .tap --exec cat --color $(TAPFILES)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
clean-tests:
|
|
||||||
ifneq ($(TAPFILES),)
|
|
||||||
$(RM) $(TAPFILES)
|
|
||||||
endif
|
|
||||||
ifneq ($(JUNITFILES),)
|
|
||||||
$(RM) $(JUNITFILES)
|
|
||||||
endif
|
|
||||||
|
|
||||||
tapfiles: $(TESTSCRIPTS) $(TAPFILES)
|
|
||||||
junitfiles: $(JUNITFILES)
|
|
||||||
|
|
||||||
# A .tap file is the output from running the associated test script
|
|
||||||
%.tap: %.t
|
|
||||||
ifdef RUNTESTS_ENABLED
|
|
||||||
-$(PERL) $< -tap > $@
|
|
||||||
endif
|
|
||||||
|
|
||||||
%.xml: %.tap
|
|
||||||
$(TAPTOJUNIT) --puretap --output $@ --input $< $*
|
|
||||||
|
|
||||||
# If there's a perl test script (.plt) available, use it
|
|
||||||
%.t: ../%.plt
|
|
||||||
@$(RM) $@
|
|
||||||
$(CP) $< $@
|
|
||||||
|
|
||||||
# Test programs (.t files) must be written in Perl.
|
|
||||||
# Generate a perl program to exec the real test binary.
|
|
||||||
%.t: %$(EXE) $(TOOLS)/makeTestfile.pl
|
|
||||||
@$(RM) $@
|
|
||||||
$(PERL) $(TOOLS)/makeTestfile.pl $@ $<
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Generate header with version number from VCS
|
|
||||||
|
|
||||||
ifneq ($(GENVERSION),)
|
|
||||||
$(COMMON_DIR)/$(GENVERSION): FORCE
|
|
||||||
$(GENVERSIONHEADER) -t $(TOP) -N $(GENVERSIONMACRO) -V "$(GENVERSIONDEFAULT)" $@
|
|
||||||
endif
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Install rules for BIN_INSTALLS and LIB_INSTALLS
|
|
||||||
|
|
||||||
define BIN_INSTALLS_template
|
|
||||||
$$(INSTALL_BIN)/$$(notdir $(1)) : $(1)
|
|
||||||
$(ECHO) "Installing $$(<F)"
|
|
||||||
@$$(INSTALL) -d -m $$(BIN_PERMISSIONS) $$^ $$(INSTALL_BIN)
|
|
||||||
endef
|
|
||||||
$(foreach file, $(BIN_INSTALLS), $(eval $(call BIN_INSTALLS_template, $(file))))
|
|
||||||
|
|
||||||
define LIB_INSTALLS_template
|
|
||||||
$$(INSTALL_LIB)/$$(notdir $(1)) : $(1)
|
|
||||||
$(ECHO) "Installing $$(<F)"
|
|
||||||
@$$(INSTALL) -d -m $$(LIB_PERMISSIONS) $$^ $$(INSTALL_LIB)
|
|
||||||
endef
|
|
||||||
$(foreach file, $(LIB_INSTALLS), $(eval $(call LIB_INSTALLS_template, $(file))))
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
|
|
||||||
$(INSTALL_BIN)/%: ../os/$(OS_CLASS)/%
|
|
||||||
$(ECHO) "Installing os-specific script $@"
|
|
||||||
@$(INSTALL_PRODUCT) -d -m $(BIN_PERMISSIONS) $< $(INSTALL_BIN)
|
|
||||||
|
|
||||||
$(INSTALL_BIN)/%: %
|
|
||||||
$(ECHO) "Installing created executable $@"
|
|
||||||
@$(INSTALL_PRODUCT) -d -m $(BIN_PERMISSIONS) $< $(INSTALL_BIN)
|
|
||||||
|
|
||||||
$(INSTALL_BIN)/%: ../%
|
|
||||||
$(ECHO) "Installing script $@"
|
|
||||||
@$(INSTALL_PRODUCT) -d -m $(BIN_PERMISSIONS) $< $(INSTALL_BIN)
|
|
||||||
|
|
||||||
$(INSTALL_LIB)/%$(LIB_SUFFIX): %$(LIB_SUFFIX)
|
|
||||||
$(ECHO) "Installing library $@"
|
|
||||||
@$(INSTALL_LIBRARY) -d -m $(LIB_PERMISSIONS) $< $(INSTALL_LIB)
|
|
||||||
|
|
||||||
ifneq ($(LIB_SUFFIX),$(DLLSTUB_SUFFIX))
|
|
||||||
$(INSTALL_LIB)/%$(DLLSTUB_SUFFIX): %$(DLLSTUB_SUFFIX)
|
|
||||||
$(ECHO) "Installing DLL stub library $@"
|
|
||||||
@$(INSTALL_LIBRARY) -d -m $(LIB_PERMISSIONS) $< $(INSTALL_LIB)
|
|
||||||
endif # SUFFIX
|
|
||||||
|
|
||||||
$(INSTALL_SHRLIBS): $(INSTALL_SHRLIB)/%: %
|
|
||||||
$(ECHO) "Installing shared library $@"
|
|
||||||
@$(INSTALL_LIBRARY) -d -m $(SHRLIB_PERMISSIONS) $< $(INSTALL_SHRLIB)
|
|
||||||
ifneq ($(SHRLIB_SUFFIX),$(SHRLIB_SUFFIX_BASE))
|
|
||||||
ifneq (,$(strip $(SHRLIB_VERSION)))
|
|
||||||
@$(RM) $(subst $(SHRLIB_SUFFIX),$(SHRLIB_SUFFIX_BASE),$@)
|
|
||||||
ln -s $< $(subst $(SHRLIB_SUFFIX),$(SHRLIB_SUFFIX_BASE),$@)
|
|
||||||
endif # SHRLIB_VERSION
|
|
||||||
endif # SHRLIB_SUFFIX
|
|
||||||
|
|
||||||
ifneq ($(INSTALL_TCLLIB),$(INSTALL_BIN))
|
|
||||||
$(INSTALL_TCLLIB)/%: %
|
|
||||||
$(ECHO) "Installing Tcl library $@"
|
|
||||||
@$(INSTALL) -d -m $(BIN_PERMISSIONS) $< $(INSTALL_TCLLIB)
|
|
||||||
|
|
||||||
$(INSTALL_TCLLIB)/%: ../%
|
|
||||||
$(ECHO) "Installing Tcl library $@"
|
|
||||||
@$(INSTALL) -d -m $(BIN_PERMISSIONS) $< $(INSTALL_TCLLIB)
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(INSTALL_TCLLIB)/$(TCLINDEX): $(INSTALL_TCLLIBS)
|
|
||||||
$(ECHO) "Updating $@"
|
|
||||||
$(ECHO) eval auto_mkindex $(INSTALL_TCLLIB) "$(TCLLIBNAME)" | tclsh
|
|
||||||
|
|
||||||
$(INSTALL_LOADABLE_SHRLIBS): $(INSTALL_SHRLIB)/%: %
|
|
||||||
$(ECHO) "Installing loadable shared library $@"
|
|
||||||
@$(INSTALL_LIBRARY) -d -m $(SHRLIB_PERMISSIONS) $< $(INSTALL_SHRLIB)
|
|
||||||
ifneq ($(LOADABLE_SHRLIB_SUFFIX),$(SHRLIB_SUFFIX_BASE))
|
|
||||||
ifneq (,$(strip $(LOADABLE_SHRLIB_VERSION)))
|
|
||||||
@$(RM) $(subst $(LOADABLE_SHRLIB_SUFFIX),$(SHRLIB_SUFFIX_BASE),$@)
|
|
||||||
ln -s $< $(subst $(LOADABLE_SHRLIB_SUFFIX),$(SHRLIB_SUFFIX_BASE),$@)
|
|
||||||
endif # LOADABLE_SHRLIB_VERSION
|
|
||||||
endif # LOADABLE_SHRLIB_SUFFIX
|
|
||||||
|
|
||||||
$(INSTALL_CONFIG)/%: %
|
|
||||||
$(ECHO) "Installing config file $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_CONFIG)/%: ../%
|
|
||||||
$(ECHO) "Installing config file $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_INCLUDE)/% : $(COMMON_DIR)/%
|
|
||||||
$(ECHO) "Installing generated generic include file $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_INCLUDE)/% : %
|
|
||||||
$(ECHO) "Installing generic include file $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_INCLUDE)/os/$(OS_CLASS)/% : %
|
|
||||||
$(ECHO) "Installing OS dependent include file $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_INCLUDE)/compiler/$(CMPLR_CLASS)/% : %
|
|
||||||
$(ECHO) "Installing compiler dependent include file $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_DOC)/%: %
|
|
||||||
$(ECHO) "Installing doc $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(INSTALL_DOC)
|
|
||||||
|
|
||||||
$(INSTALL_DOC)/%: ../%
|
|
||||||
$(ECHO) "Installing doc $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(INSTALL_DOC)
|
|
||||||
|
|
||||||
$(INSTALL_HTML)/$(HTMLS_DIR)/%: %
|
|
||||||
$(ECHO) "Installing html $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_HTML)/$(HTMLS_DIR)/%: ../%
|
|
||||||
$(ECHO) "Installing html $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_HTML)/$(HTMLS_DIR)/%: $(COMMON_DIR)/%
|
|
||||||
$(ECHO) "Installing generated html $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_TEMPLATES_SUBDIR)/%: ../%
|
|
||||||
$(ECHO) "Installing $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
$(INSTALL_TEMPLATES_SUBDIR)/%: %
|
|
||||||
$(ECHO) "Installing $@"
|
|
||||||
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
||||||
|
|
||||||
-include $(CONFIG)/RULES_EXPAND
|
|
||||||
|
|
||||||
.PRECIOUS: %.i %.o %.c %.nm %.cpp %.cc
|
|
||||||
.PRECIOUS: $(COMMON_INC)
|
|
||||||
|
|
||||||
.PHONY: all host inc build install clean rebuild buildInstall build_clean
|
|
||||||
.PHONY: runtests tapfiles clean-tests test-results junitfiles
|
|
||||||
.PHONY: checkRelease warnRelease noCheckRelease FORCE
|
|
||||||
|
|
||||||
endif # BASE_RULES_BUILD
|
|
||||||
# EOF RULES_BUILD
|
|
||||||
@@ -1,98 +1,2 @@
|
|||||||
#*************************************************************************
|
#RULES_DIRS
|
||||||
# Copyright (c) 2006 UChicago Argonne LLC, as Operator of Argonne
|
include $(CONFIG)/RULES_DIRS
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in the file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
|
|
||||||
ARCHS += $(BUILD_ARCHS)
|
|
||||||
ACTIONS += inc build install buildInstall clean realclean archclean
|
|
||||||
ACTIONS += runtests tapfiles clean-tests test-results junitfiles
|
|
||||||
|
|
||||||
dirActionArchTargets = $(foreach dir, $(DIRS), \
|
|
||||||
$(foreach action, $(ACTIONS), \
|
|
||||||
$(foreach arch, $(ARCHS), \
|
|
||||||
$(dir)$(DIVIDER)$(action)$(DIVIDER)$(arch))))
|
|
||||||
dirArchTargets += $(foreach dir, $(DIRS), \
|
|
||||||
$(foreach arch, $(ARCHS), \
|
|
||||||
$(dir)$(DIVIDER)$(arch)))
|
|
||||||
dirActionTargets += $(foreach dir, $(DIRS), \
|
|
||||||
$(foreach action, $(ACTIONS), \
|
|
||||||
$(dir)$(DIVIDER)$(action)))
|
|
||||||
actionArchTargets = $(foreach action, $(ACTIONS), \
|
|
||||||
$(foreach arch, $(ARCHS), \
|
|
||||||
$(action)$(DIVIDER)$(arch)))
|
|
||||||
|
|
||||||
all: install
|
|
||||||
host: install$(DIVIDER)$(EPICS_HOST_ARCH)
|
|
||||||
|
|
||||||
# Include <top>/cfg/DIR_RULES* files from tops defined in RELEASE* files
|
|
||||||
# Do this here so they can add ACTIONS
|
|
||||||
#
|
|
||||||
RELEASE_CFG_DIR_RULES = $(foreach top, $(RELEASE_TOPS), \
|
|
||||||
$(wildcard $($(top))/cfg/DIR_RULES*))
|
|
||||||
ifneq ($(RELEASE_CFG_DIR_RULES),)
|
|
||||||
include $(RELEASE_CFG_DIR_RULES)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Allows rebuild to work with parallel builds option, -j.
|
|
||||||
ifeq (rebuild,$(filter rebuild,$(MAKECMDGOALS)))
|
|
||||||
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)install): \
|
|
||||||
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)clean)
|
|
||||||
rebuild: $(foreach dir, $(DIRS), $(dir)$(DIVIDER)install)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Create directory dependancies lines for GNU make -j option
|
|
||||||
# Only works with GNU make 3.81 or later (uses eval function)
|
|
||||||
define DEP_template1
|
|
||||||
$(1): $$($(1)_DEPEND_DIRS)
|
|
||||||
endef
|
|
||||||
$(foreach dir, $(DIRS), \
|
|
||||||
$(eval $(call DEP_template1,$(dir))))
|
|
||||||
|
|
||||||
define DEP_template2
|
|
||||||
$(1)$$(DIVIDER)$(2) : $$(foreach ddir, $$($(1)_DEPEND_DIRS), \
|
|
||||||
$$(addsuffix $$(DIVIDER)$(2),$$(ddir)))
|
|
||||||
endef
|
|
||||||
$(foreach action, $(ACTIONS), \
|
|
||||||
$(foreach dir, $(DIRS), \
|
|
||||||
$(eval $(call DEP_template2,$(dir),$(action)))))
|
|
||||||
|
|
||||||
define DEP_template3
|
|
||||||
$(1)$$(DIVIDER)$(2) : $$(foreach ddir, $$($(1)_DEPEND_DIRS), \
|
|
||||||
$$(addsuffix $$(DIVIDER)$(2),$$(ddir)))
|
|
||||||
endef
|
|
||||||
$(foreach arch, $(ARCHS), \
|
|
||||||
$(foreach dir, $(DIRS), \
|
|
||||||
$(eval $(call DEP_template3,$(dir),$(arch)))))
|
|
||||||
|
|
||||||
define DEP_template4
|
|
||||||
$(1)$$(DIVIDER)$(2)$$(DIVIDER)$(3) : $$(foreach ddir, $$($(1)_DEPEND_DIRS), \
|
|
||||||
$$(addsuffix $$(DIVIDER)$(2)$$(DIVIDER)$(3),$$(ddir)))
|
|
||||||
endef
|
|
||||||
$(foreach arch, $(ARCHS), \
|
|
||||||
$(foreach action, $(ACTIONS), \
|
|
||||||
$(foreach dir, $(DIRS), \
|
|
||||||
$(eval $(call DEP_template4,$(dir),$(action),$(arch))))))
|
|
||||||
|
|
||||||
dirPart = $(join $(dir $@), $(word 1, $(subst $(DIVIDER), ,$(notdir $@))))
|
|
||||||
actionArchPart = $(join $(word 2, $(subst $(DIVIDER), ,$(notdir $@))), \
|
|
||||||
$(addprefix $(DIVIDER),$(word 3, $(subst $(DIVIDER), ,$(notdir $@)))))
|
|
||||||
$(DIRS) $(dirActionTargets) $(dirArchTargets) $(dirActionArchTargets) :
|
|
||||||
$(MAKE) -C $(dirPart) $(actionArchPart)
|
|
||||||
|
|
||||||
$(ARCHS) $(ACTIONS) $(actionArchTargets) :%: \
|
|
||||||
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)%)
|
|
||||||
|
|
||||||
.PHONY : $(DIRS) all host rebuild
|
|
||||||
.PHONY : $(ARCHS) $(ACTIONS)
|
|
||||||
.PHONY : $(dirActionTargets) $(dirArchTargets)
|
|
||||||
.PHONY : $(dirActionArchTargets)
|
|
||||||
.PHONY : $(actionArchTargets)
|
|
||||||
|
|
||||||
|
|
||||||
# User specific rules
|
|
||||||
#
|
|
||||||
-include $(HOME)/configure/RULES_USER
|
|
||||||
|
|||||||
@@ -1,64 +0,0 @@
|
|||||||
# <top>/configure/RULES_EXPAND
|
|
||||||
|
|
||||||
vpath %@ $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Variable expansion
|
|
||||||
|
|
||||||
# Default settings
|
|
||||||
EXPAND_TOOL ?= $(PERL) $(TOOLS)/expandVars.pl
|
|
||||||
|
|
||||||
EXPANDFLAGS += -t $(INSTALL_LOCATION) -a $(T_A)
|
|
||||||
EXPANDFLAGS += $(addprefix -D ,$(EXPAND_VARS))
|
|
||||||
|
|
||||||
# The names of files to be expanded must end with '@'
|
|
||||||
EXPANDED = $(EXPAND:%@=%)
|
|
||||||
|
|
||||||
$(EXPANDED): %: %@
|
|
||||||
$(ECHO) "Expanding $< to $@"
|
|
||||||
@$(RM) $@
|
|
||||||
@$(EXPAND_TOOL) $(EXPANDFLAGS) $($@_EXPANDFLAGS) $< $@
|
|
||||||
|
|
||||||
clean: expand_clean
|
|
||||||
|
|
||||||
expand_clean:
|
|
||||||
@$(RM) $(EXPANDED)
|
|
||||||
|
|
||||||
.PRECIOUS: $(EXPANDED)
|
|
||||||
.PHONY: expand_clean
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# Assemblies (files assembled from snippets)
|
|
||||||
|
|
||||||
ASSEMBLE_TOOL ?= $(PERL) $(TOOLS)/assembleSnippets.pl
|
|
||||||
|
|
||||||
define COMMON_ASSEMBLY_template
|
|
||||||
$1_SNIPPETS += $$(foreach dir, .. $$(SRC_DIRS), \
|
|
||||||
$$(wildcard $$(dir)/$$($1_PATTERN)))
|
|
||||||
$(COMMON_DIR)/$1: $$($1_SNIPPETS)
|
|
||||||
$(ECHO) "Assembling common file $$@ from snippets"
|
|
||||||
@$(RM) $1
|
|
||||||
$(ASSEMBLE_TOOL) -o $1 $$^
|
|
||||||
@$(MV) $1 $$@
|
|
||||||
endef
|
|
||||||
$(foreach asy, $(COMMON_ASSEMBLIES), \
|
|
||||||
$(eval $(call COMMON_ASSEMBLY_template,$(strip $(asy)))))
|
|
||||||
|
|
||||||
define ASSEMBLY_template
|
|
||||||
$1_SNIPPETS += $$(foreach dir, .. $$(SRC_DIRS), \
|
|
||||||
$$(wildcard $$(dir)/$$($1_PATTERN)))
|
|
||||||
$1: $$($1_SNIPPETS)
|
|
||||||
$(ECHO) "Assembling file $$@ from snippets"
|
|
||||||
@$(RM) $$@
|
|
||||||
$(ASSEMBLE_TOOL) -o $$@ $$^
|
|
||||||
endef
|
|
||||||
$(foreach asy, $(ASSEMBLIES), \
|
|
||||||
$(eval $(call ASSEMBLY_template,$(strip $(asy)))))
|
|
||||||
|
|
||||||
define ASSEMBLY_DEP_template
|
|
||||||
$1$(DEP):
|
|
||||||
@echo $1: > $$@
|
|
||||||
endef
|
|
||||||
$(foreach asy, $(sort $(COMMON_ASSEMBLIES) $(ASSEMBLIES)), \
|
|
||||||
$(eval $(call ASSEMBLY_DEP_template,$(strip $(asy)))))
|
|
||||||
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2013 UChicago Argonne LLC, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in the file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
|
|
||||||
# Include <top>/configure/RULES_BUILD from tops defined in RELEASE* files
|
|
||||||
#
|
|
||||||
RELEASE_RULES_BUILDS = $(foreach top, $(RELEASE_TOPS), \
|
|
||||||
$(wildcard $($(top))/configure/RULES_BUILD))
|
|
||||||
ifneq ($(RELEASE_RULES_BUILDS),)
|
|
||||||
include $(RELEASE_RULES_BUILDS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Include <top>/cfg/RULES* files from tops defined in RELEASE* files
|
|
||||||
#
|
|
||||||
RELEASE_CFG_RULES = $(foreach top, $(RELEASE_TOPS), \
|
|
||||||
$(wildcard $($(top))/cfg/RULES*))
|
|
||||||
ifneq ($(RELEASE_CFG_RULES),)
|
|
||||||
include $(RELEASE_CFG_RULES)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# If this is not BASE then include <TOP>/configure/RULES_BUILD
|
|
||||||
#
|
|
||||||
ifeq ($(wildcard $(TOP)/configure/CONFIG_BASE_VERSION),)
|
|
||||||
TOP_RULES_BUILDS = $(wildcard $(TOP)/configure/RULES_BUILD)
|
|
||||||
ifneq ($(TOP_RULES_BUILDS),)
|
|
||||||
include $(TOP_RULES_BUILDS)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Include our own $(INSTALL_CFG)/RULES* files
|
|
||||||
#
|
|
||||||
TOP_CFG_RULES = $(wildcard $(INSTALL_CFG)/RULES*)
|
|
||||||
ifneq ($(TOP_CFG_RULES),)
|
|
||||||
include $(TOP_CFG_RULES)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Rules to install each FILE_TYPE
|
|
||||||
#
|
|
||||||
define FILE_TYPE_template
|
|
||||||
$(1) += $$(if $$(strip $$($(1)_$(OS_CLASS))), \
|
|
||||||
$$(subst -nil-,,$$($(1)_$(OS_CLASS))), \
|
|
||||||
$$($(1)_DEFAULT))
|
|
||||||
INSTALLS_$(1) = $$($(1):%=$$(INSTALL_$(1))/%)
|
|
||||||
|
|
||||||
$$(INSTALL_$(1))/%: ../%
|
|
||||||
$(ECHO) "Installing $(1) file $$@"
|
|
||||||
@$$(INSTALL) -d -m $$(INSTALL_PERMISSIONS) $$< $$(dir $$@)
|
|
||||||
$$(INSTALL_$(1))/%: %
|
|
||||||
$(ECHO) "Installing $(1) file $$@"
|
|
||||||
@$$(INSTALL) -d -m $$(INSTALL_PERMISSIONS) $$< $$(dir $$@)
|
|
||||||
|
|
||||||
buildInstall: $$(INSTALLS_$(1))
|
|
||||||
endef
|
|
||||||
$(foreach type, $(FILE_TYPE), \
|
|
||||||
$(eval $(call FILE_TYPE_template,$(strip $(type)))))
|
|
||||||
|
|
||||||
# Cleaning FILE_TYPE files
|
|
||||||
#
|
|
||||||
clean: file_type_clean
|
|
||||||
|
|
||||||
file_type_clean:
|
|
||||||
@$(RM) $(foreach type, $(FILE_TYPE), $($(type)))
|
|
||||||
|
|
||||||
.PHONY : file_type_clean
|
|
||||||
|
|
||||||
# User specific rules
|
|
||||||
#
|
|
||||||
-include $(HOME)/configure/RULES_USER
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE Versions 3.13.7
|
|
||||||
# and higher are distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
|
|
||||||
# Octave definitions and rules
|
|
||||||
|
|
||||||
ifeq ($(findstring Host,$(VALID_BUILDS)),Host)
|
|
||||||
|
|
||||||
FILE_TYPE += OCTAVE
|
|
||||||
INSTALL_OCTAVE = $(INSTALL_LOCATION_LIB)/octave
|
|
||||||
DIRECTORY_TARGETS += $(INSTALL_OCTAVE)
|
|
||||||
|
|
||||||
ifdef T_A
|
|
||||||
|
|
||||||
MKOCTFILE_FLAGS += --mex --verbose -DOCTAVE
|
|
||||||
MKOCTFILE_FLAGS += $(RELEASE_INCLUDES) $(addprefix -L,$(SHRLIB_SEARCH_DIRS))
|
|
||||||
|
|
||||||
vpath %.mex $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
vpath %.m $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
|
|
||||||
define OCTAVES_template
|
|
||||||
$(1) : $$($(1)_SRCS)
|
|
||||||
endef
|
|
||||||
$(foreach file, $(OCTAVES),$(eval $(call OCTAVES_template,$(strip $(file)))))
|
|
||||||
|
|
||||||
clean: octave_clean
|
|
||||||
|
|
||||||
#This clean works from O.* dirs.
|
|
||||||
octave_clean:
|
|
||||||
@$(RM) *.mex *.m
|
|
||||||
|
|
||||||
.PHONY: octave_clean
|
|
||||||
|
|
||||||
.PRECIOUS: *.m *.mex
|
|
||||||
|
|
||||||
%.mex:
|
|
||||||
mkoctfile $(MKOCTFILE_FLAGS) $($*_LIBS:%=-l%) $($*_SRCS)
|
|
||||||
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
# Makefile usage:
|
|
||||||
# OCTAVES += abc.mex def.mex
|
|
||||||
# abc_SRCS = a1.c a2.c
|
|
||||||
# abc_LIBS = ca Com
|
|
||||||
# def_SRCS = a3.c a4.c
|
|
||||||
# def_LIBS = ca Com
|
|
||||||
@@ -1,154 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE Versions 3.13.7
|
|
||||||
# and higher are distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
#
|
|
||||||
# RULES_TARGET
|
|
||||||
#
|
|
||||||
# This file is to be maintained by the community.
|
|
||||||
#
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
define TARGET_template
|
|
||||||
$(1)_$(2) += $$(if $$(strip $$($(1)_$(2)_$$(OS_CLASS))), \
|
|
||||||
$$(subst -nil-,,$$($(1)_$(2)_$$(OS_CLASS))), \
|
|
||||||
$$($(1)_$(2)_DEFAULT))
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(foreach type, SRCS RCS OBJS LDFLAGS OBJLIBS LDOBJS SYS_LIBS , \
|
|
||||||
$(foreach target, $(PROD) $(TESTPROD) $(LIBRARY) $(TESTLIBRARY) $(LOADABLE_LIBRARY) , \
|
|
||||||
$(eval $(call TARGET_template,$(strip $(target)),$(type)))))
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
# This define block requires GNU make 3.81
|
|
||||||
define PROD_template
|
|
||||||
ifeq ($$(strip $$($(1)_OBJS) $$($(1)_SRCS) $$(PRODUCT_OBJS)),)
|
|
||||||
$(1)_OBJS = $(1)$$(OBJ)
|
|
||||||
endif
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(foreach target, $(PROD) $(TESTPROD), \
|
|
||||||
$(eval $(call PROD_template,$(strip $(target)))))
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
define TARGET2_template
|
|
||||||
$(1)_LDLIBS += $$($(1)_LIBS)
|
|
||||||
$(1)_LDLIBS += $$(if $$(strip $$($(1)_LIBS_$(OS_CLASS))), \
|
|
||||||
$$(subst -nil-,,$$($(1)_LIBS_$(OS_CLASS))), \
|
|
||||||
$$($(1)_LIBS_DEFAULT))
|
|
||||||
|
|
||||||
$(1)_RESS = $$(if $(RES),$$(addsuffix $(RES),$$(basename $$($(1)_RCS))),)
|
|
||||||
$(1)_OBJSNAME = $$(addsuffix $(OBJ),$$(basename $$($(1)_OBJS) $$($(1)_SRCS) ))
|
|
||||||
$(1)_DEPLIBS = $$(foreach lib, $$($(1)_LDLIBS), \
|
|
||||||
$$(firstword $$(wildcard \
|
|
||||||
$$(addsuffix /$(DLLSTUB_PREFIX)$$(lib)$(DLLSTUB_SUFFIX), \
|
|
||||||
$$($$(lib)_DIR) $$(SHRLIB_SEARCH_DIRS)) \
|
|
||||||
$$(addsuffix /$(SHRLIB_PREFIX)$$(lib)*$(SHRLIB_SUFFIX_BASE)*, \
|
|
||||||
$$($$(lib)_DIR) $$(SHRLIB_SEARCH_DIRS)) \
|
|
||||||
$$(addsuffix /$(LIB_PREFIX)$$(lib)$(LIB_SUFFIX), \
|
|
||||||
$$($$(lib)_DIR) $$(SHRLIB_SEARCH_DIRS)) \
|
|
||||||
) $$(addsuffix /$(BUILDLIB_PREFIX)$$(lib)$(BUILDLIB_SUFFIX), \
|
|
||||||
$$(firstword $$($$(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))))
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(foreach target, $(PROD) $(TESTPROD) $(LIBRARY) $(TESTLIBRARY) $(LOADABLE_LIBRARY) , \
|
|
||||||
$(eval $(call TARGET2_template,$(strip $(target)))))
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
define PROD2_template
|
|
||||||
|
|
||||||
$(1)$$(EXE): $$($(1)_OBJSNAME) $$($(1)_RESS) $$($(1)_DEPLIBS)
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(foreach target, $(PROD) $(TESTPROD), \
|
|
||||||
$(eval $(call PROD2_template,$(strip $(target)))))
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
define LIBRARY_template
|
|
||||||
|
|
||||||
$(1)_DLL_DEPLIBS=$$(foreach lib, $$($(1)_DLL_LIBS), \
|
|
||||||
$$(firstword $$(wildcard \
|
|
||||||
$$(addsuffix /$(DLLSTUB_PREFIX)$$(lib)$(DLLSTUB_SUFFIX), \
|
|
||||||
$$($$(lib)_DIR) $$(SHRLIB_SEARCH_DIRS)) \
|
|
||||||
$$(addsuffix /$(SHRLIB_PREFIX)$$(lib)*$(SHRLIB_SUFFIX_BASE)*, \
|
|
||||||
$$($$(lib)_DIR) $$(SHRLIB_SEARCH_DIRS)) \
|
|
||||||
$$(addsuffix /$(LIB_PREFIX)$$(lib)$(LIB_SUFFIX), \
|
|
||||||
$$($$(lib)_DIR) $$(SHRLIB_SEARCH_DIRS)) \
|
|
||||||
) $$(addsuffix /$(BUILDLIB_PREFIX)$$(lib)$(BUILDLIB_SUFFIX), \
|
|
||||||
$$(firstword $$($$(lib)_DIR) $$(SHRLIB_SEARCH_DIRS)))))
|
|
||||||
|
|
||||||
$$(LIB_PREFIX)$(1)$$(LIB_SUFFIX):$$($(1)_OBJSNAME) $$($(1)_RESS)
|
|
||||||
$$(LIB_PREFIX)$(1)$$(LIB_SUFFIX):$$($(1)_DEPLIBS)
|
|
||||||
|
|
||||||
ifeq ($$(SHARED_LIBRARIES),YES)
|
|
||||||
|
|
||||||
ifdef SHRLIB_SUFFIX
|
|
||||||
$$(SHRLIB_PREFIX)$(1)$$(SHRLIB_SUFFIX):$$($(1)_OBJSNAME) $$($(1)_RESS)
|
|
||||||
$$(SHRLIB_PREFIX)$(1)$$(SHRLIB_SUFFIX):$$($(1)_DEPLIBS)
|
|
||||||
$$(SHRLIB_PREFIX)$(1)$$(SHRLIB_SUFFIX):$$($(1)_DLL_DEPLIBS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(foreach target, $(LIBRARY) $(TESTLIBRARY), \
|
|
||||||
$(eval $(call LIBRARY_template,$(strip $(target)))))
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
define LIBRARY2_template
|
|
||||||
BUILD_LIBRARY += $$(if $$(strip $$($(1)_OBJSNAME) $$(LIBRARY_OBJS)),$(1),)
|
|
||||||
|
|
||||||
# Needed for -j parallel builds option
|
|
||||||
ifeq ($$(SHARED_LIBRARIES),YES)
|
|
||||||
ifdef SHRLIB_SUFFIX
|
|
||||||
$$(INSTALL_LIB)/$$(DLLSTUB_PREFIX)$(1)$$(DLLSTUB_SUFFIX): \
|
|
||||||
$$(INSTALL_SHRLIB)/$$(SHRLIB_PREFIX)$(1)$$(SHRLIB_SUFFIX)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(foreach target, $(LIBRARY), \
|
|
||||||
$(eval $(call LIBRARY2_template,$(strip $(target)))))
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
define LIBRARY3_template
|
|
||||||
$(1)_DIR = .
|
|
||||||
TESTBUILD_LIBRARY += $$(if $$(strip $$($(1)_OBJSNAME) $$(LIBRARY_OBJS)),$(1),)
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(foreach target, $(TESTLIBRARY), \
|
|
||||||
$(eval $(call LIBRARY3_template,$(strip $(target)))))
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
define LOADABLE_LIBRARY_template
|
|
||||||
LOADABLE_BUILD_LIBRARY += $$(if $$(strip $$($(1)_OBJSNAME) $$(LIBRARY_OBJS)),$(1),)
|
|
||||||
|
|
||||||
$(1)_DLL_DEPLIBS=$$(foreach lib, $$($(1)_DLL_LIBS),\
|
|
||||||
$$(firstword $$(wildcard $$(addsuffix /$$(LIB_PREFIX)$$(lib).\*,\
|
|
||||||
$$($$(lib)_DIR) $$(SHRLIB_SEARCH_DIRS)))\
|
|
||||||
$$(addsuffix /$$(LIB_PREFIX)$$(lib)$$(LIB_SUFFIX),\
|
|
||||||
$$(firstword $$($$(lib)_DIR) $$(SHRLIB_SEARCH_DIRS)))))
|
|
||||||
|
|
||||||
$$(LOADABLE_SHRLIB_PREFIX)$(1)$$(LOADABLE_SHRLIB_SUFFIX):$$($(1)_OBJSNAME) $$($(1)_RESS)
|
|
||||||
$$(LOADABLE_SHRLIB_PREFIX)$(1)$$(LOADABLE_SHRLIB_SUFFIX):$$($(1)_DEPLIBS)
|
|
||||||
$$(LOADABLE_SHRLIB_PREFIX)$(1)$$(LOADABLE_SHRLIB_SUFFIX):$$($(1)_DLL_DEPLIBS)
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(foreach target, $(LOADABLE_LIBRARY), \
|
|
||||||
$(eval $(call LOADABLE_LIBRARY_template,$(strip $(target)))))
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
@@ -1,87 +1,2 @@
|
|||||||
#*************************************************************************
|
#RULES_TOP
|
||||||
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
|
include $(CONFIG)/RULES_TOP
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
||||||
# in the file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
|
|
||||||
include $(CONFIG)/RULES_DIRS
|
|
||||||
|
|
||||||
distclean: realclean cvsclean realuninstall
|
|
||||||
|
|
||||||
CVSCLEAN = $(call FIND_TOOL,cvsclean.pl)
|
|
||||||
cvsclean:
|
|
||||||
$(PERL) $(CVSCLEAN)
|
|
||||||
|
|
||||||
realuninstall: uninstallDirs
|
|
||||||
$(RMDIR) $(INSTALL_LOCATION_BIN)
|
|
||||||
$(RMDIR) $(INSTALL_LOCATION_LIB)
|
|
||||||
|
|
||||||
UNINSTALL_DIRS += $(INSTALL_DBD) $(INSTALL_INCLUDE) $(INSTALL_DOC) \
|
|
||||||
$(INSTALL_HTML) $(INSTALL_TEMPLATES) $(INSTALL_DB) $(DIRECTORY_TARGETS)
|
|
||||||
uninstallDirs:
|
|
||||||
$(RMDIR) $(UNINSTALL_DIRS)
|
|
||||||
|
|
||||||
uninstall: archuninstall uninstallDirs
|
|
||||||
|
|
||||||
archuninstall: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS)) | cleandirs
|
|
||||||
|
|
||||||
archPart = $(word 2, $(subst $(DIVIDER), ,$@))
|
|
||||||
uninstall$(DIVIDER)%:
|
|
||||||
$(RMDIR) $(INSTALL_LOCATION_BIN)/$(archPart)
|
|
||||||
$(RMDIR) $(INSTALL_LOCATION_LIB)/$(archPart)
|
|
||||||
|
|
||||||
cleandirs:
|
|
||||||
@$(NOP)
|
|
||||||
ifeq ($(wildcard $(INSTALL_LOCATION_BIN)/*),)
|
|
||||||
$(RMDIR) $(INSTALL_LOCATION_BIN)
|
|
||||||
endif
|
|
||||||
ifeq ($(wildcard $(INSTALL_LOCATION_LIB)/*),)
|
|
||||||
$(RMDIR) $(INSTALL_LOCATION_LIB)
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
help:
|
|
||||||
@echo "Usage: gnumake [options] [target] ..."
|
|
||||||
@echo "Targets supported by all Makefiles:"
|
|
||||||
@echo " all - Same as install (default rule)"
|
|
||||||
@echo " inc - Installs header files"
|
|
||||||
@echo " build - Builds and installs all targets"
|
|
||||||
@echo " install - Builds and installs all targets"
|
|
||||||
@echo " buildInstall - Same as install (deprecated)"
|
|
||||||
@echo " clean - Removes the O.<arch> dirs created by running make"
|
|
||||||
@echo " In O.<arch> dir, clean removes build created files"
|
|
||||||
@echo " realclean - Removes ALL O.<arch> dirs"
|
|
||||||
@echo " Cannot be used within an O.<arch> dir"
|
|
||||||
@echo " rebuild - Same as clean install"
|
|
||||||
@echo " archclean - Removes O.<arch> dirs but not O.Common dir"
|
|
||||||
@echo " runtests - Run self-tests, summarize results"
|
|
||||||
@echo "\"Partial\" build targets supported by Makefiles:"
|
|
||||||
@echo " host - Builds and installs $(EPICS_HOST_ARCH) only."
|
|
||||||
@echo " inc$(DIVIDER)<arch> - Installs <arch> only header files."
|
|
||||||
@echo " build$(DIVIDER)<arch> - Builds and installs <arch> only."
|
|
||||||
@echo " install$(DIVIDER)<arch> - Builds and installs <arch> only."
|
|
||||||
@echo " clean$(DIVIDER)<arch> - Cleans <arch> binaries in O.<arch> dirs only."
|
|
||||||
@echo " uninstall$(DIVIDER)<arch> - Remove bin & lib directories for <arch> only."
|
|
||||||
@echo "Targets supported by top level Makefile:"
|
|
||||||
@echo " archuninstall - Remove bin & lib directories created by this hostarch."
|
|
||||||
@echo " uninstall - Remove install directories created by this hostarch."
|
|
||||||
@echo " realuninstall - Removes ALL install dirs"
|
|
||||||
@echo " distclean - Same as realclean cvsclean realuninstall."
|
|
||||||
@echo " cvsclean - Removes cvs .#* files in all dirs of directory tree"
|
|
||||||
@echo " help - Prints this list of valid make targets "
|
|
||||||
@echo "Indiv. object targets are supported by O.<arch> level Makefile .e.g"
|
|
||||||
@echo " xxxRecord.o"
|
|
||||||
|
|
||||||
.PHONY: cleandirs distclean cvsclean realuninstall archuninstall uninstallDirs
|
|
||||||
.PHONY: uninstall help
|
|
||||||
|
|
||||||
# Include <top>/cfg/TOP_RULES* files from tops defined in RELEASE* files
|
|
||||||
#
|
|
||||||
RELEASE_CFG_TOP_RULES = $(foreach top, $(RELEASE_TOPS), \
|
|
||||||
$(wildcard $($(top))/cfg/TOP_RULES*))
|
|
||||||
ifneq ($(RELEASE_CFG_TOP_RULES),)
|
|
||||||
include $(RELEASE_CFG_TOP_RULES)
|
|
||||||
endif
|
|
||||||
|
|||||||
@@ -1,216 +0,0 @@
|
|||||||
#*************************************************************************
|
|
||||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
|
||||||
# National Laboratory.
|
|
||||||
# Copyright (c) 2002 The Regents of the University of California, as
|
|
||||||
# Operator of Los Alamos National Laboratory.
|
|
||||||
# EPICS BASE Versions 3.13.7
|
|
||||||
# and higher are distributed subject to a Software License Agreement found
|
|
||||||
# in file LICENSE that is included with this distribution.
|
|
||||||
#*************************************************************************
|
|
||||||
# Makefile for base/src/sample
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# Sample Makefile showing some possible entries
|
|
||||||
# that are allowed using RULES_BUILD.
|
|
||||||
#
|
|
||||||
|
|
||||||
TOP = ../../..
|
|
||||||
include $(TOP)/configure/CONFIG
|
|
||||||
|
|
||||||
# Add-on CPPFLAGS that are needed by this Makefile.
|
|
||||||
# (If possible, all system specific flags should be
|
|
||||||
# defined in configure/os/CONFIG.<host>.<target>
|
|
||||||
#
|
|
||||||
# These CPPFLAGS rules also apply to these Makefile-variables:
|
|
||||||
# CPPFLAGS C preprocessor flags
|
|
||||||
# CFLAGS C flags
|
|
||||||
# CXXFLAGS C++ flags
|
|
||||||
# LDFLAGS link flags
|
|
||||||
#
|
|
||||||
# This is used on all systems:
|
|
||||||
USR_CPPFLAGS = -DVAR=value -Ddefine_for_all_systems
|
|
||||||
# ..only for WIN32:
|
|
||||||
USR_CPPFLAGS_WIN32 = -DVERSION='WIN32 port'
|
|
||||||
#
|
|
||||||
# -nil- is special:
|
|
||||||
# if USR_CPPFLAGS_WIN32 was undefined or empty, .._DEFAULT would have
|
|
||||||
# been used.
|
|
||||||
# To indicate
|
|
||||||
# "yes, there is a special USR_CPPFLAGS for WIN32, but it's empty"
|
|
||||||
# you have to set it to -nil-:
|
|
||||||
USR_CPPFLAGS_WIN32 = -nil-
|
|
||||||
# .. for all other arch classes:
|
|
||||||
USR_CPPFLAGS_DEFAULT = -DVERSION='generic Unix'
|
|
||||||
|
|
||||||
# CPPFLAGS that are only used to compile a_file.c or a_file.cpp:
|
|
||||||
#
|
|
||||||
a_file_CPPFLAGS = -DIN_A_FILE
|
|
||||||
a_file_CPPFLAGS_WIN32 = -DVERSION='WIN32 port'
|
|
||||||
|
|
||||||
# ---------------------------------------------------------
|
|
||||||
# general rule for all .c .cpp .h .hh files and scripts:
|
|
||||||
#
|
|
||||||
# In here you supply just the filename without '../' etc.
|
|
||||||
# While building in an O.xxx subdir, the
|
|
||||||
# sources are extracted from the
|
|
||||||
# ../os/$(OS_CLASS) directory if it exists, or
|
|
||||||
# ../os/default directory if it exists, or
|
|
||||||
# .. directory
|
|
||||||
# ---------------------------------------------------------
|
|
||||||
|
|
||||||
# includes to install from this Makefile
|
|
||||||
#
|
|
||||||
# again: if INC_$(OS_CLASS) is defined, it is added to INC,
|
|
||||||
# otherwise INC_DEFAULT (if defined) is added:
|
|
||||||
#
|
|
||||||
INC_DEFAULT = for_all_but_WIN32_or_vxWorks.h
|
|
||||||
INC_WIN32 = only_for_WIN32.h
|
|
||||||
INC_vxWorks = -nil- # vxWorks uses no special include
|
|
||||||
INC = file.h
|
|
||||||
|
|
||||||
# --------------------------------------------------------------------
|
|
||||||
# defining a library
|
|
||||||
# --------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
# Contents of a library are specified via SRCS, LIB_SRCS, or .._SRCS.
|
|
||||||
# From this the platform specific object names (.o, .obj, ...)
|
|
||||||
# are derived automatically.
|
|
||||||
#
|
|
||||||
# Platform specific objects:
|
|
||||||
# use .._OBJS_$(OS_CLASS) or .._OBJS_DEFAULT
|
|
||||||
#
|
|
||||||
# Platform specific files can also be put in
|
|
||||||
# separate os/OS_CLASS directories!
|
|
||||||
#
|
|
||||||
# For almost every file the seach order is:
|
|
||||||
# ./os/OS_CLASS
|
|
||||||
# ./os/generic
|
|
||||||
# .
|
|
||||||
# So usually only LIB_SRCS should be sufficient!
|
|
||||||
|
|
||||||
# SRCS files will be used for both LIBRARY and PROD
|
|
||||||
SRCS = file_for_lib.c another_file.cpp
|
|
||||||
SRCS_DEFAULT = posix.c
|
|
||||||
SRCS_WIN32 = win32_special.c
|
|
||||||
SRCS_Linux = -nil-
|
|
||||||
#
|
|
||||||
libname_SRCS = file_for_lib.c another_file.cpp
|
|
||||||
libname_SRCS_DEFAULT = posix.c
|
|
||||||
libname_SRCS_WIN32 = win32_special.c
|
|
||||||
libname_SRCS_Linux = -nil-
|
|
||||||
#
|
|
||||||
# SRCS that are used for all libraries
|
|
||||||
LIB_SRCS = file_for_lib.c another_file.cpp
|
|
||||||
LIB_SRCS_DEFAULT = posix.c
|
|
||||||
LIB_SRCS_WIN32 = win32_special.c
|
|
||||||
LIB_SRCS_Linux = -nil-
|
|
||||||
|
|
||||||
# Library to build:
|
|
||||||
# lib$(LIBRARY).a or ..dll/..exp/..lib
|
|
||||||
#
|
|
||||||
LIBRARY=libname
|
|
||||||
#
|
|
||||||
# Host or Ioc platform specific library to build:
|
|
||||||
#
|
|
||||||
LIBRARY_IOC=libnameIoc
|
|
||||||
LIBRARY_HOST=libnameHost
|
|
||||||
|
|
||||||
# Library version
|
|
||||||
SHRLIB_VERSION =
|
|
||||||
# On WIN32 results in /version:$(SHRLIB_VERSION) link option
|
|
||||||
# On Unix type hosts .$(SHRLIB_VERSION) is appended to library name
|
|
||||||
|
|
||||||
# --------------------------------------------------------------------
|
|
||||||
# defining products (executable programs)
|
|
||||||
# --------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
# if SRCS is undefined, it defaults to $(PROD).c
|
|
||||||
SRCS=a.c b.c c.c
|
|
||||||
|
|
||||||
# SRCS that are used for all PRODs
|
|
||||||
#
|
|
||||||
PROD_SRCS = ppp.c qqq.c
|
|
||||||
|
|
||||||
# SRCS that are only used for PROD a_file
|
|
||||||
#
|
|
||||||
a_file_SRCS = aa.c bb.c
|
|
||||||
|
|
||||||
#
|
|
||||||
# EPICS libs needed to link PROD, TESTPROD and sharable library
|
|
||||||
#
|
|
||||||
# note that DLL_LIBS (the libraries needed to link a shareable
|
|
||||||
# library) is created by default from the PROD/SYS libraries specified
|
|
||||||
# below minus the name of the sharable library (LIBRARY)
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# ---------- libraries for a specific product pppp
|
|
||||||
# for all systems
|
|
||||||
pppp_LIBS = Com Ca
|
|
||||||
# for most systems:
|
|
||||||
pppp_LIBS_DEFAULT = mathlib
|
|
||||||
pppp_LIBS_WIN32 = -nil-
|
|
||||||
|
|
||||||
# ---------- libraries for all products
|
|
||||||
# for all systems
|
|
||||||
PROD_LIBS = Com Ca
|
|
||||||
# for most systems:
|
|
||||||
PROD_LIBS_DEFAULT = mathlib
|
|
||||||
PROD_LIBS_WIN32 = -nil-
|
|
||||||
|
|
||||||
# ---------- Libraries for all products and all libraries:
|
|
||||||
# for all systems
|
|
||||||
USR_LIBS = Xm Xt X11
|
|
||||||
Xm_DIR = $(MOTIF_LIB)
|
|
||||||
Xt_DIR = $(X11_LIB)
|
|
||||||
X11_DIR = $(X11_LIB)
|
|
||||||
|
|
||||||
# for most systems
|
|
||||||
USR_LIBS_DEFAULT = foolib
|
|
||||||
USR_LIBS_WIN32 = -nil-
|
|
||||||
foolib_DIR = $(FOO_LIB)
|
|
||||||
|
|
||||||
# system libs needed to link PROD, TESTPROD and sharable library
|
|
||||||
#
|
|
||||||
# ---------- system libraries for all products
|
|
||||||
# for all systems:
|
|
||||||
PROD_SYS_LIBS = m
|
|
||||||
# for most systems:
|
|
||||||
PROD_SYS_LIBS_DEFAULT = foolib
|
|
||||||
PROD_SYS_LIBS_WIN32 = -nil-
|
|
||||||
|
|
||||||
# Product,
|
|
||||||
# may be caRepeater.o -> caRepeater
|
|
||||||
# or caRepeater.obj -> caRepeater.exe
|
|
||||||
PROD = prod
|
|
||||||
PROD_DEFAULT = product_for_rest
|
|
||||||
PROD_WIN32 = product_only_for_WIN32
|
|
||||||
PROD_Linux = product_only_for_Linux
|
|
||||||
PROD_solaris = product_only_for_solaris
|
|
||||||
|
|
||||||
PROD_HOST = product_only_for_host_type_systems
|
|
||||||
PROD_IOC = product_only_for_ioc_type_systems
|
|
||||||
|
|
||||||
# Product version
|
|
||||||
PROD_VERSION =
|
|
||||||
# On WIN32 results in /version:$(SHRLIB_VERSION) link option
|
|
||||||
# On Unix type hosts PROD_VERSION) is ignored
|
|
||||||
|
|
||||||
# Scripts to install
|
|
||||||
#
|
|
||||||
# If there is both ../$(SCRIPTS) and ../$(OS_CLASS)/$(SCRIPTS),
|
|
||||||
# the latter, system specific version will be installed!
|
|
||||||
#
|
|
||||||
SCRIPTS_DEFAULT = script_for_rest
|
|
||||||
SCRIPTS_WIN32 = script_only_for_WIN32
|
|
||||||
SCRIPTS_Linux = script_only_for_Linux
|
|
||||||
SCRIPTS = script
|
|
||||||
|
|
||||||
# if you want to build products locally without installing:
|
|
||||||
# TESTPROD = test
|
|
||||||
|
|
||||||
# put all definitions before the following include line
|
|
||||||
# put all rules after the following include line
|
|
||||||
|
|
||||||
include $(TOP)/configure/RULES
|
|
||||||
|
|
||||||
# EOF Makefile
|
|
||||||
@@ -1,157 +0,0 @@
|
|||||||
#
|
|
||||||
# This file contains definitions for RTEMS builds
|
|
||||||
#
|
|
||||||
# Author: W. Eric Norum
|
|
||||||
# University of Saskatchewan
|
|
||||||
# eric.norum@usask.ca
|
|
||||||
#
|
|
||||||
# Contains definitions common to all RTEMS targets
|
|
||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
# Sites may override definitions in os/CONFIG_SITE.Common.RTEMS
|
|
||||||
#-------------------------------------------------------
|
|
||||||
#
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# RTEMS tools are similar to UNIX tools
|
|
||||||
-include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
|
||||||
|
|
||||||
GNU_TARGET_INCLUDE_DIR =
|
|
||||||
unexport GCC_EXEC_PREFIX
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Get RTEMS_BASE definition
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.Common.RTEMS
|
|
||||||
|
|
||||||
ifneq ($(CONFIG),$(TOP)/configure)
|
|
||||||
-include $(TOP)/configure/CONFIG_SITE.Common.RTEMS
|
|
||||||
endif
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Pick up the RTEMS tool/path definitions from the RTEMS BSP directory.
|
|
||||||
include $(RTEMS_BASE)/$(RTEMS_TARGET_CPU)-rtems$(RTEMS_VERSION)/$(subst RTEMS-,,$(T_A))/Makefile.inc
|
|
||||||
include $(RTEMS_CUSTOM)
|
|
||||||
include $(CONFIG.CC)
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# RTEMS cross-development tools
|
|
||||||
CC = $(RTEMS_TOOLS)/bin/$(CC_FOR_TARGET) $(GCCSPECS) -fasm
|
|
||||||
CCC = $(RTEMS_TOOLS)/bin/$(CXX)
|
|
||||||
CPP = $(RTEMS_TOOLS)/bin/$(CC_FOR_TARGET) -x c -E
|
|
||||||
AR = $(RTEMS_TOOLS)/bin/$(AR_FOR_TARGET)
|
|
||||||
LD = $(RTEMS_TOOLS)/bin/$(LD_FOR_TARGET) -r
|
|
||||||
|
|
||||||
RANLIB := $(RTEMS_TOOLS)/bin/$(RANLIB)
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Build types
|
|
||||||
VALID_BUILDS = Ioc
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# The RTEMS Makefiles redefine several macros, so we have to
|
|
||||||
# reset them to the proper EPICS values, from CONFIG_COMMON
|
|
||||||
CFLAGS = $($(BUILD_CLASS)_CFLAGS) $(POSIX_CFLAGS) $(OPT_CFLAGS)\
|
|
||||||
$(DEBUG_CFLAGS) $(PIPE_CFLAGS) $(WARN_CFLAGS) $(TARGET_CFLAGS)\
|
|
||||||
$(USR_CFLAGS) $(CMD_CFLAGS) $(ARCH_DEP_CFLAGS) $(CODE_CFLAGS)\
|
|
||||||
$(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(LIBRARY_SRC_CFLAGS)
|
|
||||||
|
|
||||||
CXXFLAGS = $($(BUILD_CLASS)_CXXFLAGS) $(POSIX_CXXFLAGS) $(OPT_CXXFLAGS)\
|
|
||||||
$(DEBUG_CXXFLAGS) $(PIPE_CFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS)\
|
|
||||||
$(USR_CXXFLAGS) $(CMD_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(CODE_CXXFLAGS)\
|
|
||||||
$(STATIC_CXXCFLAGS) $(OP_SYS_CXXFLAGS) $(LIBRARY_SRC_CFLAGS)
|
|
||||||
|
|
||||||
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(CMD_LDFLAGS)\
|
|
||||||
$(POSIX_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS)\
|
|
||||||
$($(BUILD_CLASS)_LDFLAGS) $(RUNTIME_LDFLAGS) $(CODE_LDFLAGS)
|
|
||||||
|
|
||||||
LDLIBS = $(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(DEBUG_LDLIBS) $(OP_SYS_LDLIBS)\
|
|
||||||
$(GNU_LDLIBS_$(GNU))
|
|
||||||
|
|
||||||
CPPFLAGS += $($(BUILD_CLASS)_CPPFLAGS) $(POSIX_CPPFLAGS) $(OPT_CPPFLAGS)\
|
|
||||||
$(DEBUG_CPPFLAGS) $(WARN_CPPFLAGS) $(BASE_CPPFLAGS) $(TARGET_CPPFLAGS)\
|
|
||||||
$(USR_CPPFLAGS) $(CMD_CPPFLAGS) $(ARCH_DEP_CPPFLAGS) $(OP_SYS_CPPFLAGS)\
|
|
||||||
$(OP_SYS_INCLUDE_CPPFLAGS) $(CODE_CPPFLAGS)
|
|
||||||
|
|
||||||
ECHO = @$(if $(findstring s,$(patsubst T_A=%,,$(MAKEFLAGS))),$(NOP),echo)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Although RTEMS uses gcc, it wants to use gcc its own way
|
|
||||||
CROSS_CPPFLAGS =
|
|
||||||
CROSS_LDFLAGS =
|
|
||||||
SHRLIB_CFLAGS =
|
|
||||||
OPT_CFLAGS_YES = $(CFLAGS_OPTIMIZE_V)
|
|
||||||
OPT_CXXFLAGS_YES = $(CFLAGS_OPTIMIZE_V)
|
|
||||||
OPT_CFLAGS_NO = $(CFLAGS_DEBUG_V)
|
|
||||||
OPT_CXXFLAGS_NO = $(CFLAGS_DEBUG_V)
|
|
||||||
|
|
||||||
MODEXT=.obj
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# operating system class (include/os/<os_class>)
|
|
||||||
OS_CLASS = RTEMS
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Operating system flags
|
|
||||||
OP_SYS_LDLIBS += -lrtemsCom -lc -lrtemscpu -lCom -lnfs -lm
|
|
||||||
OP_SYS_LDFLAGS += $(CPU_CFLAGS) -u Init \
|
|
||||||
$(PROJECT_RELEASE)/lib/no-dpmem.rel \
|
|
||||||
$(PROJECT_RELEASE)/lib/no-mp.rel \
|
|
||||||
$(PROJECT_RELEASE)/lib/no-part.rel \
|
|
||||||
$(PROJECT_RELEASE)/lib/no-signal.rel \
|
|
||||||
$(PROJECT_RELEASE)/lib/no-rtmon.rel
|
|
||||||
|
|
||||||
MOD_SYS_LDFLAGS += $(CPU_CFLAGS) -Wl,-r -nostdlib
|
|
||||||
|
|
||||||
# Do not link against libraries which are part of the Generic Image
|
|
||||||
GESYS_LIBS += -lgcc
|
|
||||||
GESYS_LIBS += -lc -lm -lrtemscpu -lrtemsbsp -lrtems++ -lbspExt
|
|
||||||
GESYS_LIBS += -lcexp -ltecla_r -lspencer_regexp -lpmelf -lpmbfd
|
|
||||||
GESYS_LIBS += -lnfs -ltelnetd -lrtems-gdb-stub
|
|
||||||
|
|
||||||
# While not part of the Generic Image it provides symbols which
|
|
||||||
# would conflict.
|
|
||||||
GESYS_LIBS += -lrtemsCom
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Options for building GeSys loadable objects
|
|
||||||
|
|
||||||
MODNAME_YES = $(PRODNAME:%$(EXE)=%$(MODEXT))
|
|
||||||
MODNAME += $(MODNAME_$(USE_GESYS))
|
|
||||||
PRODTARGETS += $(MODNAME)
|
|
||||||
BIN_INSTALLS += $(MODNAME)
|
|
||||||
|
|
||||||
# changes to LDFLAGS in CONFIG_COMMON and LINK.cpp in CONFIG.Common.UnixCommon
|
|
||||||
# should be reflected here with the following exceptions
|
|
||||||
#
|
|
||||||
# replace OP_SYS_LDFLAGS with MOD_SYS_LDFLAGS
|
|
||||||
# replace PROD_LDLIBS with MOD_LDLIBS
|
|
||||||
# remove STATIC_LDFLAGS
|
|
||||||
|
|
||||||
MOD_LDLIBS = $(filter-out $(GESYS_LIBS),$(PROD_LDLIBS))
|
|
||||||
|
|
||||||
MOD_LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(POSIX_LDFLAGS) \
|
|
||||||
$(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(MOD_SYS_LDFLAGS) $($(BUILD_CLASS)_LDFLAGS)\
|
|
||||||
$(RUNTIME_LDFLAGS) $(CODE_LDFLAGS)
|
|
||||||
|
|
||||||
LINK.mod = $(CCC) -o $@ $(PRODDIR_LDFLAGS) $(MOD_LDFLAGS)
|
|
||||||
LINK.mod += $(PROD_LDFLAGS) $(PROD_LD_OBJS) $(PROD_LD_RESS) $(MOD_LDLIBS)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# RTEMS has neither shared libraries nor dynamic loading
|
|
||||||
STATIC_BUILD=YES
|
|
||||||
SHARED_LIBRARIES=NO
|
|
||||||
CODE_CFLAGS =
|
|
||||||
CODE_CXXFLAGS =
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Override the usual RTEMS verbosity from ar
|
|
||||||
ARFLAGS = rc
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Command-line input support
|
|
||||||
LDLIBS_LIBTECLA = -ltecla_r -lncurses
|
|
||||||
LDLIBS_READLINE = -lreadline -lncurses
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Allow site overrides
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).RTEMS
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
#
|
|
||||||
# CONFIG.Common.RTEMS-at91rm9200ek
|
|
||||||
# Author: Ralf Hartmann
|
|
||||||
# BESSY
|
|
||||||
# Ralf.Hartmann@bessy.de
|
|
||||||
#
|
|
||||||
# Atmel AT91RM9200-EK evaluation kit
|
|
||||||
# using the AT91RM9200 ARM9-based 32-bit RISC microcontroller
|
|
||||||
#
|
|
||||||
# All RTEMS targets use the same Makefile fragment
|
|
||||||
#
|
|
||||||
RTEMS_TARGET_CPU=arm
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
#
|
|
||||||
# CONFIG.Common.RTEMS-beatnik
|
|
||||||
# Author: Dayle Kotturi <dayle@slac.stanford.edu>
|
|
||||||
#
|
|
||||||
# All RTEMS targets use the same Makefile fragment
|
|
||||||
#
|
|
||||||
EXE = .elf
|
|
||||||
RTEMS_TARGET_CPU = powerpc
|
|
||||||
GNU_TARGET = powerpc-rtems
|
|
||||||
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
|
|
||||||
ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
|
|
||||||
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
|
|
||||||
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
|
|
||||||
|
|
||||||
OP_SYS_LDLIBS += -lbspExt
|
|
||||||
|
|
||||||
MUNCH_SUFFIX = .boot
|
|
||||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
|
||||||
define MUNCH_CMD
|
|
||||||
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
|
|
||||||
endef
|
|
||||||
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
|
||||||
|
|
||||||
RTEMSSYMS=$(PRODNAME:%$(EXE)=%.sym)
|
|
||||||
RTEMSIMGS=$(PRODNAME:%$(EXE)=%.bin)
|
|
||||||
INSTALL_RTEMSSYMS=$(RTEMSSYMS:%=$(INSTALL_BIN)/%)
|
|
||||||
INSTALL_RTEMSIMGS=$(RTEMSIMGS:%=$(INSTALL_BIN)/%)
|
|
||||||
|
|
||||||
%.sym: %$(EXE)
|
|
||||||
$(XSYMS) $^ $@
|
|
||||||
|
|
||||||
%.bin: %$(EXE)
|
|
||||||
$(OBJCOPY) -Obinary $^ $@
|
|
||||||
|
|
||||||
#PRODTARGETS+=$(INSTALL_RTEMSSYMS) $(INSTALL_RTEMSIMGS)
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#
|
|
||||||
# Author: W. Eric Norum
|
|
||||||
# Canadian Light Source
|
|
||||||
# eric@cls.usask.ca
|
|
||||||
#
|
|
||||||
# All RTEMS targets use the same Makefile fragment
|
|
||||||
#
|
|
||||||
RTEMS_TARGET_CPU=m68k
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#
|
|
||||||
# Author: W. Eric Norum
|
|
||||||
# Canadian Light Source
|
|
||||||
# eric@cls.usask.ca
|
|
||||||
#
|
|
||||||
# All RTEMS targets use the same Makefile fragment
|
|
||||||
#
|
|
||||||
RTEMS_TARGET_CPU=ppc
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#
|
|
||||||
# Author: W. Eric Norum
|
|
||||||
# Canadian Light Source
|
|
||||||
# eric@cls.usask.ca
|
|
||||||
#
|
|
||||||
# All RTEMS targets use the same Makefile fragment
|
|
||||||
#
|
|
||||||
RTEMS_TARGET_CPU=m68k
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
#
|
|
||||||
# CONFIG.Common.RTEMS-mvme2100
|
|
||||||
# Author: W. Eric Norum <wenorum@lbl.gov>
|
|
||||||
#
|
|
||||||
# All RTEMS targets use the same Makefile fragment
|
|
||||||
#
|
|
||||||
EXE = .elf
|
|
||||||
RTEMS_TARGET_CPU = powerpc
|
|
||||||
GNU_TARGET = powerpc-rtems
|
|
||||||
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
|
|
||||||
ARCH_DEP_CFLAGS += -DHAVE_PPCBUG
|
|
||||||
|
|
||||||
OP_SYS_LDLIBS += -lbspExt
|
|
||||||
|
|
||||||
MUNCH_SUFFIX = .boot
|
|
||||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
|
||||||
define MUNCH_CMD
|
|
||||||
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< rtems
|
|
||||||
gzip -f9 rtems
|
|
||||||
$(RTEMS_TOOLS)/bin/$(LD_FOR_TARGET) -o $@ \
|
|
||||||
$(PROJECT_RELEASE)/lib/bootloader.o \
|
|
||||||
--just-symbols=$< \
|
|
||||||
-b binary rtems.gz \
|
|
||||||
-T $(PROJECT_RELEASE)/lib/ppcboot.lds \
|
|
||||||
-Map $<.map
|
|
||||||
rm -f rtems.gz
|
|
||||||
endef
|
|
||||||
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
#
|
|
||||||
# Author: Matt Rippa
|
|
||||||
#
|
|
||||||
RTEMS_TARGET_CPU = powerpc
|
|
||||||
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
|
|
||||||
ARCH_DEP_CFLAGS += -DHAVE_PPCBUG
|
|
||||||
ARCH_DEP_CFLAGS += -DNVRAM_INDIRECT
|
|
||||||
|
|
||||||
MUNCH_SUFFIX = .boot
|
|
||||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
|
||||||
define MUNCH_CMD
|
|
||||||
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< rtems
|
|
||||||
gzip -f9 rtems
|
|
||||||
$(RTEMS_TOOLS)/bin/$(LD_FOR_TARGET) -o $@ \
|
|
||||||
$(PROJECT_RELEASE)/lib/bootloader.o \
|
|
||||||
--just-symbols=$< \
|
|
||||||
-b binary rtems.gz \
|
|
||||||
-T $(PROJECT_RELEASE)/lib/ppcboot.lds \
|
|
||||||
-Map $<.map
|
|
||||||
rm -f rtems.gz
|
|
||||||
endef
|
|
||||||
|
|
||||||
OP_SYS_LDLIBS += -lbspExt
|
|
||||||
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
#
|
|
||||||
# CONFIG.Common.RTEMS-mvme3100
|
|
||||||
# Author: W. Eric Norum <wenorum@lbl.gov>
|
|
||||||
#
|
|
||||||
# All RTEMS targets use the same Makefile fragment
|
|
||||||
#
|
|
||||||
EXE = .elf
|
|
||||||
RTEMS_TARGET_CPU = powerpc
|
|
||||||
GNU_TARGET = powerpc-rtems
|
|
||||||
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
|
|
||||||
ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
|
|
||||||
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
|
|
||||||
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
|
|
||||||
|
|
||||||
OP_SYS_LDLIBS += -lbspExt
|
|
||||||
|
|
||||||
MUNCH_SUFFIX = .boot
|
|
||||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
|
||||||
define MUNCH_CMD
|
|
||||||
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
|
|
||||||
endef
|
|
||||||
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
|
||||||
|
|
||||||
RTEMSSYMS=$(PRODNAME:%$(EXE)=%.sym)
|
|
||||||
RTEMSIMGS=$(PRODNAME:%$(EXE)=%.bin)
|
|
||||||
INSTALL_RTEMSSYMS=$(RTEMSSYMS:%=$(INSTALL_BIN)/%)
|
|
||||||
INSTALL_RTEMSIMGS=$(RTEMSIMGS:%=$(INSTALL_BIN)/%)
|
|
||||||
|
|
||||||
%.sym: %$(EXE)
|
|
||||||
$(XSYMS) $^ $@
|
|
||||||
|
|
||||||
%.bin: %$(EXE)
|
|
||||||
$(OBJCOPY) -Obinary $^ $@
|
|
||||||
|
|
||||||
#PRODTARGETS+=$(INSTALL_RTEMSSYMS) $(INSTALL_RTEMSIMGS)
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
#
|
|
||||||
# CONFIG.Common.RTEMS-mvme5500
|
|
||||||
# Author: W. Eric Norum <wenorum@lbl.gov>
|
|
||||||
#
|
|
||||||
# All RTEMS targets use the same Makefile fragment
|
|
||||||
#
|
|
||||||
EXE = .elf
|
|
||||||
RTEMS_TARGET_CPU = powerpc
|
|
||||||
GNU_TARGET = powerpc-rtems
|
|
||||||
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
|
|
||||||
ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
|
|
||||||
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
|
|
||||||
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
|
|
||||||
ARCH_DEP_CFLAGS += -DBSP_NVRAM_BASE_ADDR=0xf1110000
|
|
||||||
|
|
||||||
OP_SYS_LDLIBS += -lbspExt
|
|
||||||
|
|
||||||
MUNCH_SUFFIX = .boot
|
|
||||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
|
||||||
define MUNCH_CMD
|
|
||||||
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
|
|
||||||
endef
|
|
||||||
|
|
||||||
OP_SYS_LDLIBS += -lbspExt
|
|
||||||
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
#
|
|
||||||
# Author: W. Eric Norum
|
|
||||||
# Canadian Light Source
|
|
||||||
# eric@cls.usask.ca
|
|
||||||
#
|
|
||||||
# All RTEMS targets use the same Makefile fragment
|
|
||||||
#
|
|
||||||
RTEMS_TARGET_CPU=i386
|
|
||||||
|
|
||||||
MUNCH_SUFFIX = .boot
|
|
||||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
|
||||||
define MUNCH_CMD
|
|
||||||
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< temp.bin
|
|
||||||
$(BIN2BOOT) $@ 0x00097E00 \
|
|
||||||
$(PROJECT_RELEASE)/lib/start16.bin 0x00097C00 0 temp.bin 0x00100000 0
|
|
||||||
rm -f temp.bin
|
|
||||||
endef
|
|
||||||
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
|
||||||
|
|
||||||
#
|
|
||||||
# Put text segment where it will work with etherboot
|
|
||||||
#
|
|
||||||
OP_SYS_LDFLAGS += -Wl,-Ttext,0x100000
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#
|
|
||||||
# Author: W. Eric Norum
|
|
||||||
# University of Saskatchewan
|
|
||||||
# eric.norum@usask.ca
|
|
||||||
#
|
|
||||||
# All RTEMS targets use the same Makefile fragment
|
|
||||||
#
|
|
||||||
RTEMS_TARGET_CPU=ppc
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
#
|
|
||||||
# Author: W. Eric Norum
|
|
||||||
# Canadian Light Source
|
|
||||||
# eric@cls.usask.ca
|
|
||||||
#
|
|
||||||
# All RTEMS targets use the same Makefile fragment
|
|
||||||
#
|
|
||||||
RTEMS_TARGET_CPU = m68k
|
|
||||||
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
|
|
||||||
|
|
||||||
MUNCH_SUFFIX = .boot
|
|
||||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
|
||||||
define MUNCH_CMD
|
|
||||||
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< $@
|
|
||||||
endef
|
|
||||||
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
# CONFIG.Common.UnixCommon
|
|
||||||
#
|
|
||||||
# Contains definitions common to all Unix target archs
|
|
||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
# Sites may override definitions in CONFIG_SITE.Common.UnixCommon
|
|
||||||
# or CONFIG_SITE.<host>.UnixCommon
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Unix valid build types
|
|
||||||
VALID_BUILDS = Host Ioc
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Unix prefix and suffix definitions
|
|
||||||
EXE =
|
|
||||||
OBJ = .o
|
|
||||||
#Library prefix and suffixes
|
|
||||||
LIB_PREFIX = lib
|
|
||||||
LIB_SUFFIX = .a
|
|
||||||
SHRLIB_SUFFIX_BASE = .so
|
|
||||||
SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE)$(addprefix .,$(SHRLIB_VERSION))
|
|
||||||
LOADABLE_SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE)$(addprefix .,$(LOADABLE_SHRLIB_VERSION))
|
|
||||||
LOADABLE_SHRLIB_PREFIX = lib
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# names of libraries to build
|
|
||||||
# <lib> -> lib<lib>.a
|
|
||||||
LIBNAME = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX))
|
|
||||||
TESTLIBNAME = $(TESTBUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX))
|
|
||||||
# <lib> -> lib<lib>.so.<version>
|
|
||||||
SHRLIBNAME_YES = $(BUILD_LIBRARY:%=$(SHRLIB_PREFIX)%$(SHRLIB_SUFFIX))
|
|
||||||
TESTSHRLIBNAME_YES = $(TESTBUILD_LIBRARY:%=$(SHRLIB_PREFIX)%$(SHRLIB_SUFFIX))
|
|
||||||
LOADABLE_SHRLIBNAME = $(LOADABLE_BUILD_LIBRARY:%=$(LOADABLE_SHRLIB_PREFIX)%$(LOADABLE_SHRLIB_SUFFIX))
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# shrlib: SHRLIB_DEPLIBS, SHRLIB_LDLIBS and SHRLIBDIR_LDFLAGS definitions
|
|
||||||
|
|
||||||
# SHRLIB_LIBS deprecated
|
|
||||||
LIB_LIBS += $(SHRLIB_LIBS)
|
|
||||||
|
|
||||||
SHRLIB_DEPLIBS = $(foreach lib, $(LIB_LIBS) $(USR_LIBS), \
|
|
||||||
$(firstword $(wildcard \
|
|
||||||
$(addsuffix /$(DLLSTUB_PREFIX)$(lib)$(DLLSTUB_SUFFIX), \
|
|
||||||
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)) \
|
|
||||||
$(addsuffix /$(SHRLIB_PREFIX)$(lib)*$(SHRLIB_SUFFIX_BASE)*, \
|
|
||||||
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)) \
|
|
||||||
$(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX), \
|
|
||||||
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)) \
|
|
||||||
) $(addsuffix /$(BUILDLIB_PREFIX)$(lib)$(BUILDLIB_SUFFIX), \
|
|
||||||
$(if $(filter $(lib),$(TESTLIBRARY)),.,$(INSTALL_LIB)))))
|
|
||||||
|
|
||||||
SHRLIB_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(LIB_LIBS) $(USR_LIBS)) \
|
|
||||||
$(STATIC_LDLIBS) \
|
|
||||||
$(addprefix -l, $($*_SYS_LIBS) $(LIB_SYS_LIBS) $(USR_SYS_LIBS)) \
|
|
||||||
$(LDLIBS)
|
|
||||||
|
|
||||||
SHRLIB_DEPLIB_DIRS = $(foreach word, \
|
|
||||||
$(sort $(INSTALL_LIB)/ $(dir $($*_DEPLIBS) $(SHRLIB_DEPLIBS))), \
|
|
||||||
$(shell $(FULLPATHNAME) $(word)))
|
|
||||||
|
|
||||||
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-L%)
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Prod: PROD_DEPLIBS, PROD_LDLIBS and PRODDIR_LDFLAGS definitions
|
|
||||||
|
|
||||||
PROD_DEPLIBS = $(foreach lib, $(PROD_LIBS) $(USR_LIBS), \
|
|
||||||
$(firstword $(wildcard \
|
|
||||||
$(addsuffix /$(DLLSTUB_PREFIX)$(lib)$(DLLSTUB_SUFFIX), \
|
|
||||||
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)) \
|
|
||||||
$(addsuffix /$(SHRLIB_PREFIX)$(lib)*$(SHRLIB_SUFFIX_BASE)*, \
|
|
||||||
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)) \
|
|
||||||
$(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX), \
|
|
||||||
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)) \
|
|
||||||
) $(addsuffix /$(BUILDLIB_PREFIX)$(lib)$(BUILDLIB_SUFFIX), \
|
|
||||||
$(if $(filter $(lib),$(TESTLIBRARY)),.,$(INSTALL_LIB)))))
|
|
||||||
|
|
||||||
PROD_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(PROD_LIBS) $(USR_LIBS)) \
|
|
||||||
$(STATIC_LDLIBS) \
|
|
||||||
$(addprefix -l, $($*_SYS_LIBS) $(PROD_SYS_LIBS) $(USR_SYS_LIBS))
|
|
||||||
|
|
||||||
LDLIBS_STATIC_YES = LDLIBS
|
|
||||||
LDLIBS_SHARED_NO = LDLIBS
|
|
||||||
PROD_LDLIBS += $($(firstword $(LDLIBS_STATIC_$(STATIC_BUILD)) \
|
|
||||||
$(LDLIBS_SHARED_$(SHARED_LIBRARIES))))
|
|
||||||
|
|
||||||
PROD_DEPLIB_DIRS = $(foreach word, \
|
|
||||||
$(sort $(INSTALL_LIB)/ $(dir $($*_DEPLIBS) $(PROD_DEPLIBS))), \
|
|
||||||
$(shell $(FULLPATHNAME) $(word)))
|
|
||||||
|
|
||||||
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-L%)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Link definitions
|
|
||||||
LINK.cpp = $(CCC) -o $@ $(STATIC_LDFLAGS) $(PRODDIR_LDFLAGS) $(LDFLAGS)
|
|
||||||
LINK.cpp += $(PROD_LDFLAGS) $(PROD_LD_OBJS) $(PROD_LD_RESS) $(PROD_LDLIBS)
|
|
||||||
LINK.shrlib = $(CCC) -o $@ $(TARGET_LIB_LDFLAGS) $(SHRLIBDIR_LDFLAGS) $(LDFLAGS)
|
|
||||||
LINK.shrlib += $(LIB_LDFLAGS) $(LIBRARY_LD_OBJS) $(LIBRARY_LD_RESS) $(SHRLIB_LDLIBS)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Operating system definitions
|
|
||||||
OP_SYS_CPPFLAGS += -DUNIX
|
|
||||||
OP_SYS_LDLIBS += -lm
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Allow site overrides
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.Common.UnixCommon
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).UnixCommon
|
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
# CONFIG.Common.cygwin-x86
|
|
||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
#
|
|
||||||
# Definitions for cygwin-x86 target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.cygwin-x86
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all Unix targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
|
||||||
|
|
||||||
OS_CLASS = cygwin32
|
|
||||||
ARCH_CLASS = x86
|
|
||||||
|
|
||||||
# Link libraries controlled by COMMANDLINE_LIBRARY
|
|
||||||
# The Cygwin version 1.7.15 needs readline and ncursesw,
|
|
||||||
# older ones may need readline and curses.
|
|
||||||
LDLIBS_READLINE_NCURSESW = -lreadline -lncursesw
|
|
||||||
LDLIBS_READLINE_CURSES = -lreadline -lcurses
|
|
||||||
LDLIBS_READLINE = -lreadline
|
|
||||||
|
|
||||||
POSIX_CPPFLAGS = -D_POSIX_THREADS -D_POSIX_TIMERS
|
|
||||||
POSIX_LDLIBS += -lpthread
|
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS += -m32
|
|
||||||
ARCH_DEP_LDFLAGS += -m32
|
|
||||||
|
|
||||||
# 32-bit compiler defines _X86_ 1
|
|
||||||
# Compiler defines __CYGWIN__ 1
|
|
||||||
# 32-bit compiler defines __CYGWIN32__ 1
|
|
||||||
# Compiler defines __unix__ 1
|
|
||||||
# Compiler defines __unix 1
|
|
||||||
# Compiler defines unix 1
|
|
||||||
|
|
||||||
# This macro now deprecated, use __CYGWIN__ in the future
|
|
||||||
OP_SYS_CPPFLAGS += -DCYGWIN32
|
|
||||||
|
|
||||||
EXE = .exe
|
|
||||||
|
|
||||||
# Use .o for static object files, .obj for shared library object files
|
|
||||||
OBJ_NO = .o
|
|
||||||
OBJ_YES = .obj
|
|
||||||
OBJ = $(OBJ_$(SHARED_LIBRARIES))
|
|
||||||
|
|
||||||
COMPILE.c += $(if $(filter %$(OBJ),$@),-o $@)
|
|
||||||
COMPILE.cpp += $(if $(filter %$(OBJ),$@),-o $@)
|
|
||||||
HDEPENDS_ARCHFLAGS = -MT $*$(OBJ)
|
|
||||||
|
|
||||||
BUILD_DLL_CFLAGS_YES = -DEPICS_BUILD_DLL
|
|
||||||
BUILD_DLL_CFLAGS_NO =
|
|
||||||
BUILD_DLL_CFLAGS = $(BUILD_DLL_CFLAGS_$(SHARED_LIBRARIES))
|
|
||||||
STATIC_CFLAGS_YES = $(BUILD_DLL_CFLAGS)
|
|
||||||
STATIC_CFLAGS_NO = $(BUILD_DLL_CFLAGS) -DEPICS_CALL_DLL
|
|
||||||
STATIC_CXXFLAGS_YES = $(BUILD_DLL_CFLAGS)
|
|
||||||
STATIC_CXXFLAGS_NO = $(BUILD_DLL_CFLAGS) -DEPICS_CALL_DLL
|
|
||||||
|
|
||||||
# Adjust names of libraries to build
|
|
||||||
#
|
|
||||||
SHRLIB_PREFIX =
|
|
||||||
SHRLIB_SUFFIX_BASE = .dll
|
|
||||||
SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE)
|
|
||||||
SHRLIBNAME_YES = $(BUILD_LIBRARY:%=%$(SHRLIB_SUFFIX))
|
|
||||||
TESTSHRLIBNAME_YES = $(TESTBUILD_LIBRARY:%=%$(SHRLIB_SUFFIX_BASE))
|
|
||||||
LOADABLE_SHRLIBNAME = $(LOADABLE_BUILD_LIBRARY:%=%$(LOADABLE_SHRLIB_SUFFIX))
|
|
||||||
|
|
||||||
#
|
|
||||||
# When SHARED_LIBRARIES is YES we are building a DLL link library
|
|
||||||
# When SHARED_LIBRARIES is NO we are building an object library
|
|
||||||
#
|
|
||||||
LIB_PREFIX_NO =
|
|
||||||
LIB_SUFFIX_NO = .lib
|
|
||||||
LIB_PREFIX_YES = lib
|
|
||||||
LIB_SUFFIX_YES = .dll.a
|
|
||||||
LIB_PREFIX = $(LIB_PREFIX_$(SHARED_LIBRARIES))
|
|
||||||
LIB_SUFFIX = $(LIB_SUFFIX_$(SHARED_LIBRARIES))
|
|
||||||
DLLSTUB_PREFIX = lib
|
|
||||||
DLLSTUB_SUFFIX = .dll.a
|
|
||||||
|
|
||||||
DLLSTUB_LIBNAME_YES = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX))
|
|
||||||
DLLSTUB_LIBNAME = $(DLLSTUB_LIBNAME_$(SHARED_LIBRARIES))
|
|
||||||
TESTDLLSTUB_LIBNAME_YES = $(TESTBUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX))
|
|
||||||
TESTDLLSTUB_LIBNAME = $(TESTDLLSTUB_LIBNAME_$(SHARED_LIBRARIES))
|
|
||||||
TESTLIBNAME_NO = $(TESTBUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX))
|
|
||||||
TESTLIBNAME = $(TESTLIBNAME_$(SHARED_LIBRARIES))
|
|
||||||
|
|
||||||
# dll install location
|
|
||||||
INSTALL_SHRLIB = $(INSTALL_BIN)
|
|
||||||
|
|
||||||
|
|
||||||
# Cygwin supports the sunrpc package in versions before 1.7.
|
|
||||||
# Cygwin supports the tirpc (Transport Independent RPC) package in versions 1.7 and later.
|
|
||||||
# uname -r return a string like "1.76(0230/5/3)"
|
|
||||||
CYGWIN_RPC_LIB= $(if $(findstring 1.5,$(shell uname -r)),rpc,tirpc)
|
|
||||||
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
# CONFIG.Common.cygwin-x86_64
|
|
||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
#
|
|
||||||
# Definitions for cygwin-x86_64 target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.cygwin-x86_64
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.cygwin-x86
|
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS = -m64
|
|
||||||
ARCH_DEP_LDFLAGS = -m64
|
|
||||||
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
# CONFIG.Common.darwin-ppc
|
|
||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
#
|
|
||||||
# Definitions for darwin-ppc target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.darwin-ppc
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
#
|
|
||||||
# To build universal binaries, configure ARCH_CLASS
|
|
||||||
# in the file CONFIG_SITE.Common.darwin-ppc
|
|
||||||
|
|
||||||
# Include definitions common to all Darwin targets
|
|
||||||
include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
# CONFIG.Common.darwin-ppcx86
|
|
||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
#
|
|
||||||
# Definitions for Darwin universal PowerPC + x86 target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.darwin-ppcx86
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
#
|
|
||||||
# To build universal binaries, configure ARCH_CLASS
|
|
||||||
# in the file CONFIG_SITE.Common.darwin-ppcx86
|
|
||||||
|
|
||||||
# Include definitions common to all Darwin targets
|
|
||||||
include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
# CONFIG.Common.darwin-x86
|
|
||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
#
|
|
||||||
# Definitions for darwin-x86 target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.darwin-x86
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
#
|
|
||||||
# To build universal binaries, configure ARCH_CLASS
|
|
||||||
# in the file CONFIG_SITE.Common.darwin-x86
|
|
||||||
|
|
||||||
# Include definitions common to all Darwin targets
|
|
||||||
include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
#
|
|
||||||
# Definitions for freebsd-x86 target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.freebsd-x86
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all freebsd targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.freebsdCommon
|
|
||||||
|
|
||||||
ARCH_CLASS = x86
|
|
||||||
|
|
||||||
ARCH_DEP_CPPFLAGS += -D_X86_
|
|
||||||
|
|
||||||
ifeq ($(BUILD_CLASS),CROSS)
|
|
||||||
ifeq ($(EPICS_HOST_ARCH),freebsd-x86)
|
|
||||||
# Added for 386,486,... cross builds
|
|
||||||
CMPLR_PREFIX=
|
|
||||||
CROSS_INCLUDES=
|
|
||||||
CROSS_LDFLAGS=
|
|
||||||
# Use -w not -Wall
|
|
||||||
#WARN_CFLAGS_YES = -w
|
|
||||||
#WARN_CXXFLAGS_YES = -w
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.Common.freebsd-x86
|
|
||||||
-include $(CONFIG)/os/CONFIG.freebsd-x86.freebsd-x86
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.freebsd-x86.freebsd-x86
|
|
||||||
else
|
|
||||||
GNU_TARGET=i586-pc-freebsd-gnu
|
|
||||||
CMPLR_SUFFIX=
|
|
||||||
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
#
|
|
||||||
# Definitions for freebsd-x86_64 target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.freebsd-x86_64
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all freebsd targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.freebsdCommon
|
|
||||||
|
|
||||||
ARCH_CLASS = x86_64
|
|
||||||
|
|
||||||
ARCH_DEP_CPPFLAGS += -D_X86_64_
|
|
||||||
|
|
||||||
ifeq ($(BUILD_CLASS),CROSS)
|
|
||||||
ifeq ($(EPICS_HOST_ARCH),freebsd-x86_64)
|
|
||||||
# Added for 386,486,... cross builds
|
|
||||||
CMPLR_PREFIX=
|
|
||||||
CROSS_INCLUDES=
|
|
||||||
CROSS_LDFLAGS=
|
|
||||||
# Use -w not -Wall
|
|
||||||
#WARN_CFLAGS_YES = -w
|
|
||||||
#WARN_CXXFLAGS_YES = -w
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.Common.freebsd-x86_64
|
|
||||||
-include $(CONFIG)/os/CONFIG.freebsd-x86_64.freebsd-x86_64
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.freebsd-x86_64.freebsd-x86_64
|
|
||||||
else
|
|
||||||
GNU_TARGET=i586-pc-freebsd-gnu
|
|
||||||
CMPLR_SUFFIX=
|
|
||||||
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
#
|
|
||||||
# Definitions for freebsd target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.freebsdCommon
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all Unix targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
|
||||||
|
|
||||||
OS_CLASS = freebsd
|
|
||||||
|
|
||||||
CODE_CPPFLAGS = -D_REENTRANT
|
|
||||||
|
|
||||||
POSIX_CPPFLAGS = -D_POSIX_THREADS
|
|
||||||
POSIX_LDLIBS = -lpthread
|
|
||||||
|
|
||||||
# -D_BSD_SOURCE for gethostname() in unistd.h as needed by cacChannelIO.cpp.
|
|
||||||
OP_SYS_CPPFLAGS += -D_BSD_SOURCE
|
|
||||||
OP_SYS_CPPFLAGS += -Dfreebsd
|
|
||||||
|
|
||||||
# Set runtime path for shared libraries
|
|
||||||
SHRLIBDIR_RPATH_LDFLAGS_YES += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
|
|
||||||
SHRLIBDIR_LDFLAGS += $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
|
||||||
|
|
||||||
# Set runtime path for products
|
|
||||||
PRODDIR_RPATH_LDFLAGS_YES += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
|
|
||||||
PRODDIR_LDFLAGS += $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
|
||||||
|
|
||||||
# Definitions used when COMMANDLINE_LIBRARY is READLINE
|
|
||||||
LDLIBS_READLINE = -lreadline -lcurses
|
|
||||||
|
|
||||||
GNU_LDLIBS_YES = -lgcc_pic
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Allow site overrides
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.Common.freebsdCommon
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).freebsdCommon
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# CONFIG.Common.ios-arm
|
|
||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
#
|
|
||||||
# Definitions for ios-arm target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.ios-arm
|
|
||||||
# or CONFIG_SITE.<host>.ios-arm
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
IOS_PLATFORM = iPhoneOS
|
|
||||||
|
|
||||||
OP_SYS_CFLAGS += -fno-inline-functions
|
|
||||||
OP_SYS_CFLAGS += -miphoneos-version-min=$(IOS_DEPLOYMENT_TARGET)
|
|
||||||
OP_SYS_LDFLAGS += -miphoneos-version-min=$(IOS_DEPLOYMENT_TARGET)
|
|
||||||
|
|
||||||
# iOS optimization flags for arm architecture
|
|
||||||
OPT_CFLAGS_YES = -O2
|
|
||||||
OPT_CXXFLAGS_YES = -O2
|
|
||||||
|
|
||||||
# Include definitions common to all iphone targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.iosCommon
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
# CONFIG.Common.ios-x86
|
|
||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
#
|
|
||||||
# Definitions for ios-x86 target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.ios-x86
|
|
||||||
# or CONFIG_SITE.<host>.ios-x86
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
IOS_PLATFORM = iPhoneSimulator
|
|
||||||
|
|
||||||
OP_SYS_CFLAGS += -mios-simulator-version-min=$(IOS_DEPLOYMENT_TARGET)
|
|
||||||
OP_SYS_LDFLAGS += -mios-simulator-version-min=$(IOS_DEPLOYMENT_TARGET)
|
|
||||||
|
|
||||||
# Include definitions common to all iOS targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.iosCommon
|
|
||||||
@@ -1,116 +0,0 @@
|
|||||||
# CONFIG.Common.iosCommon
|
|
||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
#
|
|
||||||
# Definitions for all Apple iOS builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.iosCommon
|
|
||||||
# or CONFIG_SITE.<host>.iosCommon
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all Unix targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
|
||||||
|
|
||||||
# Include common gnu compiler definitions
|
|
||||||
include $(CONFIG)/CONFIG.gnuCommon
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Valid build types
|
|
||||||
VALID_BUILDS = Ioc
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# operating system class (include/os/<os_class>)
|
|
||||||
OS_CLASS = iOS
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# GNU and SDK directories
|
|
||||||
GNU_DIR = $(PLATFORM_DIR)/Developer/usr
|
|
||||||
SDK_DIR = $(PLATFORM_DIR)/Developer/SDKs/$(IOS_PLATFORM).sdk
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Build architecture flags
|
|
||||||
# ARCH_CLASS must contain a list of CPU architectures which must be
|
|
||||||
# valid arguments to the -arch options for the cc and ld commands.
|
|
||||||
# ARCH_CLASS is defined in a CONFIG_SITE file which is not loaded
|
|
||||||
# until after this file.
|
|
||||||
#
|
|
||||||
ARCH_DEP_FLAGS = $(addprefix -arch ,$(ARCH_CLASS))
|
|
||||||
ARCH_DEP_CFLAGS += $(ARCH_DEP_FLAGS)
|
|
||||||
ARCH_DEP_LDFLAGS += $(ARCH_DEP_FLAGS)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Operating system flags
|
|
||||||
OP_SYS_CFLAGS += -isysroot $(SDK_DIR)
|
|
||||||
OP_SYS_LDFLAGS += -isysroot $(SDK_DIR)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Always compile in debugging symbol table information
|
|
||||||
#
|
|
||||||
OPT_CFLAGS_YES += -g
|
|
||||||
OPT_CXXFLAGS_YES += -g
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Compiler definitions:
|
|
||||||
|
|
||||||
CC_GNU = gcc
|
|
||||||
CCC_GNU = g++
|
|
||||||
CMPLR_CLASS_GNU = gcc
|
|
||||||
|
|
||||||
CC_LLVM_GNU = llvm-gcc
|
|
||||||
CCC_LLVM_GNU = llvm-g++
|
|
||||||
CMPLR_CLASS_LLVM_GNU = gcc
|
|
||||||
|
|
||||||
CC_CLANG = clang
|
|
||||||
CCC_CLANG = clang++
|
|
||||||
CMPLR_CLASS_CLANG = clang
|
|
||||||
|
|
||||||
CMPLR_CLASS = $(CMPLR_CLASS_$(COMPILER))
|
|
||||||
|
|
||||||
# Convert the iOS platform to lowercase for passing to xcrun's sdk parameter
|
|
||||||
XCRUN_SDK_BASE = $(shell echo $(IOS_PLATFORM) | tr A-Z a-z)
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Linker flags
|
|
||||||
GNU_LDLIBS_YES =
|
|
||||||
OP_SYS_LDFLAGS += -dynamic -Z -L$(SDK_DIR)/usr/lib -L$(SDK_DIR)/usr/lib/system
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
|
||||||
# Shared libraries
|
|
||||||
SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
|
|
||||||
SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress \
|
|
||||||
-install_name $(shell $(FULLPATHNAME) $(INSTALL_LIB))/$@ \
|
|
||||||
-compatibility_version $(EPICS_VERSION).$(EPICS_REVISION) \
|
|
||||||
-current_version $(SHRLIB_VERSION)
|
|
||||||
SHRLIB_SUFFIX_BASE = .dylib
|
|
||||||
SHRLIB_SUFFIX = .$(SHRLIB_VERSION)$(SHRLIB_SUFFIX_BASE)
|
|
||||||
|
|
||||||
LOADABLE_SHRLIB_LDFLAGS = -bundle -flat_namespace -undefined suppress
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# code flags
|
|
||||||
CODE_CFLAGS = -fno-common -Wno-unused-value
|
|
||||||
CODE_CXXFLAGS = -fno-common
|
|
||||||
|
|
||||||
#
|
|
||||||
# Add support for Objective-C source
|
|
||||||
#
|
|
||||||
vpath %.m $(USR_VPATH) $(ALL_SRC_DIRS)
|
|
||||||
%.o: %.m
|
|
||||||
$(COMPILE.c) -c $<
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Header dependency file generation
|
|
||||||
#
|
|
||||||
HDEPENDS_METHOD = MKMF
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Allow site overrides
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.Common.iosCommon
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).iosCommon
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Find the Xcode programs for the selected SDK
|
|
||||||
CC := $(shell xcrun -sdk $(XCRUN_SDK_BASE) -find $(CC_$(COMPILER)))
|
|
||||||
CCC := $(shell xcrun -sdk $(XCRUN_SDK_BASE) -find $(CCC_$(COMPILER)))
|
|
||||||
AR := $(shell xcrun -sdk $(XCRUN_SDK_BASE) -find ar) -rc
|
|
||||||
LD := $(shell xcrun -sdk $(XCRUN_SDK_BASE) -find ld) -r
|
|
||||||
RANLIB := $(shell xcrun -sdk $(XCRUN_SDK_BASE) -find ranlib)
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# CONFIG.Common.linux-386
|
|
||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
#
|
|
||||||
# Definitions for linux-386 target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-386
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all linux x86 targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linux-x86
|
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS = -march=i386
|
|
||||||
|
|
||||||
ifeq ($(BUILD_CLASS),CROSS)
|
|
||||||
VALID_BUILDS = Ioc
|
|
||||||
endif
|
|
||||||
|
|
||||||
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
|
|
||||||
# e.g. i386-pc-linux-gnu-gcc, put a GNU_TARGET definition in
|
|
||||||
# CONFIG_SITE.<host>.linux-386 file, e.g. GNU_TARGET=i386-pc-linux-gnu
|
|
||||||
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
# CONFIG.Common.linux-486
|
|
||||||
#
|
|
||||||
# Definitions for linux-486 target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-486
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all linux x86 targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linux-x86
|
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS = -march=i486
|
|
||||||
|
|
||||||
ifeq ($(BUILD_CLASS),CROSS)
|
|
||||||
VALID_BUILDS = Ioc
|
|
||||||
endif
|
|
||||||
|
|
||||||
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
|
|
||||||
# e.g. i486-pc-linux-gnu-gcc, put a GNU_TARGET definition in
|
|
||||||
# CONFIG_SITE.<host>.linux-486 file, e.g. GNU_TARGET=i486-pc-linux-gnu
|
|
||||||
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# CONFIG.Common.linux-586
|
|
||||||
#
|
|
||||||
# Definitions for linux-586 target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-586
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all linux x86 targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linux-x86
|
|
||||||
|
|
||||||
# i586 is equivalent to pentium
|
|
||||||
ARCH_DEP_CFLAGS = -march=i586
|
|
||||||
|
|
||||||
ifeq ($(BUILD_CLASS),CROSS)
|
|
||||||
VALID_BUILDS = Ioc
|
|
||||||
endif
|
|
||||||
|
|
||||||
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
|
|
||||||
# e.g. i586-pc-linux-gnu-gcc, put a GNU_TARGET definition in
|
|
||||||
# CONFIG_SITE.<host>.linux-586 file, e.g. GNU_TARGET=i586-pc-linux-gnu
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
# CONFIG.Common.linux-686
|
|
||||||
#
|
|
||||||
# Definitions for linux-686 target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-686
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all linux x86 targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linux-x86
|
|
||||||
|
|
||||||
# i686 is euivalent to pentiumpro
|
|
||||||
ARCH_DEP_CFLAGS = -march=i686
|
|
||||||
|
|
||||||
ifeq ($(BUILD_CLASS),CROSS)
|
|
||||||
VALID_BUILDS = Ioc
|
|
||||||
endif
|
|
||||||
|
|
||||||
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
|
|
||||||
# e.g. i686-pc-linux-gnu-gcc, put a GNU_TARGET definition in
|
|
||||||
# CONFIG_SITE.<host>.linux-686 file, e.g. GNU_TARGET=i686-pc-linux-gnu
|
|
||||||
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# CONFIG.Common.linux-arm
|
|
||||||
#
|
|
||||||
# Definitions for linux-arm target builds
|
|
||||||
# Override these settings in CONFIG_SITE.Common.linux-arm
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all Linux targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linuxCommon
|
|
||||||
|
|
||||||
ARCH_CLASS = arm
|
|
||||||
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# CONFIG.Common.linux-arm-debug
|
|
||||||
#
|
|
||||||
# Definitions for linux-arm with debug compiler flags
|
|
||||||
# Override these settings in CONFIG_SITE.Common.linux-arm-debug
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all linux-arm target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linux-arm
|
|
||||||
|
|
||||||
HOST_OPT=NO
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
# CONFIG.Common.linux-arm_eb
|
|
||||||
#
|
|
||||||
# Definitions for linux-arm_eb (big endian) target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-arm_eb
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all Linux-arm targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linux-arm
|
|
||||||
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
# CONFIG.Common.linux-arm_el
|
|
||||||
#
|
|
||||||
# Definitions for linux-arm_el (little endian) target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-arm_el
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all linux-arm targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linux-arm
|
|
||||||
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
# CONFIG.Common.linux-athlon
|
|
||||||
#
|
|
||||||
# Definitions for linux-athlon target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-athlon
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all linux x86 targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linux-x86
|
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS += -march=athlon-mp -mfpmath=sse
|
|
||||||
|
|
||||||
ifeq ($(BUILD_CLASS),CROSS)
|
|
||||||
VALID_BUILDS = Ioc
|
|
||||||
endif
|
|
||||||
|
|
||||||
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
|
|
||||||
# e.g. athlon-pc-linux-gnu-gcc, put a GNU_TARGET definition in
|
|
||||||
# CONFIG_SITE.<host>.linux-athlon file, e.g. GNU_TARGET=athlon-pc-linux-gnu
|
|
||||||
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
# CONFIG.Common.linux-cris
|
|
||||||
#
|
|
||||||
# Author: Peter Zumbruch
|
|
||||||
# GSI
|
|
||||||
# P.Zumbruch@gsi.de
|
|
||||||
#
|
|
||||||
# Definitions for linux-cris target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-cris
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all linux targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linuxCommon
|
|
||||||
|
|
||||||
ARCH_CLASS = cris
|
|
||||||
|
|
||||||
ifeq ($(BUILD_CLASS),CROSS)
|
|
||||||
GNU_TARGET = cris-axis-linux-gnu
|
|
||||||
|
|
||||||
# prefix of compiler tools
|
|
||||||
CMPLR_SUFFIX =
|
|
||||||
CMPLR_PREFIX = $(addsuffix -,$(GNU_TARGET))
|
|
||||||
|
|
||||||
# CROSS_TOP_DIR
|
|
||||||
# usually AXIS_TOP_DIR is defined via
|
|
||||||
# the init_env script of the SDK provided by Axis
|
|
||||||
#
|
|
||||||
## AXIS_TOP_DIR defined? Make missing mandatory variable visible
|
|
||||||
AXIS_TOP_DIR?=UNDEFINED_ENV__AXIS_TOP_DIR
|
|
||||||
AXIS_SDK_DIR?=$(AXIS_TOP_DIR)
|
|
||||||
|
|
||||||
# CROSS_INCLUDES
|
|
||||||
AXIS_SDK_TARGET_INCLUDE_DIR = $(AXIS_SDK_DIR)/target/$(GNU_TARGET)/include
|
|
||||||
AXIS_SDK_TARGET_INCLUDE_DIR +=$(AXIS_SDK_DIR)/target/$(GNU_TARGET)/usr/include
|
|
||||||
|
|
||||||
CROSS_INCLUDES = $(addprefix -isystem ,$(AXIS_SDK_TARGET_INCLUDE_DIR))
|
|
||||||
|
|
||||||
# CROSS_LDFLAGS
|
|
||||||
AXIS_SDK_TARGET_LIB_DIR = $(AXIS_SDK_DIR)/target/$(GNU_TARGET)/lib
|
|
||||||
AXIS_SDK_TARGET_LIB_DIR += $(AXIS_SDK_DIR)/target/$(GNU_TARGET)/usr/lib
|
|
||||||
|
|
||||||
CROSS_LDFLAGS = $(addprefix -L,$(AXIS_SDK_TARGET_LIB_DIR))
|
|
||||||
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.Common.linux-cris
|
|
||||||
ifeq ($(EPICS_HOST_ARCH), linux-x86)
|
|
||||||
-include $(CONFIG)/os/CONFIG.linux-x86.linux-cris
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.linux-x86.linux-cris
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
SHARED_LIBRARIES=NO
|
|
||||||
STATIC_BUILD=YES
|
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS += -mno-mul-bug-workaround
|
|
||||||
OP_SYS_CFLAGS += -mlinux
|
|
||||||
ARCH_DEP_CPPFLAGS += -D_cris_ -mlinux
|
|
||||||
|
|
||||||
#uncomment CRIS_COMPILER_DEBUG for debugging cris-compiled code
|
|
||||||
#CRIS_COMPILER_DEBUG
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# CONFIG.Common.linux-microblaze
|
|
||||||
#
|
|
||||||
# This file is maintained by the build community.
|
|
||||||
#
|
|
||||||
# Definitions for Xilinx MicroBlaze FPGA Soft Core Processor target builds.
|
|
||||||
# This target has been tested with the Xilinx Spartan 6 MicroBlaze.
|
|
||||||
|
|
||||||
# Site-specific overrides of these definitions should be made in the file
|
|
||||||
# CONFIG_SITE.Common.linux-microblaze
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all Linux targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linuxCommon
|
|
||||||
|
|
||||||
ARCH_CLASS = microblaze
|
|
||||||
|
|
||||||
ifeq ($(BUILD_CLASS),CROSS)
|
|
||||||
VALID_BUILDS = Ioc
|
|
||||||
GNU_TARGET = microblazeel-unknown-linux-gnu
|
|
||||||
CMPLR_PREFIX = $(addsuffix -,$(GNU_TARGET))
|
|
||||||
endif
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
# CONFIG.Common.linux-ppc
|
|
||||||
#
|
|
||||||
# Definitions for linux-ppc target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-ppc
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all Unix targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linuxCommon
|
|
||||||
|
|
||||||
ARCH_CLASS = ppc
|
|
||||||
|
|
||||||
ARCH_DEP_CPPFLAGS += -D_ppc_
|
|
||||||
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
# CONFIG.Common.linux-ppc64
|
|
||||||
#
|
|
||||||
# Definitions for linux-ppc64 target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-ppc64
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all linux targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linuxCommon
|
|
||||||
|
|
||||||
ARCH_CLASS = ppc64
|
|
||||||
|
|
||||||
ARCH_DEP_CPPFLAGS += -D_ppc_64_
|
|
||||||
ARCH_DEP_CFLAGS += -m64
|
|
||||||
ARCH_DEP_LDFLAGS += -m64
|
|
||||||
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# CONFIG.Common.linux-x86
|
|
||||||
#
|
|
||||||
# Definitions for linux-x86 target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-x86
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all linux targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linuxCommon
|
|
||||||
|
|
||||||
ARCH_CLASS = x86
|
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS = $(GNU_TUNE_CFLAGS)
|
|
||||||
ARCH_DEP_CPPFLAGS += -D_X86_
|
|
||||||
|
|
||||||
OP_SYS_CFLAGS += -m32
|
|
||||||
OP_SYS_LDFLAGS += -m32
|
|
||||||
|
|
||||||
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
|
|
||||||
# e.g. x86-redhat-linux-gcc, put a GNU_TARGET definition in
|
|
||||||
# CONFIG_SITE.<host>.linux-x86 file, e.g. GNU_TARGET=x86-redhat-linux
|
|
||||||
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# CONFIG.Common.linux-x86-debug
|
|
||||||
#
|
|
||||||
# Definitions for linux-x86 with debug compiler flags
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-x86-debug
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all linux-x86 target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linux-x86
|
|
||||||
|
|
||||||
HOST_OPT=NO
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# CONFIG.Common.linux-x86_64
|
|
||||||
#
|
|
||||||
# Definitions for linux-x86_64 target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-x86_64
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all linux targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linuxCommon
|
|
||||||
|
|
||||||
ARCH_CLASS = x86_64
|
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS = $(GNU_TUNE_CFLAGS)
|
|
||||||
ARCH_DEP_CPPFLAGS += -D_X86_64_
|
|
||||||
|
|
||||||
OP_SYS_CFLAGS += -m64
|
|
||||||
OP_SYS_LDFLAGS += -m64
|
|
||||||
|
|
||||||
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
|
|
||||||
# e.g. x86_64-redhat-linux-gcc, put a GNU_TARGET definition in
|
|
||||||
# CONFIG_SITE.<host>.linux-x86_64 file, e.g. GNU_TARGET=x86_64-redhat-linux
|
|
||||||
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# CONFIG.Common.linux-x86_64-debug
|
|
||||||
#
|
|
||||||
# Definitions for linux-x86_64 with debug compiler flags
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linux-x86_64-debug
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all linux-x86_64 target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linux-x86_64
|
|
||||||
|
|
||||||
HOST_OPT=NO
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
# CONFIG.Common.linux-xscale_be
|
|
||||||
#
|
|
||||||
# Definitions for linux-xscale_be (big-endian) target builds.
|
|
||||||
# This target has been tested with the MOXA UC-7408-LX Plus.
|
|
||||||
|
|
||||||
# Site-specific overrides of these definitions should be made in the file
|
|
||||||
# CONFIG_SITE.Common.linux-xscale_be
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all Linux targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.linuxCommon
|
|
||||||
|
|
||||||
ARCH_CLASS = xscale
|
|
||||||
|
|
||||||
ifeq ($(BUILD_CLASS),CROSS)
|
|
||||||
VALID_BUILDS = Ioc
|
|
||||||
GNU_TARGET = xscale_be
|
|
||||||
CMPLR_PREFIX = $(addsuffix -,$(GNU_TARGET))
|
|
||||||
endif
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
# CONFIG.Common.linuxCommon
|
|
||||||
#
|
|
||||||
# Definitions for linux target builds
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.linuxCommon
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all Unix targets
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
|
||||||
|
|
||||||
OS_CLASS = Linux
|
|
||||||
|
|
||||||
# Define _GNU_SOURCE and _DEFAULT_SOURCE for maximum portability
|
|
||||||
POSIX_CPPFLAGS = -D_GNU_SOURCE -D_DEFAULT_SOURCE
|
|
||||||
POSIX_LDLIBS = -lpthread
|
|
||||||
|
|
||||||
OP_SYS_CPPFLAGS += -Dlinux
|
|
||||||
OP_SYS_LDLIBS += -lrt -ldl
|
|
||||||
# Use -rdynamic to maximize symbols available for stacktrace
|
|
||||||
OP_SYS_LDFLAGS += -rdynamic
|
|
||||||
|
|
||||||
# Linker flags for static & shared-library builds
|
|
||||||
STATIC_LDFLAGS_YES= -Wl,-Bstatic
|
|
||||||
STATIC_LDFLAGS_NO=
|
|
||||||
STATIC_LDLIBS_YES= -Wl,-Bdynamic
|
|
||||||
|
|
||||||
# Set runtime path for shared libraries
|
|
||||||
SHRLIBDIR_RPATH_LDFLAGS_YES += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
|
|
||||||
SHRLIBDIR_LDFLAGS += $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
|
||||||
|
|
||||||
# Set runtime path for products
|
|
||||||
PRODDIR_RPATH_LDFLAGS_YES += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
|
|
||||||
PRODDIR_LDFLAGS += $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
|
||||||
|
|
||||||
# Link libraries controlled by COMMANDLINE_LIBRARY
|
|
||||||
# The newest Linux versions only need readline, older ones need both
|
|
||||||
# readline and ncurses, and the oldest need readline and curses
|
|
||||||
LDLIBS_READLINE = -lreadline
|
|
||||||
LDLIBS_READLINE_NCURSES = -lreadline -lncurses
|
|
||||||
LDLIBS_READLINE_CURSES = -lreadline -lcurses
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
|
||||||
# Allow site overrides
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.Common.linuxCommon
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).linuxCommon
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
# CONFIG.Common.solaris-sparc
|
|
||||||
#
|
|
||||||
# Definitions for solaris-sparc target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all Unix target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
|
||||||
|
|
||||||
OS_CLASS = solaris
|
|
||||||
ARCH_CLASS = sparc
|
|
||||||
|
|
||||||
CODE_CPPFLAGS = -D__EXTENSIONS__
|
|
||||||
|
|
||||||
COMPILER_CPPFLAGS += -mt
|
|
||||||
COMPILER_LDFLAGS += -mt
|
|
||||||
|
|
||||||
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
|
|
||||||
|
|
||||||
POSIX_CFLAGS = -xc99 -D_POSIX_C_SOURCE=200112L
|
|
||||||
POSIX_LDLIBS += -lposix4 -lpthread
|
|
||||||
|
|
||||||
OP_SYS_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION) $(COMPILER_CPPFLAGS)
|
|
||||||
OP_SYS_LDFLAGS += $(COMPILER_LDFLAGS)
|
|
||||||
|
|
||||||
# Set runtime path for shared libraries
|
|
||||||
SHRLIBDIR_RPATH_LDFLAGS_YES += $(SHRLIB_DEPLIB_DIRS:%=-R%)
|
|
||||||
SHRLIBDIR_LDFLAGS += $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
|
||||||
|
|
||||||
# Set runtime path for products
|
|
||||||
PRODDIR_RPATH_LDFLAGS_YES += $(PROD_DEPLIB_DIRS:%=-R%)
|
|
||||||
PRODDIR_LDFLAGS += $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
|
||||||
|
|
||||||
GNU_TARGET=sparc-sun-solaris2
|
|
||||||
|
|
||||||
STLPORT_CFLAGS_YES= -library=stlport4
|
|
||||||
STLPORT_CFLAGS_NO=
|
|
||||||
STLPORT_LDLIBS_YES =
|
|
||||||
STLPORT_LDLIBS_NO = -lCstd
|
|
||||||
|
|
||||||
# can be overridden in CONFIG_SITE.Common.solaris-sparc
|
|
||||||
USE_STLPORT=NO
|
|
||||||
|
|
||||||
OP_SYS_CFLAGS+=$(STLPORT_CFLAGS_$(USE_STLPORT))
|
|
||||||
OP_SYS_LDFLAGS+=$(STLPORT_CFLAGS_$(USE_STLPORT))
|
|
||||||
OP_SYS_LDLIBS += $(STLPORT_LDLIBS_$(USE_STLPORT))
|
|
||||||
|
|
||||||
# OS libraries used when generating shared libraries or static binaries
|
|
||||||
OP_SYS_LDLIBS += -lsocket -lnsl
|
|
||||||
OP_SYS_LDLIBS_8 += -ldl -lCrun -lc
|
|
||||||
OP_SYS_LDLIBS_9 += -ldl -lumem -lCrun -lc
|
|
||||||
OP_SYS_LDLIBS_10 += -lumem -lCrun -lc
|
|
||||||
OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))
|
|
||||||
|
|
||||||
# Definitions used when COMMANDLINE_LIBRARY is READLINE
|
|
||||||
READLINE_DIR = $(GNU_DIR)
|
|
||||||
INCLUDES_READLINE = -I$(READLINE_DIR)/include
|
|
||||||
RUNTIME_LDFLAGS_READLINE_YES += -R$(READLINE_DIR)/lib
|
|
||||||
RUNTIME_LDFLAGS_READLINE += $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
|
|
||||||
LDFLAGS_READLINE += -L$(READLINE_DIR)/lib
|
|
||||||
LDLIBS_READLINE = -lreadline -lcurses
|
|
||||||
# Use archive if there is a problem with the readline shared library
|
|
||||||
#LDLIBS_READLINE = -Bstatic -lreadline -Bdynamic -lcurses
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# CONFIG.Common.solaris-sparc-debug
|
|
||||||
#
|
|
||||||
# Definitions for solaris-sparc with debug compiler flags
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc-debug
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all solaris-sparc target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.solaris-sparc
|
|
||||||
|
|
||||||
# Removes -O optimization and adds -g compile option
|
|
||||||
HOST_OPT=NO
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
# CONFIG.Common.solaris-sparc-gnu
|
|
||||||
#
|
|
||||||
# Definitions for solaris-sparc gnu compiler target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc-gnu
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all solaris-sparc target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.solaris-sparc
|
|
||||||
|
|
||||||
COMPILER_CPPFLAGS = -D_REENTRANT
|
|
||||||
|
|
||||||
POSIX_CFLAGS = -std=gnu99 -D_POSIX_C_SOURCE=200112L
|
|
||||||
|
|
||||||
STLPORT_LDLIBS_NO =
|
|
||||||
|
|
||||||
OP_SYS_LDLIBS_8 = -ldl
|
|
||||||
OP_SYS_LDLIBS_9 = -ldl
|
|
||||||
OP_SYS_LDLIBS_10 =
|
|
||||||
OP_SYS_LDLIBS_11 = -lc
|
|
||||||
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# CONFIG.Common.solaris-sparc64
|
|
||||||
#
|
|
||||||
# Definitions for solaris-sparc64 compiler target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc64
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all solaris-sparc target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.solaris-sparc
|
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS += -m64
|
|
||||||
ARCH_DEP_LDFLAGS += -m64
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# CONFIG.Common.solaris-sparc64-gnu
|
|
||||||
#
|
|
||||||
# Definitions for solaris-sparc64 gnu compiler target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc64-gnu
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all solaris-sparc-gnu target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.solaris-sparc-gnu
|
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS += -mcpu=v9 -m64
|
|
||||||
ARCH_DEP_LDFLAGS += -mcpu=v9 -m64
|
|
||||||
ARCH_DEP_LDFLAGS += -L$(GNU_LIB)/sparcv9 -R$(GNU_LIB)/sparcv9
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
# CONFIG.Common.solaris-x86
|
|
||||||
#
|
|
||||||
# Definitions for solaris-x86 target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.solaris-x86
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all Unix target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
|
||||||
|
|
||||||
OS_CLASS = solaris
|
|
||||||
ARCH_CLASS = x86
|
|
||||||
|
|
||||||
CODE_CPPFLAGS = -D__EXTENSIONS__
|
|
||||||
|
|
||||||
COMPILER_CPPFLAGS += -mt
|
|
||||||
COMPILER_LDFLAGS += -mt
|
|
||||||
|
|
||||||
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
|
|
||||||
|
|
||||||
POSIX_CFLAGS = -xc99 -D_POSIX_C_SOURCE=200112L
|
|
||||||
POSIX_LDLIBS += -lposix4 -lpthread
|
|
||||||
|
|
||||||
OP_SYS_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION) $(COMPILER_CPPFLAGS)
|
|
||||||
OP_SYS_LDFLAGS += $(COMPILER_LDFLAGS)
|
|
||||||
ARCH_DEP_CPPFLAGS = -D_X86_
|
|
||||||
|
|
||||||
# Set runtime path for shared libraries
|
|
||||||
SHRLIBDIR_RPATH_LDFLAGS_YES += $(SHRLIB_DEPLIB_DIRS:%=-R%)
|
|
||||||
SHRLIBDIR_LDFLAGS += $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
|
||||||
|
|
||||||
# Set runtime path for products
|
|
||||||
PRODDIR_RPATH_LDFLAGS_YES += $(PROD_DEPLIB_DIRS:%=-R%)
|
|
||||||
PRODDIR_LDFLAGS += $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
|
||||||
|
|
||||||
GNU_TARGET=x86-sun-solaris2
|
|
||||||
|
|
||||||
STLPORT_CFLAGS_YES= -library=stlport4
|
|
||||||
STLPORT_CFLAGS_NO=
|
|
||||||
STLPORT_LDLIBS_YES =
|
|
||||||
STLPORT_LDLIBS_NO = -lCstd
|
|
||||||
|
|
||||||
# can be overridden from ...SITE
|
|
||||||
USE_STLPORT=NO
|
|
||||||
|
|
||||||
OP_SYS_CFLAGS+=$(STLPORT_CFLAGS_$(USE_STLPORT))
|
|
||||||
OP_SYS_LDFLAGS+=$(STLPORT_CFLAGS_$(USE_STLPORT))
|
|
||||||
|
|
||||||
OP_SYS_LDLIBS += -lsocket -lnsl
|
|
||||||
OP_SYS_LDLIBS_8 += -ldl -lCrun -lc
|
|
||||||
OP_SYS_LDLIBS_9 += -ldl -lCrun -lc
|
|
||||||
OP_SYS_LDLIBS_10 += -lCrun -lc
|
|
||||||
OP_SYS_LDLIBS_11 += -lCrun -lc
|
|
||||||
OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))
|
|
||||||
OP_SYS_LDLIBS += $(STLPORT_LDLIBS_$(USE_STLPORT))
|
|
||||||
|
|
||||||
# Definitions used when COMMANDLINE_LIBRARY is READLINE
|
|
||||||
READLINE_DIR = $(GNU_DIR)
|
|
||||||
INCLUDES_READLINE = -I$(READLINE_DIR)/include
|
|
||||||
RUNTIME_LDFLAGS_READLINE_YES += -R$(READLINE_DIR)/lib
|
|
||||||
RUNTIME_LDFLAGS_READLINE += $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
|
|
||||||
LDFLAGS_READLINE += -L$(READLINE_DIR)/lib
|
|
||||||
LDLIBS_READLINE = -lreadline -lcurses
|
|
||||||
# Use archive if there is a problem with the readline shared library
|
|
||||||
#LDLIBS_READLINE = -Bstatic -lreadline -Bdynamic -lcurses
|
|
||||||
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
# CONFIG.Common.solaris-x86-gnu
|
|
||||||
#
|
|
||||||
# Definitions for solaris-x86 gnu compiler target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.solaris-x86-gnu
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all solaris-x86 target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.solaris-x86
|
|
||||||
|
|
||||||
COMPILER_CPPFLAGS = -D_REENTRANT
|
|
||||||
|
|
||||||
POSIX_CFLAGS = -std=gnu99 -D_POSIX_C_SOURCE=200112L
|
|
||||||
|
|
||||||
STLPORT_LDLIBS_NO =
|
|
||||||
|
|
||||||
OP_SYS_LDLIBS_8 = -ldl -lc
|
|
||||||
OP_SYS_LDLIBS_9 = -ldl -lc
|
|
||||||
OP_SYS_LDLIBS_10 = -lc
|
|
||||||
OP_SYS_LDLIBS_11 = -lc
|
|
||||||
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# CONFIG.Common.solaris-x86_64
|
|
||||||
#
|
|
||||||
# Definitions for solaris-x86_64 compiler target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.solaris-x86_64
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all solaris-x86 target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.solaris-x86
|
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS += -m64
|
|
||||||
ARCH_DEP_LDFLAGS += -m64
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# CONFIG.Common.solaris-x86_64-gnu
|
|
||||||
#
|
|
||||||
# Definitions for solaris-x86_64 gnu compiler target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.solaris-x86_64-gnu
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all solaris-x86-gnu target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.solaris-x86-gnu
|
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS += -m64
|
|
||||||
ARCH_DEP_LDFLAGS += -m64
|
|
||||||
#ARCH_DEP_LDFLAGS += -L$(GNU_LIB)/amd64 -R$(GNU_LIB)/amd64
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# CONFIG.Common.vxWorks-486
|
|
||||||
#
|
|
||||||
# Definitions for vxWorks-486 target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-486
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all vxWorks archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.vxWorksCommon
|
|
||||||
|
|
||||||
# Vx GNU cross compiler suffix
|
|
||||||
CMPLR_SUFFIX = pentium
|
|
||||||
|
|
||||||
ARCH_CLASS = x86
|
|
||||||
|
|
||||||
ARCH_DEP_CPPFLAGS = -DCPU=I80486 -D_X86_
|
|
||||||
ARCH_DEP_CFLAGS = -mtune=i486 -march=i486
|
|
||||||
ARCH_DEP_CFLAGS += -fno-zero-initialized-in-bss -fno-defer-pop
|
|
||||||
|
|
||||||
# Allow site overrides
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.Common.vxWorks-486
|
|
||||||
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# CONFIG.Common.vxWorks-486-debug
|
|
||||||
#
|
|
||||||
# Definitions for vxWorks-486-debug target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-486-debug
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all vxWorks archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.vxWorks-486
|
|
||||||
|
|
||||||
CROSS_OPT = NO
|
|
||||||
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# CONFIG.Common.vxWorks-68040
|
|
||||||
#
|
|
||||||
# Definitions for vxWorks-68040 target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68040
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all vxWorks archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.vxWorksCommon
|
|
||||||
|
|
||||||
# Vx GNU cross compiler suffix
|
|
||||||
CMPLR_SUFFIX = 68k
|
|
||||||
|
|
||||||
ARCH_CLASS = 68k
|
|
||||||
|
|
||||||
# Architecture specific build flags
|
|
||||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68040
|
|
||||||
ARCH_DEP_CFLAGS = -m68040
|
|
||||||
|
|
||||||
OPT_CFLAGS_YES = -O0
|
|
||||||
|
|
||||||
GNU_TARGET = m68k-wrs-vxworks
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# CONFIG.Common.vxWorks-68040-debug
|
|
||||||
#
|
|
||||||
# Definitions for vxWorks-68040-debug target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68040-debug
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all vxWorks archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.vxWorks-68040
|
|
||||||
|
|
||||||
CROSS_OPT = NO
|
|
||||||
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# CONFIG.Common.vxWorks-68040lc
|
|
||||||
#
|
|
||||||
# Definitions for vxWorks-68040lc target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68040lc
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all vxWorks archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.vxWorksCommon
|
|
||||||
|
|
||||||
# Vx GNU cross compiler suffix
|
|
||||||
CMPLR_SUFFIX = 68k
|
|
||||||
|
|
||||||
ARCH_CLASS = 68k
|
|
||||||
|
|
||||||
# Architecture specific build flags
|
|
||||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68LC040
|
|
||||||
ARCH_DEP_CFLAGS = -m68040 -msoft-float
|
|
||||||
|
|
||||||
OPT_CFLAGS_YES = -O0
|
|
||||||
|
|
||||||
GNU_TARGET = m68k-wrs-vxworks
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# CONFIG.Common.vxWorks-68040lc-debug
|
|
||||||
#
|
|
||||||
# Definitions for vxWorks-68040lc-debug target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68040lc-debug
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all vxWorks archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.vxWorks-68040lc
|
|
||||||
|
|
||||||
CROSS_OPT = NO
|
|
||||||
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# CONFIG.Common.vxWorks-68060
|
|
||||||
#
|
|
||||||
# Definitions for vxWorks-68060 target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68060
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all vxWorks target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.vxWorksCommon
|
|
||||||
|
|
||||||
# Vx GNU cross compiler suffix
|
|
||||||
CMPLR_SUFFIX = 68k
|
|
||||||
|
|
||||||
ARCH_CLASS = 68k
|
|
||||||
|
|
||||||
# Architecture specific build flags
|
|
||||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68060
|
|
||||||
ARCH_DEP_CFLAGS = -m68040
|
|
||||||
|
|
||||||
OPT_CFLAGS_YES = -O0
|
|
||||||
|
|
||||||
GNU_TARGET = m68k-wrs-vxworks
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# CONFIG.Common.vxWorks-68060-debug
|
|
||||||
#
|
|
||||||
# Definitions for vxWorks-68060-debug target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68060-debug
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all vxWorks archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.vxWorks-68060
|
|
||||||
|
|
||||||
CROSS_OPT = NO
|
|
||||||
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
# CONFIG.Common.vxWorks-mpc8540
|
|
||||||
#
|
|
||||||
# Definitions for vxWorks-mpc8540 target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8540
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all vxWorks target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.vxWorksCommon
|
|
||||||
|
|
||||||
GNU_DIR_5 = $(WIND_BASE)/gnu/3.3/$(WIND_HOST_TYPE)
|
|
||||||
|
|
||||||
# Vx GNU cross compiler suffix
|
|
||||||
CMPLR_SUFFIX = ppc
|
|
||||||
|
|
||||||
ARCH_CLASS = ppc
|
|
||||||
|
|
||||||
# Architecture specific build flags
|
|
||||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC85XX
|
|
||||||
ARCH_DEP_CFLAGS = -mcpu=8540 -msoft-float -mspe=no -mabi=no-spe
|
|
||||||
ARCH_DEP_CFLAGS += -mstrict-align -mlongcall
|
|
||||||
|
|
||||||
GNU_TARGET = powerpc-wrs-vxworks
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# CONFIG.Common.vxWorks-mpc8540-debug
|
|
||||||
#
|
|
||||||
# Definitions for vxWorks-mpc8540-debug target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8540-debug
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all vxWorks archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.vxWorks-mpc8540
|
|
||||||
|
|
||||||
CROSS_OPT = NO
|
|
||||||
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
# CONFIG.Common.vxWorks-mpc8548
|
|
||||||
#
|
|
||||||
# Definitions for vxWorks-mpc8548 target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8548
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all vxWorks target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.vxWorksCommon
|
|
||||||
|
|
||||||
# Vx GNU cross compiler suffix
|
|
||||||
CMPLR_SUFFIX = ppc
|
|
||||||
|
|
||||||
ARCH_CLASS = ppc
|
|
||||||
|
|
||||||
# Architecture specific build flags
|
|
||||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC32
|
|
||||||
ARCH_DEP_CFLAGS = -DCPU_VARIANT=_ppc85XX_e500v2
|
|
||||||
ARCH_DEP_CFLAGS += -mlongcall
|
|
||||||
|
|
||||||
# This flag isn't present in early vxWorks 6.x versions
|
|
||||||
#ARCH_DEP_CFLAGS += -te500v2
|
|
||||||
|
|
||||||
GNU_TARGET = powerpc-wrs-vxworks
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# CONFIG.Common.vxWorks-mpc8548-debug
|
|
||||||
#
|
|
||||||
# Definitions for vxWorks-mpc8548-debug targets.
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8548-debug
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all vxWorks archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.vxWorks-mpc8548
|
|
||||||
|
|
||||||
CROSS_OPT = NO
|
|
||||||
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# CONFIG.Common.vxWorks-pentium
|
|
||||||
#
|
|
||||||
# Definitions for vxWorks-pentium target archs
|
|
||||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-pentium
|
|
||||||
#-------------------------------------------------------
|
|
||||||
|
|
||||||
# Include definitions common to all vxWorks target archs
|
|
||||||
include $(CONFIG)/os/CONFIG.Common.vxWorksCommon
|
|
||||||
|
|
||||||
# Vx GNU cross compiler suffix
|
|
||||||
CMPLR_SUFFIX = pentium
|
|
||||||
|
|
||||||
ARCH_CLASS = x86
|
|
||||||
|
|
||||||
ARCH_DEP_CPPFLAGS = -DCPU=PENTIUM -D_X86_
|
|
||||||
ARCH_DEP_CFLAGS = -mtune=pentium -march=pentium
|
|
||||||
ARCH_DEP_CFLAGS += -fno-zero-initialized-in-bss -fno-defer-pop
|
|
||||||
|
|
||||||
# Allow site overrides
|
|
||||||
-include $(CONFIG)/os/CONFIG_SITE.Common.vxWorks-pentium
|
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user