mirror of
https://github.com/scp-fs2open/fs2open.github.com.git
synced 2026-11-08 07:28:22 -10:00
Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7040c4c17e | ||
|
|
7727b00f76 | ||
|
|
24b15298b6 | ||
|
|
26dcfd9fbb |
No files matched your search
@@ -1,182 +0,0 @@
|
||||
version: 2
|
||||
|
||||
references:
|
||||
container_config: &container_config
|
||||
docker:
|
||||
- image: "debian:stretch"
|
||||
working_directory: /root/build
|
||||
|
||||
restore_repo: &restore_repo
|
||||
restore_cache:
|
||||
keys:
|
||||
- source-repo-{{ .Branch }}-{{ .Revision }}
|
||||
- source-repo-{{ .Branch }}
|
||||
- source-repo
|
||||
|
||||
cmake_configure: &cmake_configure
|
||||
run:
|
||||
name: Creating Build Files
|
||||
command: |
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
CXXFLAGS="-m64 -mtune=generic -mfpmath=sse -msse -msse2 -pipe -Wno-unknown-pragmas"
|
||||
CFLAGS="-m64 -mtune=generic -mfpmath=sse -msse -msse2 -pipe -Wno-unknown-pragmas"
|
||||
|
||||
if [[ "$CC" =~ ^clang.*$ ]]; then
|
||||
CXXFLAGS="$CXXFLAGS -stdlib=libc++"
|
||||
fi
|
||||
|
||||
eval $CC --version
|
||||
|
||||
export CXXFLAGS
|
||||
export CFLAGS
|
||||
CMAKE="cmake -G Ninja -DFSO_FATAL_WARNINGS=ON $CMAKE_OPTIONS"
|
||||
eval $CMAKE -DCMAKE_BUILD_TYPE=$CONFIGURATION -DFSO_BUILD_TESTS=ON -DFSO_BUILD_INCLUDED_LIBS=ON ..
|
||||
|
||||
compile: &compile
|
||||
run:
|
||||
name: Compiling Source code
|
||||
command: |
|
||||
cd build
|
||||
ninja -k 20 all
|
||||
|
||||
run_tests: &run_tests
|
||||
run:
|
||||
name: Run unit tests
|
||||
command: |
|
||||
./build/bin/unittests --gtest_shuffle
|
||||
|
||||
compile_steps: &compile_steps
|
||||
steps:
|
||||
- *restore_repo
|
||||
- *cmake_configure
|
||||
- *compile
|
||||
- *run_tests
|
||||
jobs:
|
||||
checkout_code:
|
||||
<<: *container_config
|
||||
steps:
|
||||
- run:
|
||||
name: Installing Git
|
||||
command: 'apt-get update && apt-get -yq install git'
|
||||
- *restore_repo
|
||||
- checkout
|
||||
- run:
|
||||
name: Updating submodules
|
||||
command: 'git submodule update --init --recursive'
|
||||
- save_cache:
|
||||
key: source-repo-{{ .Branch }}-{{ .Revision }}
|
||||
paths:
|
||||
- .
|
||||
|
||||
build_gcc_lowest_debug:
|
||||
docker:
|
||||
- image: asarium/fso_compile:gcc-lowest
|
||||
working_directory: /root/build
|
||||
environment:
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
CONFIGURATION: Debug
|
||||
<<: *compile_steps
|
||||
|
||||
build_gcc_lowest_release:
|
||||
docker:
|
||||
- image: asarium/fso_compile:gcc-lowest
|
||||
working_directory: /root/build
|
||||
environment:
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
CONFIGURATION: Release
|
||||
<<: *compile_steps
|
||||
|
||||
build_gcc_latest_debug:
|
||||
docker:
|
||||
- image: asarium/fso_compile:gcc-latest
|
||||
working_directory: /root/build
|
||||
environment:
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
CONFIGURATION: Debug
|
||||
<<: *compile_steps
|
||||
|
||||
build_gcc_latest_release:
|
||||
docker:
|
||||
- image: asarium/fso_compile:gcc-latest
|
||||
working_directory: /root/build
|
||||
environment:
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
CONFIGURATION: Release
|
||||
<<: *compile_steps
|
||||
|
||||
build_clang_latest_debug:
|
||||
docker:
|
||||
- image: asarium/fso_compile:clang-latest
|
||||
working_directory: /root/build
|
||||
environment:
|
||||
CC: clang-8
|
||||
CXX: clang++-8
|
||||
CONFIGURATION: Debug
|
||||
<<: *compile_steps
|
||||
|
||||
build_clang_latest_release:
|
||||
docker:
|
||||
- image: asarium/fso_compile:clang-latest
|
||||
working_directory: /root/build
|
||||
environment:
|
||||
CC: clang-8
|
||||
CXX: clang++-8
|
||||
CONFIGURATION: Release
|
||||
<<: *compile_steps
|
||||
|
||||
build_clang_lowest_debug:
|
||||
docker:
|
||||
- image: asarium/fso_compile:clang-lowest
|
||||
working_directory: /root/build
|
||||
environment:
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
CONFIGURATION: Debug
|
||||
<<: *compile_steps
|
||||
|
||||
build_clang_lowest_release:
|
||||
docker:
|
||||
- image: asarium/fso_compile:clang-lowest
|
||||
working_directory: /root/build
|
||||
environment:
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
CONFIGURATION: Release
|
||||
<<: *compile_steps
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
|
||||
build_test:
|
||||
jobs:
|
||||
- checkout_code
|
||||
- build_gcc_lowest_debug:
|
||||
requires:
|
||||
- checkout_code
|
||||
- build_gcc_lowest_release:
|
||||
requires:
|
||||
- checkout_code
|
||||
- build_gcc_latest_debug:
|
||||
requires:
|
||||
- checkout_code
|
||||
- build_gcc_latest_release:
|
||||
requires:
|
||||
- checkout_code
|
||||
- build_clang_latest_debug:
|
||||
requires:
|
||||
- checkout_code
|
||||
- build_clang_latest_release:
|
||||
requires:
|
||||
- checkout_code
|
||||
- build_clang_lowest_debug:
|
||||
requires:
|
||||
- checkout_code
|
||||
- build_clang_lowest_release:
|
||||
requires:
|
||||
- checkout_code
|
||||
-104
@@ -1,104 +0,0 @@
|
||||
---
|
||||
Language: Cpp
|
||||
Standard: Cpp11
|
||||
# BasedOnStyle: LLVM
|
||||
AccessModifierOffset: -2
|
||||
AlignAfterOpenBracket: DontAlign
|
||||
AlignConsecutiveAssignments: false
|
||||
AlignConsecutiveDeclarations: false
|
||||
AlignEscapedNewlines: Left
|
||||
AlignOperands: true
|
||||
AlignTrailingComments: true
|
||||
AllowAllParametersOfDeclarationOnNextLine: false
|
||||
AllowAllArgumentsOnNextLine: false
|
||||
AllowShortBlocksOnASingleLine: Never
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortEnumsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: Empty
|
||||
AllowShortIfStatementsOnASingleLine: Never
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
AlwaysBreakAfterDefinitionReturnType: None
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: false
|
||||
AlwaysBreakTemplateDeclarations: Yes
|
||||
BinPackArguments: false
|
||||
BinPackParameters: false
|
||||
BraceWrapping:
|
||||
AfterClass: false
|
||||
AfterControlStatement: false
|
||||
AfterEnum: false
|
||||
AfterFunction: true
|
||||
AfterNamespace: false
|
||||
AfterObjCDeclaration: false
|
||||
AfterStruct: false
|
||||
AfterUnion: false
|
||||
BeforeCatch: false
|
||||
BeforeElse: false
|
||||
IndentBraces: false
|
||||
BreakBeforeBinaryOperators: None
|
||||
BreakBeforeBraces: Custom
|
||||
BreakBeforeTernaryOperators: true
|
||||
BreakConstructorInitializersBeforeComma: false
|
||||
BreakAfterJavaFieldAnnotations: false
|
||||
BreakStringLiterals: true
|
||||
ColumnLimit: 120
|
||||
CommentPragmas: '^ IWYU pragma:'
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
||||
ConstructorInitializerIndentWidth: 4
|
||||
ContinuationIndentWidth: 4
|
||||
Cpp11BracedListStyle: true
|
||||
DerivePointerAlignment: false
|
||||
DisableFormat: false
|
||||
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
|
||||
IncludeBlocks: Regroup
|
||||
IncludeCategories:
|
||||
- Regex: '^(<.*\.(h|hh|hpp)>)$' # Includes of external libraries
|
||||
Priority: 5
|
||||
- Regex: '^(<.*>)$' # standard library includes (won't match deprecated C headers)
|
||||
Priority: 6
|
||||
- Regex: '^"globalincs\/.*\.h"$' # globalincs always come first
|
||||
Priority: 1
|
||||
- Regex: '^"[^/]*\.(h)"$' # Local includes
|
||||
Priority: 2
|
||||
- Regex: '^".*\.(h)"$' # standard engine includes
|
||||
Priority: 3
|
||||
- Regex: '.*' # Catch all in case something is unhandled above
|
||||
Priority: 4
|
||||
IncludeIsMainRegex: '$'
|
||||
IndentCaseLabels: false
|
||||
IndentWidth: 4
|
||||
IndentWrappedFunctionNames: false
|
||||
JavaScriptQuotes: Leave
|
||||
JavaScriptWrapImports: true
|
||||
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||
MacroBlockBegin: ''
|
||||
MacroBlockEnd: ''
|
||||
MaxEmptyLinesToKeep: 1
|
||||
NamespaceIndentation: None
|
||||
ObjCBlockIndentWidth: 2
|
||||
ObjCSpaceAfterProperty: false
|
||||
ObjCSpaceBeforeProtocolList: true
|
||||
PenaltyBreakBeforeFirstCallParameter: 19
|
||||
PenaltyBreakComment: 300
|
||||
PenaltyBreakFirstLessLess: 120
|
||||
PenaltyBreakString: 1000
|
||||
PenaltyExcessCharacter: 1000000
|
||||
PenaltyReturnTypeOnItsOwnLine: 60
|
||||
PointerAlignment: Left
|
||||
ReflowComments: true
|
||||
SortIncludes: true
|
||||
SpaceAfterCStyleCast: false
|
||||
SpaceAfterTemplateKeyword: true
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceInEmptyParentheses: false
|
||||
SpacesBeforeTrailingComments: 1
|
||||
SpacesInAngles: false
|
||||
SpacesInContainerLiterals: true
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInParentheses: false
|
||||
SpacesInSquareBrackets: false
|
||||
TabWidth: 4
|
||||
UseTab: ForContinuationAndIndentation
|
||||
...
|
||||
|
||||
-41
@@ -1,41 +0,0 @@
|
||||
---
|
||||
Checks: "-*,\
|
||||
modernize-*,\
|
||||
-modernize-avoid-c-arrays,\
|
||||
-modernize-make-unique,\
|
||||
-modernize-raw-string-literal,\
|
||||
-modernize-use-trailing-return-type,\
|
||||
-modernize-use-using,\
|
||||
performance-*,\
|
||||
-performance-type-promotion-in-math-fn,\
|
||||
misc-*,\
|
||||
-misc-macro-parentheses,\
|
||||
-misc-misplaced-widening-cast,\
|
||||
-misc-non-private-member-variables-in-classes,\
|
||||
-misc-static-assert,\
|
||||
-misc-unused-parameters,\
|
||||
readability-*,\
|
||||
-readability-avoid-const-params-in-decls,\
|
||||
-readability-else-after-return,\
|
||||
-readability-function-size,\
|
||||
-readability-identifier-naming,\
|
||||
-readability-implicit-bool-conversion,\
|
||||
-readability-inconsistent-declaration-parameter-name,\
|
||||
-readability-isolate-declaration,\
|
||||
-readability-magic-numbers,\
|
||||
-readability-named-parameter,\
|
||||
-readability-qualified-auto,\
|
||||
-readability-uppercase-literal-suffix,\
|
||||
"
|
||||
WarningsAsErrors: ''
|
||||
HeaderFilterRegex: 'code/.*$|freespace2/.*$|qtfred/.*$|test/src/.*$|build/.*$'
|
||||
AnalyzeTemporaryDtors: false
|
||||
CheckOptions:
|
||||
- key: 'misc-assert-side-effect.AssertMacros'
|
||||
value: 'assert,Assert,Assertion'
|
||||
- key: 'modernize-use-emplace.ContainersWithPushBack'
|
||||
value: 'std::vector;std::deque;std::list;SCP_vector;SCP_deque;SCP_list'
|
||||
- key: 'readability-braces-around-statements.ShortStatementLines'
|
||||
value: '4' # Avoid flagging simple if (...) return false; statements
|
||||
...
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
/build
|
||||
/.git
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
|
||||
build:
|
||||
image: teaci/msys$$arch
|
||||
pull: true
|
||||
shell: mingw$$arch
|
||||
commands:
|
||||
- git submodule update --init --recursive
|
||||
- if [ $$arch = 32 ]; then target=i686; fi
|
||||
- if [ $$arch = 64 ]; then target=x86_64; fi
|
||||
- pacman -S --needed --noconfirm --noprogressbar mingw-w64-${target}-pkg-config mingw-w64-${target}-cmake
|
||||
- mkdir build && cd build
|
||||
- cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=$$CONFIGURATION -DFSO_USE_SPEECH=OFF -DFSO_USE_VOICEREC=OFF -DFSO_FATAL_WARNINGS=ON -DFSO_BUILD_FRED2=OFF ..
|
||||
- make -j$(nproc) all
|
||||
|
||||
matrix:
|
||||
arch:
|
||||
- 64
|
||||
- 32
|
||||
CONFIGURATION:
|
||||
- Debug
|
||||
- Release
|
||||
@@ -1,15 +0,0 @@
|
||||
root = true
|
||||
|
||||
[*.{h,cpp}]
|
||||
indent_style = tab
|
||||
|
||||
[*.sdr]
|
||||
indent_style = tab
|
||||
|
||||
[*.{yml,yaml}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.sh]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
@@ -1,7 +0,0 @@
|
||||
# Default for everything
|
||||
# * text=auto
|
||||
|
||||
# For the test data and built-in files to make them consistent on all platforms
|
||||
*.tbl text eol=lf
|
||||
*.tbm text eol=lf
|
||||
*.sdr text eol=lf
|
||||
@@ -1,10 +0,0 @@
|
||||
|
||||
cmake/ @asarium
|
||||
|
||||
code/executor/ @asarium
|
||||
|
||||
code/scpui/ @asarium
|
||||
|
||||
code/scripting/ @asarium
|
||||
|
||||
code/controlconfig/ @z64555
|
||||
@@ -1,212 +0,0 @@
|
||||
name: Build Nightly package
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'nightly_*'
|
||||
|
||||
env:
|
||||
QT_VERSION: 5.12.9
|
||||
|
||||
jobs:
|
||||
build_linux:
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [FastDebug, Release]
|
||||
name: Linux
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/scp-fs2open/linux_build:sha-11e553c
|
||||
steps:
|
||||
- name: Cache Qt
|
||||
id: cache-qt-lin
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ${{ github.workspace }}/../Qt
|
||||
key: ${{ runner.os }}-QtCache-${{ env.QT_VERSION }}
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v2
|
||||
with:
|
||||
version: ${{ env.QT_VERSION }}
|
||||
dir: ${{ github.workspace }}/..
|
||||
cached: ${{ steps.cache-qt-lin.outputs.cache-hit }}
|
||||
setup-python: 'false'
|
||||
aqtversion: ==1.1.3
|
||||
|
||||
- uses: actions/checkout@v1
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
- name: Configure CMake
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
COMPILER: gcc-5
|
||||
run: $GITHUB_WORKSPACE/ci/linux/configure_cmake.sh
|
||||
- name: Compile
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
run: |
|
||||
LD_LIBRARY_PATH=$Qt5_DIR/lib:$LD_LIBRARY_PATH ninja -k 20 all
|
||||
- name: Run Tests
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
XDG_RUNTIME_DIR: /root
|
||||
run: $GITHUB_WORKSPACE/ci/linux/run_tests.sh
|
||||
- name: Generate AppImage
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
run: $GITHUB_WORKSPACE/ci/linux/generate_appimage.sh $GITHUB_WORKSPACE/build/install
|
||||
- name: Upload build result
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: linux-${{ matrix.configuration }}
|
||||
path: ${{ github.workspace }}/build/install/*.AppImage
|
||||
linux_zip:
|
||||
name: Build Linux distribution zip
|
||||
needs: build_linux
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/scp-fs2open/sftp_upload:sha-748b19d
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: '0'
|
||||
- name: Download Release builds
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: linux-Release
|
||||
path: builds
|
||||
- name: Download FastDebug builds
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: linux-FastDebug
|
||||
path: builds
|
||||
- name: Create Distribution package
|
||||
working-directory: ./builds
|
||||
run: $GITHUB_WORKSPACE/ci/linux/create_dist_pack.sh Linux
|
||||
- name: Upload result package
|
||||
working-directory: ./builds
|
||||
env:
|
||||
INDIEGAMES_USER: ${{ secrets.INDIEGAMES_USER }}
|
||||
INDIEGAMES_SSHPASS: ${{ secrets.INDIEGAMES_PASSWORD }}
|
||||
DATACORDER_USER: ${{ secrets.DATACORDER_USER }}
|
||||
DATACORDER_SSHPASS: ${{ secrets.DATACORDER_PASSWORD }}
|
||||
run: $GITHUB_WORKSPACE/ci/linux/upload_dist_package.sh nightly
|
||||
|
||||
build_windows:
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [FastDebug, Release]
|
||||
arch: [Win32, x64]
|
||||
simd: [SSE2]
|
||||
name: Windows
|
||||
runs-on: windows-2019
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
- name: Cache Qt
|
||||
id: cache-qt-win
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ${{ github.workspace }}/../Qt
|
||||
key: ${{ runner.os }}-${{ matrix.arch }}-QtCache-${{ env.QT_VERSION }}
|
||||
- name: Install Qt (32 bit)
|
||||
uses: jurplel/install-qt-action@v2
|
||||
if: ${{ matrix.arch == 'Win32' }}
|
||||
with:
|
||||
version: ${{ env.QT_VERSION }}
|
||||
dir: ${{ github.workspace }}/..
|
||||
arch: win32_msvc2017
|
||||
cached: ${{ steps.cache-qt-win.outputs.cache-hit }}
|
||||
aqtversion: ==0.8
|
||||
- name: Install Qt (64 bit)
|
||||
uses: jurplel/install-qt-action@v2
|
||||
if: ${{ matrix.arch == 'x64' }}
|
||||
with:
|
||||
version: ${{ env.QT_VERSION }}
|
||||
dir: ${{ github.workspace }}/..
|
||||
arch: win64_msvc2017_64
|
||||
cached: ${{ steps.cache-qt-win.outputs.cache-hit }}
|
||||
aqtversion: ==0.8
|
||||
|
||||
- name: Configure CMake
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
ARCHITECTURE: ${{ matrix.arch }}
|
||||
SIMD: ${{ matrix.simd }}
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX="$(pwd)/install" -DFSO_USE_SPEECH="ON" \
|
||||
-DFSO_USE_VOICEREC="ON" -DMSVC_SIMD_INSTRUCTIONS="$SIMD" \
|
||||
-DFSO_BUILD_QTFRED=ON -DFSO_BUILD_TESTS=ON \
|
||||
-DFSO_INSTALL_DEBUG_FILES="ON" -A "$ARCHITECTURE" \
|
||||
-G "Visual Studio 16 2019" -T "v142" ..
|
||||
- name: Compile
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
COMPILER: ${{ matrix.compiler }}
|
||||
shell: bash
|
||||
run: |
|
||||
cmake --build . --config "$CONFIGURATION" --target INSTALL -- /verbosity:minimal
|
||||
ls -alR "$(pwd)/install"
|
||||
- name: Run Tests
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
shell: bash
|
||||
run: ./bin/$CONFIGURATION/unittests --gtest_shuffle
|
||||
- name: Upload build result
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: windows-${{ matrix.configuration }}-${{ matrix.arch }}-${{ matrix.simd }}
|
||||
path: ${{ github.workspace }}/build/install/*
|
||||
windows_zip:
|
||||
name: Build Windows distribution zip
|
||||
needs: build_windows
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/scp-fs2open/sftp_upload:sha-748b19d
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [Win32, x64]
|
||||
simd: [SSE2]
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: '0'
|
||||
- name: Download Release builds
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: windows-Release-${{ matrix.arch }}-${{ matrix.simd }}
|
||||
path: builds
|
||||
- name: Download FastDebug builds
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: windows-FastDebug-${{ matrix.arch }}-${{ matrix.simd }}
|
||||
path: builds
|
||||
- name: Create Distribution package
|
||||
working-directory: ./builds
|
||||
shell: bash
|
||||
env:
|
||||
ARCH: ${{ matrix.arch }}
|
||||
SIMD: ${{ matrix.simd }}
|
||||
run: $GITHUB_WORKSPACE/ci/linux/create_dist_pack.sh Windows
|
||||
- name: Upload result package
|
||||
working-directory: ./builds
|
||||
shell: bash
|
||||
env:
|
||||
INDIEGAMES_USER: ${{ secrets.INDIEGAMES_USER }}
|
||||
INDIEGAMES_SSHPASS: ${{ secrets.INDIEGAMES_PASSWORD }}
|
||||
DATACORDER_USER: ${{ secrets.DATACORDER_USER }}
|
||||
DATACORDER_SSHPASS: ${{ secrets.DATACORDER_PASSWORD }}
|
||||
run: $GITHUB_WORKSPACE/ci/linux/upload_dist_package.sh nightly
|
||||
@@ -1,265 +0,0 @@
|
||||
name: Build Release package
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'release_*'
|
||||
|
||||
env:
|
||||
QT_VERSION: 5.12.9
|
||||
|
||||
jobs:
|
||||
create_release:
|
||||
name: Create GitHub release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Create Release
|
||||
id: create_release
|
||||
uses: actions/create-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
|
||||
with:
|
||||
tag_name: ${{ github.ref }}
|
||||
release_name: Release ${{ github.ref }}
|
||||
draft: false
|
||||
prerelease: false
|
||||
- name: Store upload URL
|
||||
run: |
|
||||
echo -n "${{ steps.create_release.outputs.upload_url }}" > upload_url
|
||||
- name: Persist upload URL
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: upload_url
|
||||
path: ${{ github.workspace }}/upload_url
|
||||
|
||||
build_linux:
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [FastDebug, Release]
|
||||
name: Linux
|
||||
needs: create_release
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/scp-fs2open/linux_build:sha-11e553c
|
||||
steps:
|
||||
- name: Cache Qt
|
||||
id: cache-qt-lin
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ${{ github.workspace }}/../Qt
|
||||
key: ${{ runner.os }}-QtCache-${{ env.QT_VERSION }}
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v2
|
||||
with:
|
||||
version: ${{ env.QT_VERSION }}
|
||||
dir: ${{ github.workspace }}/..
|
||||
cached: ${{ steps.cache-qt-lin.outputs.cache-hit }}
|
||||
setup-python: 'false'
|
||||
aqtversion: ==1.1.3
|
||||
|
||||
- uses: actions/checkout@v1
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
- name: Configure CMake
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
COMPILER: gcc-5
|
||||
run: $GITHUB_WORKSPACE/ci/linux/configure_cmake.sh
|
||||
- name: Compile
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
run: |
|
||||
LD_LIBRARY_PATH=$Qt5_DIR/lib:$LD_LIBRARY_PATH ninja -k 20 all
|
||||
- name: Run Tests
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
XDG_RUNTIME_DIR: /root
|
||||
run: $GITHUB_WORKSPACE/ci/linux/run_tests.sh
|
||||
- name: Generate AppImage
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
run: $GITHUB_WORKSPACE/ci/linux/generate_appimage.sh $GITHUB_WORKSPACE/build/install
|
||||
- name: Upload build result
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: linux-${{ matrix.configuration }}
|
||||
path: ${{ github.workspace }}/build/install/*.AppImage
|
||||
linux_zip:
|
||||
name: Build Linux distribution zip
|
||||
needs: build_linux
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/scp-fs2open/sftp_upload:sha-748b19d
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: '0'
|
||||
- name: Download upload URL
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: upload_url
|
||||
path: .
|
||||
- name: Extract upload URL
|
||||
id: extractUploadUrl
|
||||
run: echo "::set-output name=upload_url::$(cat upload_url)"
|
||||
- name: Download Release builds
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: linux-Release
|
||||
path: builds
|
||||
- name: Download FastDebug builds
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: linux-FastDebug
|
||||
path: builds
|
||||
- name: Create Distribution package
|
||||
id: generate_package
|
||||
working-directory: ./builds
|
||||
run: $GITHUB_WORKSPACE/ci/linux/create_dist_pack.sh Linux
|
||||
- name: Upload result package
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.extractUploadUrl.outputs.upload_url }}
|
||||
asset_path: ${{ steps.generate_package.outputs.package_path }}
|
||||
asset_name: ${{ steps.generate_package.outputs.package_name }}
|
||||
asset_content_type: ${{ steps.generate_package.outputs.package_mime }}
|
||||
|
||||
build_windows:
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [FastDebug, Release]
|
||||
arch: [Win32, x64]
|
||||
simd: [SSE2, AVX]
|
||||
needs: create_release
|
||||
name: Windows
|
||||
runs-on: windows-2019
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
- name: Cache Qt
|
||||
id: cache-qt-win
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ${{ github.workspace }}/../Qt
|
||||
key: ${{ runner.os }}-${{ matrix.arch }}-QtCache-${{ env.QT_VERSION }}
|
||||
- name: Install Qt (32 bit)
|
||||
uses: jurplel/install-qt-action@v2
|
||||
if: ${{ matrix.arch == 'Win32' }}
|
||||
with:
|
||||
version: ${{ env.QT_VERSION }}
|
||||
dir: ${{ github.workspace }}/..
|
||||
arch: win32_msvc2017
|
||||
cached: ${{ steps.cache-qt-win.outputs.cache-hit }}
|
||||
aqtversion: ==0.8
|
||||
- name: Install Qt (64 bit)
|
||||
uses: jurplel/install-qt-action@v2
|
||||
if: ${{ matrix.arch == 'x64' }}
|
||||
with:
|
||||
version: ${{ env.QT_VERSION }}
|
||||
dir: ${{ github.workspace }}/..
|
||||
arch: win64_msvc2017_64
|
||||
cached: ${{ steps.cache-qt-win.outputs.cache-hit }}
|
||||
aqtversion: ==0.8
|
||||
|
||||
- name: Configure CMake
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
ARCHITECTURE: ${{ matrix.arch }}
|
||||
SIMD: ${{ matrix.simd }}
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX="$(pwd)/install" -DFSO_USE_SPEECH="ON" \
|
||||
-DFSO_USE_VOICEREC="ON" -DMSVC_SIMD_INSTRUCTIONS="$SIMD" \
|
||||
-DFSO_BUILD_QTFRED=ON -DFSO_BUILD_TESTS=ON \
|
||||
-DFSO_INSTALL_DEBUG_FILES="ON" -A "$ARCHITECTURE" \
|
||||
-G "Visual Studio 16 2019" -T "v142" ..
|
||||
- name: Compile
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
COMPILER: ${{ matrix.compiler }}
|
||||
shell: bash
|
||||
run: |
|
||||
cmake --build . --config "$CONFIGURATION" --target INSTALL -- /verbosity:minimal
|
||||
ls -alR "$(pwd)/install"
|
||||
- name: Run Tests
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
shell: bash
|
||||
run: ./bin/$CONFIGURATION/unittests --gtest_shuffle
|
||||
- name: Upload build result
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: windows-${{ matrix.configuration }}-${{ matrix.arch }}-${{ matrix.simd }}
|
||||
path: ${{ github.workspace }}/build/install/*
|
||||
windows_zip:
|
||||
name: Build Windows distribution zip
|
||||
needs: build_windows
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/scp-fs2open/sftp_upload:sha-748b19d
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [Win32, x64]
|
||||
simd: [SSE2, AVX]
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: '0'
|
||||
- name: Download upload URL
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: upload_url
|
||||
path: .
|
||||
- name: Extract upload URL
|
||||
id: extractUploadUrl
|
||||
run: echo "::set-output name=upload_url::$(cat upload_url)"
|
||||
- name: Download Release builds
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: windows-Release-${{ matrix.arch }}-${{ matrix.simd }}
|
||||
path: builds
|
||||
- name: Download FastDebug builds
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: windows-FastDebug-${{ matrix.arch }}-${{ matrix.simd }}
|
||||
path: builds
|
||||
- name: Create Distribution package
|
||||
id: generate_package
|
||||
working-directory: ./builds
|
||||
shell: bash
|
||||
env:
|
||||
ARCH: ${{ matrix.arch }}
|
||||
SIMD: ${{ matrix.simd }}
|
||||
run: $GITHUB_WORKSPACE/ci/linux/create_dist_pack.sh Windows
|
||||
- name: Upload result package
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.extractUploadUrl.outputs.upload_url }}
|
||||
asset_path: ${{ steps.generate_package.outputs.package_path }}
|
||||
asset_name: ${{ steps.generate_package.outputs.package_name }}
|
||||
asset_content_type: ${{ steps.generate_package.outputs.package_mime }}
|
||||
- name: Upload debug symbols
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.extractUploadUrl.outputs.upload_url }}
|
||||
asset_path: ${{ steps.generate_package.outputs.debug_path }}
|
||||
asset_name: ${{ steps.generate_package.outputs.debug_name }}
|
||||
asset_content_type: ${{ steps.generate_package.outputs.debug_mime }}
|
||||
@@ -1,226 +0,0 @@
|
||||
name: Build Test package
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'test/*'
|
||||
|
||||
env:
|
||||
QT_VERSION: 5.12.9
|
||||
|
||||
jobs:
|
||||
build_linux:
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [FastDebug, Release]
|
||||
name: Linux
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/scp-fs2open/linux_build:sha-11e553c
|
||||
steps:
|
||||
- name: Cache Qt
|
||||
id: cache-qt-lin
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ${{ github.workspace }}/../Qt
|
||||
key: ${{ runner.os }}-QtCache-${{ env.QT_VERSION }}
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v2
|
||||
with:
|
||||
version: ${{ env.QT_VERSION }}
|
||||
dir: ${{ github.workspace }}/..
|
||||
cached: ${{ steps.cache-qt-lin.outputs.cache-hit }}
|
||||
setup-python: 'false'
|
||||
aqtversion: ==1.1.3
|
||||
|
||||
- uses: actions/checkout@v1
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
- name: Set up test version
|
||||
shell: bash
|
||||
run: |
|
||||
[[ "${{ github.ref }}" =~ ^refs\/heads\/test\/(.*)$ ]]
|
||||
# Override the revision string so that the builds are named correctly
|
||||
echo "set(FSO_VERSION_REVISION_STR ${BASH_REMATCH[1]})" > "version_override.cmake"
|
||||
- name: Configure CMake
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
COMPILER: gcc-5
|
||||
run: $GITHUB_WORKSPACE/ci/linux/configure_cmake.sh
|
||||
- name: Compile
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
run: |
|
||||
LD_LIBRARY_PATH=$Qt5_DIR/lib:$LD_LIBRARY_PATH ninja -k 20 all
|
||||
- name: Run Tests
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
XDG_RUNTIME_DIR: /root
|
||||
run: $GITHUB_WORKSPACE/ci/linux/run_tests.sh
|
||||
- name: Generate AppImage
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
run: $GITHUB_WORKSPACE/ci/linux/generate_appimage.sh $GITHUB_WORKSPACE/build/install
|
||||
- name: Upload build result
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: linux-${{ matrix.configuration }}
|
||||
path: ${{ github.workspace }}/build/install/*.AppImage
|
||||
linux_zip:
|
||||
name: Build Linux distribution zip
|
||||
needs: build_linux
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/scp-fs2open/sftp_upload:sha-748b19d
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: '0'
|
||||
ref: '${{ github.ref }}'
|
||||
- name: Download Release builds
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: linux-Release
|
||||
path: builds
|
||||
- name: Download FastDebug builds
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: linux-FastDebug
|
||||
path: builds
|
||||
- name: Create Distribution package
|
||||
working-directory: ./builds
|
||||
run: $GITHUB_WORKSPACE/ci/linux/create_dist_pack.sh Linux
|
||||
- name: Upload result package
|
||||
working-directory: ./builds
|
||||
env:
|
||||
INDIEGAMES_USER: ${{ secrets.INDIEGAMES_USER }}
|
||||
INDIEGAMES_SSHPASS: ${{ secrets.INDIEGAMES_PASSWORD }}
|
||||
DATACORDER_USER: ${{ secrets.DATACORDER_USER }}
|
||||
DATACORDER_SSHPASS: ${{ secrets.DATACORDER_PASSWORD }}
|
||||
run: $GITHUB_WORKSPACE/ci/linux/upload_dist_package.sh test
|
||||
|
||||
build_windows:
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [FastDebug, Release]
|
||||
arch: [Win32, x64]
|
||||
simd: [SSE2]
|
||||
name: Windows
|
||||
runs-on: windows-2019
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
- name: Set up test version
|
||||
shell: bash
|
||||
run: |
|
||||
[[ "${{ github.ref }}" =~ ^refs\/heads\/test\/(.*)$ ]]
|
||||
# Override the revision string so that the builds are named correctly
|
||||
echo "set(FSO_VERSION_REVISION_STR ${BASH_REMATCH[1]})" > "version_override.cmake"
|
||||
- name: Cache Qt
|
||||
id: cache-qt-win
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ${{ github.workspace }}/../Qt
|
||||
key: ${{ runner.os }}-${{ matrix.arch }}-QtCache-${{ env.QT_VERSION }}
|
||||
- name: Install Qt (32 bit)
|
||||
uses: jurplel/install-qt-action@v2
|
||||
if: ${{ matrix.arch == 'Win32' }}
|
||||
with:
|
||||
version: ${{ env.QT_VERSION }}
|
||||
dir: ${{ github.workspace }}/..
|
||||
arch: win32_msvc2017
|
||||
cached: ${{ steps.cache-qt-win.outputs.cache-hit }}
|
||||
aqtversion: ==0.8
|
||||
- name: Install Qt (64 bit)
|
||||
uses: jurplel/install-qt-action@v2
|
||||
if: ${{ matrix.arch == 'x64' }}
|
||||
with:
|
||||
version: ${{ env.QT_VERSION }}
|
||||
dir: ${{ github.workspace }}/..
|
||||
arch: win64_msvc2017_64
|
||||
cached: ${{ steps.cache-qt-win.outputs.cache-hit }}
|
||||
aqtversion: ==0.8
|
||||
|
||||
- name: Configure CMake
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
ARCHITECTURE: ${{ matrix.arch }}
|
||||
SIMD: ${{ matrix.simd }}
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX="$(pwd)/install" -DFSO_USE_SPEECH="ON" \
|
||||
-DFSO_USE_VOICEREC="ON" -DMSVC_SIMD_INSTRUCTIONS="$SIMD" \
|
||||
-DFSO_BUILD_QTFRED=ON -DFSO_BUILD_TESTS=ON \
|
||||
-DFSO_INSTALL_DEBUG_FILES="ON" -A "$ARCHITECTURE" \
|
||||
-G "Visual Studio 16 2019" -T "v142" ..
|
||||
- name: Compile
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
COMPILER: ${{ matrix.compiler }}
|
||||
shell: bash
|
||||
run: |
|
||||
cmake --build . --config "$CONFIGURATION" --target INSTALL -- /verbosity:minimal
|
||||
ls -alR "$(pwd)/install"
|
||||
- name: Run Tests
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
shell: bash
|
||||
run: ./bin/$CONFIGURATION/unittests --gtest_shuffle
|
||||
- name: Upload build result
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: windows-${{ matrix.configuration }}-${{ matrix.arch }}-${{ matrix.simd }}
|
||||
path: ${{ github.workspace }}/build/install/*
|
||||
windows_zip:
|
||||
name: Build Windows distribution zip
|
||||
needs: build_windows
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/scp-fs2open/sftp_upload:sha-748b19d
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [Win32, x64]
|
||||
simd: [SSE2]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: '0'
|
||||
ref: '${{ github.ref }}'
|
||||
- name: Download Release builds
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: windows-Release-${{ matrix.arch }}-${{ matrix.simd }}
|
||||
path: builds
|
||||
- name: Download FastDebug builds
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: windows-FastDebug-${{ matrix.arch }}-${{ matrix.simd }}
|
||||
path: builds
|
||||
- name: Create Distribution package
|
||||
working-directory: ./builds
|
||||
shell: bash
|
||||
env:
|
||||
ARCH: ${{ matrix.arch }}
|
||||
SIMD: ${{ matrix.simd }}
|
||||
run: $GITHUB_WORKSPACE/ci/linux/create_dist_pack.sh Windows
|
||||
- name: Upload result package
|
||||
working-directory: ./builds
|
||||
shell: bash
|
||||
env:
|
||||
INDIEGAMES_USER: ${{ secrets.INDIEGAMES_USER }}
|
||||
INDIEGAMES_SSHPASS: ${{ secrets.INDIEGAMES_PASSWORD }}
|
||||
DATACORDER_USER: ${{ secrets.DATACORDER_USER }}
|
||||
DATACORDER_SSHPASS: ${{ secrets.DATACORDER_PASSWORD }}
|
||||
run: $GITHUB_WORKSPACE/ci/linux/upload_dist_package.sh test
|
||||
@@ -1,62 +0,0 @@
|
||||
name: Build caches for master
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
env:
|
||||
QT_VERSION: 5.12.9
|
||||
|
||||
jobs:
|
||||
build_linux:
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [Debug, Release]
|
||||
compiler: [gcc-5, gcc-10]
|
||||
cmake_options: [""]
|
||||
include:
|
||||
# Also include configurations that check if the code compiles without the graphics backends
|
||||
- configuration: Debug
|
||||
compiler: gcc-10
|
||||
cmake_options: -DFSO_BUILD_WITH_OPENGL=OFF -DFSO_BUILD_WITH_VULKAN=OFF
|
||||
- configuration: Release
|
||||
compiler: gcc-10
|
||||
cmake_options: -DFSO_BUILD_WITH_OPENGL=OFF -DFSO_BUILD_WITH_VULKAN=OFF
|
||||
name: Linux
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/scp-fs2open/linux_build:sha-11e553c
|
||||
steps:
|
||||
- name: Cache Qt
|
||||
id: cache-qt-lin
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ${{ github.workspace }}/../Qt
|
||||
key: ${{ runner.os }}-QtCache-${{ env.QT_VERSION }}
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v2
|
||||
with:
|
||||
version: ${{ env.QT_VERSION }}
|
||||
dir: ${{ github.workspace }}/..
|
||||
cached: ${{ steps.cache-qt-lin.outputs.cache-hit }}
|
||||
setup-python: 'false'
|
||||
aqtversion: ==1.1.3
|
||||
|
||||
- uses: actions/checkout@v1
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1
|
||||
with:
|
||||
key: ${{ runner.os }}-${{ matrix.configuration }}-${{ matrix.compiler }}
|
||||
|
||||
- name: Configure CMake
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
COMPILER: ${{ matrix.compiler }}
|
||||
JOB_CMAKE_OPTIONS: ${{ matrix.cmake_options }}
|
||||
run: $GITHUB_WORKSPACE/ci/linux/configure_cmake.sh
|
||||
- name: Compile
|
||||
working-directory: ./build
|
||||
run: LD_LIBRARY_PATH=$Qt5_DIR/lib:$LD_LIBRARY_PATH ninja -k 20 all
|
||||
@@ -1,158 +0,0 @@
|
||||
name: Check a pull request
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
env:
|
||||
QT_VERSION: 5.12.9
|
||||
|
||||
jobs:
|
||||
build_linux:
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [Debug, Release]
|
||||
compiler: [gcc-5, gcc-10, clang-9]
|
||||
cmake_options: [""]
|
||||
include:
|
||||
# Also include configurations that check if the code compiles without the graphics backends
|
||||
- configuration: Debug
|
||||
compiler: gcc-10
|
||||
cmake_options: -DFSO_BUILD_WITH_OPENGL=OFF -DFSO_BUILD_WITH_VULKAN=OFF
|
||||
- configuration: Release
|
||||
compiler: gcc-10
|
||||
cmake_options: -DFSO_BUILD_WITH_OPENGL=OFF -DFSO_BUILD_WITH_VULKAN=OFF
|
||||
name: Linux
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/scp-fs2open/linux_build:sha-11e553c
|
||||
steps:
|
||||
- name: Cache Qt
|
||||
id: cache-qt-lin
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ${{ github.workspace }}/../Qt
|
||||
key: ${{ runner.os }}-QtCache-${{ env.QT_VERSION }}
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v2
|
||||
with:
|
||||
version: ${{ env.QT_VERSION }}
|
||||
dir: ${{ github.workspace }}/..
|
||||
cached: ${{ steps.cache-qt-lin.outputs.cache-hit }}
|
||||
setup-python: 'false'
|
||||
aqtversion: ==1.1.3
|
||||
|
||||
- uses: actions/checkout@v1
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1
|
||||
with:
|
||||
key: ${{ runner.os }}-${{ matrix.configuration }}-${{ matrix.compiler }}
|
||||
|
||||
- name: Configure CMake
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
COMPILER: ${{ matrix.compiler }}
|
||||
JOB_CMAKE_OPTIONS: ${{ matrix.cmake_options }}
|
||||
run: $GITHUB_WORKSPACE/ci/linux/configure_cmake.sh
|
||||
- name: Compile
|
||||
working-directory: ./build
|
||||
run: LD_LIBRARY_PATH=$Qt5_DIR/lib:$LD_LIBRARY_PATH ninja -k 20 all
|
||||
- name: Run Tests
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
XDG_RUNTIME_DIR: /root
|
||||
run: $GITHUB_WORKSPACE/ci/linux/run_tests.sh
|
||||
- name: Run Clang Tidy
|
||||
# Clang-tidy reuses the precompiled headers so this only makes sense for the clang compilers
|
||||
if: startsWith(matrix.compiler, 'clang-')
|
||||
run: $GITHUB_WORKSPACE/ci/linux/clang_tidy.sh ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }}
|
||||
- name: Process clang-tidy warnings
|
||||
if: startsWith(matrix.compiler, 'clang-')
|
||||
uses: asarium/clang-tidy-action@v1
|
||||
with:
|
||||
fixesFile: clang-fixes.yaml
|
||||
|
||||
build_windows:
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [Debug, Release]
|
||||
compiler: [MSVC]
|
||||
arch: [Win32, x64]
|
||||
name: Windows
|
||||
runs-on: windows-2019
|
||||
steps:
|
||||
- name: Prepare Environment
|
||||
run: choco install ninja
|
||||
- uses: actions/checkout@v1
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
- name: Cache Qt
|
||||
id: cache-qt-win
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ${{ github.workspace }}/../Qt
|
||||
key: ${{ runner.os }}-${{ matrix.arch }}-QtCache-${{ env.QT_VERSION }}
|
||||
- name: Install Qt (32 bit)
|
||||
uses: jurplel/install-qt-action@v2
|
||||
if: ${{ matrix.compiler == 'MSVC' && matrix.arch == 'Win32' }}
|
||||
with:
|
||||
version: ${{ env.QT_VERSION }}
|
||||
dir: ${{ github.workspace }}/..
|
||||
arch: win32_msvc2017
|
||||
cached: ${{ steps.cache-qt-win.outputs.cache-hit }}
|
||||
aqtversion: ==0.8
|
||||
- name: Install Qt (64 bit)
|
||||
uses: jurplel/install-qt-action@v2
|
||||
if: ${{ matrix.compiler == 'MSVC' && matrix.arch == 'x64' }}
|
||||
with:
|
||||
version: ${{ env.QT_VERSION }}
|
||||
dir: ${{ github.workspace }}/..
|
||||
arch: win64_msvc2017_64
|
||||
cached: ${{ steps.cache-qt-win.outputs.cache-hit }}
|
||||
aqtversion: ==0.8
|
||||
|
||||
- name: Configure CMake
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
COMPILER: ${{ matrix.compiler }}
|
||||
ARCHITECTURE: ${{ matrix.arch }}
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
if [ "$COMPILER" = "MinGW" ]; then
|
||||
cmake -DFSO_USE_SPEECH="OFF" -DFSO_FATAL_WARNINGS="ON" -DFSO_USE_VOICEREC="OFF" -DFSO_BUILD_TESTS="ON" \
|
||||
-DFSO_BUILD_FRED2="OFF" -DCMAKE_BUILD_TYPE=$CONFIGURATION -G "Ninja" ..
|
||||
else
|
||||
cmake -DFSO_USE_SPEECH="ON" -DFSO_FATAL_WARNINGS="ON" -DFSO_USE_VOICEREC="OFF" -DFSO_BUILD_TESTS="ON" \
|
||||
-DMSVC_SIMD_INSTRUCTIONS=SSE2 -DFSO_BUILD_FRED2="ON" -G "Visual Studio 16 2019" \
|
||||
-DFSO_BUILD_QTFRED=ON -T "v142" -A "$ARCHITECTURE" ..
|
||||
fi
|
||||
- name: Compile
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
COMPILER: ${{ matrix.compiler }}
|
||||
shell: bash
|
||||
run: |
|
||||
if [ "$COMPILER" = "MinGW" ]; then
|
||||
cmake --build . --config "$CONFIGURATION"
|
||||
else
|
||||
cmake --build . --config "$CONFIGURATION" -- /verbosity:minimal
|
||||
fi
|
||||
- name: Run Tests
|
||||
working-directory: ./build
|
||||
env:
|
||||
CONFIGURATION: ${{ matrix.configuration }}
|
||||
COMPILER: ${{ matrix.compiler }}
|
||||
shell: bash
|
||||
run: |
|
||||
if [ "$COMPILER" = "MinGW" ]; then
|
||||
./bin/unittests --gtest_shuffle
|
||||
else
|
||||
"./bin/$CONFIGURATION/unittests" --gtest_shuffle
|
||||
fi
|
||||
@@ -1,52 +0,0 @@
|
||||
name: Publish Standalone docker image
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'nightly_*'
|
||||
- 'release_*'
|
||||
|
||||
jobs:
|
||||
build_images:
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [FastDebug, Release]
|
||||
include:
|
||||
- configuration: FastDebug
|
||||
tag_suffix: -debug
|
||||
- configuration: Release
|
||||
tag_suffix: ""
|
||||
fail-fast: false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
name: Checkout
|
||||
with:
|
||||
submodules: true
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Docker meta
|
||||
id: docker_meta
|
||||
uses: crazy-max/ghaction-docker-meta@v1
|
||||
with:
|
||||
images: ghcr.io/scp-fs2open/standalone_server
|
||||
tag-latest: false
|
||||
|
||||
- name: Login to GitHub Docker Registry
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.CR_PAT }}
|
||||
- name: Build and push
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: .
|
||||
file: ./docker/standalone/Dockerfile
|
||||
push: true
|
||||
tags: ${{ steps.docker_meta.outputs.tags }}${{ matrix.tag_suffix }}
|
||||
labels: ${{ steps.docker_meta.outputs.labels }}
|
||||
build-args: |
|
||||
build_type=${{ matrix.configuration }}
|
||||
+37
-29
@@ -1,3 +1,34 @@
|
||||
*.o
|
||||
*.a
|
||||
.dirstamp
|
||||
libtool
|
||||
ltmain.sh
|
||||
m4/libtool.m4
|
||||
m4/ltoptions.m4
|
||||
m4/ltsugar.m4
|
||||
m4/ltversion.m4
|
||||
m4/lt~obsolete.m4
|
||||
compile
|
||||
.deps/
|
||||
code/.deps/
|
||||
Makefile
|
||||
Makefile.in
|
||||
aclocal.m4
|
||||
autom4te.cache/
|
||||
config.*
|
||||
code/fs2_open_*
|
||||
code/wxFRED2_*
|
||||
configure
|
||||
depcomp
|
||||
install-sh
|
||||
missing
|
||||
.svn
|
||||
*.layout
|
||||
projects/Xcode4/Frameworks/
|
||||
projects/Xcode/Frameworks/
|
||||
|
||||
#========
|
||||
|
||||
#OS junk files
|
||||
[Tt]humbs.db
|
||||
*.DS_Store
|
||||
@@ -26,9 +57,10 @@
|
||||
*.unsuccessfulbuild
|
||||
ipch/
|
||||
[Oo]bj/
|
||||
[Bb]in
|
||||
[Dd]ebug*/
|
||||
[Rr]elease*/
|
||||
Ankh.NoLoad
|
||||
*.VC.db
|
||||
*.VC.VC.opendb
|
||||
|
||||
#MonoDevelop
|
||||
*.pidb
|
||||
@@ -105,7 +137,7 @@ packages/
|
||||
*.swp
|
||||
|
||||
# *.lock - this is used and abused by many editors for many different things.
|
||||
# For the main ones I use (e.g. Eclipse), it should be excluded
|
||||
# For the main ones I use (e.g. Eclipse), it should be excluded
|
||||
# from source-control, but YMMV
|
||||
|
||||
*.lock
|
||||
@@ -117,7 +149,7 @@ packages/
|
||||
|
||||
####
|
||||
# Xcode temporary files that should never be committed
|
||||
#
|
||||
#
|
||||
# NB: NIB/XIB files still exist even on Storyboard projects, so we want this...
|
||||
|
||||
*~.nib
|
||||
@@ -231,30 +263,6 @@ xcuserdata
|
||||
# .xccheckout
|
||||
#
|
||||
# Per http://stackoverflow.com/questions/18340453/should-xccheckout-files-in-xcode5-be-ignored-under-vcs
|
||||
#
|
||||
#
|
||||
|
||||
*.xccheckout
|
||||
|
||||
####
|
||||
# Visual Studio Code
|
||||
.vscode
|
||||
|
||||
####
|
||||
# Documentation
|
||||
#
|
||||
documentation/doxygen/*
|
||||
!documentation/doxygen/.gitkeep
|
||||
|
||||
|
||||
.idea/*
|
||||
projects/*
|
||||
/.vs
|
||||
CMakeSettings.json
|
||||
|
||||
# Weird files created by Linux
|
||||
.fuse_hidden*
|
||||
|
||||
# This gets ignored by one of the rules above for some reason...
|
||||
!/code/scripting/lua/LuaConvert.h
|
||||
!/code/debugconsole/
|
||||
!/docker/build
|
||||
@@ -1,6 +0,0 @@
|
||||
[submodule "cmake/external/rpavlik-cmake-modules"]
|
||||
path = cmake/external/rpavlik-cmake-modules
|
||||
url = https://github.com/asarium/cmake-modules.git
|
||||
[submodule "lib/libRocket"]
|
||||
path = lib/libRocket
|
||||
url = https://github.com/asarium/libRocket.git
|
||||
-175
@@ -1,175 +0,0 @@
|
||||
language: bash
|
||||
sudo: required
|
||||
dist: xenial
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/cmake-3.8
|
||||
- $HOME/.ccache
|
||||
- $HOME/curl_cache
|
||||
addons:
|
||||
apt:
|
||||
packages: &global_deps
|
||||
- ninja-build
|
||||
- libopenal-dev
|
||||
- libreadline6-dev
|
||||
- libpng12-dev
|
||||
- libjpeg62-dev
|
||||
- liblua5.1-0-dev
|
||||
- libjansson-dev
|
||||
- libsdl2-dev
|
||||
- libfreetype6-dev
|
||||
- qt57base
|
||||
coverity_scan:
|
||||
project:
|
||||
name: "scp-fs2open/fs2open.github.com"
|
||||
notification_email: [email protected]
|
||||
build_command: "ci/travis/script.sh"
|
||||
# must match TRAVIS_BRANCH check below
|
||||
branch_pattern: coverity_scan
|
||||
env:
|
||||
global:
|
||||
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
|
||||
# via the "travis encrypt" command using the project repo's public key
|
||||
# also note that fork's don't get access to secure keys
|
||||
# you have to test using a branch in the main repo
|
||||
- secure: "C3wF967ZeliwwP1vC12EMIBOaC568n26Z/cPnwzn317ve59DWH3YSfPZVgvt08GzmaXITGGsJvPB+qxfGoKvQzYE4O1B73q81RpUe5pB3IhF+ThQ91VfQZIRJR5xEGJaLINUlHTTZGX5jxlkVO9wAcauVj/s3b8sQ3dvUZauPvk="
|
||||
# These declarations set INDIEGAMES_USER and INDIEGAMES_PASSWORD for uploading nightly builds to the indiegames server
|
||||
- secure: "lUuRu8XIi8MKNf1ebOfyC4iVEpPyASojJIDWXRo2bNqEF4ILAljXdkVeXeN6H5yKCHD52cxCNTtyePIG/o3p3QEuGSVud9bDS3D7LaQicLETGGrsw3l07U49gF2OKHXGopg0MzBbZUU9QmhoFTAe8t6PV9NDuEayYCheqvTqjZg="
|
||||
- secure: "E/DHLYcPK/hBUqxBYYlUqp5sjgvIqY5A0qRHyQ4bmjsB+WB/Xx71bGCSiF7hk6lTxar1ZI1i5RAXXh9AIvNVaYAIdEOlCP+q3gvwCYuc5naZEKmkxlUCf0oEL4O9Fye93A/3VkFHuBdC1TGPYYf69m4W5r4367wWO9dPRIdWpJA="
|
||||
# These declarations set DATACORDER_USER and DATACORDER_PASSWORD
|
||||
- secure: "dpBH/dDN3bmU/NFlh+2v9isNx9wX0ocoRy+W+kBXRH32sosUGp26REhMqgVRpBNP5oxPBU8ic5bEogxAYWCB+0xUygBbkxAwyMPgoA34s0OXdTCY/ofw14ni8qqV2Ffy7fQJbP/jkMURyiMHx3kBTxNv3YjxKJqLnOuOMlQLpT8="
|
||||
- secure: "tLMRBD1Ufp5iKNwlqPDVbbuczgusaXNoBJyAnPATpJq2YwlkW4j3PqP9rW5vd85+52xam2EOP20w9PoBR5J6FLdiXRu4Lf7yCEhSHFAgowVqQj8QcJpPlyXr90bM4emFGrGqpdxVwxyQ5AFhKwLuEZKsI14GYLN+UMEwpNCMing="
|
||||
deploy:
|
||||
- provider: releases
|
||||
api_key:
|
||||
secure: "q619+eQTe7lv8UVphK4OIzU8Jw84KBbVkuprN2sWIubRcV3IbZr2+WahJoUMt+nyhiy3YjDYtstO2ZgkxupwnZgwGUBVIiD1c4SPuyy+HTjNMOtiVsEUHT2hf+xPAemWpTlK5HcwhMmHAOh6rt6dEj57QOg0gcmGiwD/tCbEriA="
|
||||
skip_cleanup: true
|
||||
file_glob: true
|
||||
file: "/tmp/builds/*"
|
||||
on:
|
||||
condition: '"$RELEASE_BUILD" == true'
|
||||
tags: true
|
||||
|
||||
- provider: script
|
||||
script: bash ci/travis/ftp_deploy.sh
|
||||
on:
|
||||
condition: '"$NIGHTLY_BUILD" == true'
|
||||
tags: true
|
||||
|
||||
- provider: script
|
||||
skip_cleanup: true
|
||||
script: bash ci/travis/ftp_deploy.sh
|
||||
on:
|
||||
condition: $TEST_BUILD = true
|
||||
all_branches: true
|
||||
|
||||
matrix:
|
||||
include:
|
||||
# note that gcc Debug MUST be 1st for Coverity
|
||||
- os: linux
|
||||
env: CONFIGURATION="Debug" CC=gcc-5 CXX=g++-5
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- sourceline: 'ppa:beineri/opt-qt571-xenial'
|
||||
packages:
|
||||
- *global_deps
|
||||
- g++-5
|
||||
- os: linux
|
||||
env: CONFIGURATION="Debug" CC=gcc-9 CXX=g++-9
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- sourceline: 'ppa:beineri/opt-qt571-xenial'
|
||||
packages:
|
||||
- g++-9
|
||||
- *global_deps
|
||||
- os: linux
|
||||
env: CONFIGURATION="Debug" CC=clang-9 CXX=clang++-9 CMAKE_OPTIONS="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- sourceline: 'ppa:beineri/opt-qt571-xenial'
|
||||
packages:
|
||||
- *global_deps
|
||||
- g++-9
|
||||
script:
|
||||
- ./ci/travis/script.sh
|
||||
- ./ci/travis/clang_tidy.sh
|
||||
- os: osx
|
||||
env: CONFIGURATION="Debug"
|
||||
|
||||
- os: windows
|
||||
env: CONFIGURATION="Debug" CMAKE_TOOLSET=v141 CMAKE_GENERATOR="Visual Studio 15 2017"
|
||||
- os: windows
|
||||
env: CONFIGURATION="Debug" CMAKE_TOOLSET="" CMAKE_GENERATOR="Ninja"
|
||||
|
||||
- os: linux
|
||||
env: CONFIGURATION="Release" CC=gcc-5 CXX=g++-5
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- sourceline: 'ppa:beineri/opt-qt571-xenial'
|
||||
packages:
|
||||
- *global_deps
|
||||
- g++-5
|
||||
- os: linux
|
||||
env: CONFIGURATION="Release" CC=gcc-9 CXX=g++-9
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- sourceline: 'ppa:beineri/opt-qt571-xenial'
|
||||
packages:
|
||||
- g++-9
|
||||
- *global_deps
|
||||
- os: linux
|
||||
env: CONFIGURATION="Release" CC=clang-9 CXX=clang++-9 CMAKE_OPTIONS="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- sourceline: 'ppa:beineri/opt-qt571-xenial'
|
||||
packages:
|
||||
- *global_deps
|
||||
- g++-9
|
||||
script:
|
||||
- ./ci/travis/script.sh
|
||||
- ./ci/travis/clang_tidy.sh
|
||||
- os: osx
|
||||
env: CONFIGURATION="Release"
|
||||
|
||||
- os: windows
|
||||
env: CONFIGURATION="Release" CMAKE_TOOLSET=v141 CMAKE_GENERATOR="Visual Studio 15 2017"
|
||||
- os: windows
|
||||
env: CONFIGURATION="Release" CMAKE_TOOLSET="" CMAKE_GENERATOR="Ninja"
|
||||
# There is a GCC compiler bug with MinGW that causes compilation failures on Windows at the moment
|
||||
allow_failures:
|
||||
- os: windows
|
||||
env: CONFIGURATION="Debug" CMAKE_TOOLSET="" CMAKE_GENERATOR="Ninja"
|
||||
- os: windows
|
||||
env: CONFIGURATION="Release" CMAKE_TOOLSET="" CMAKE_GENERATOR="Ninja"
|
||||
fast_finish: true
|
||||
|
||||
before_install:
|
||||
# ugly hack; if running a coverity scan abort all except the 1st build
|
||||
# see note re gcc compiler above needing to be 1st
|
||||
# also note that branch_pattern & the TRAVIS_BRANCH check must match
|
||||
# unfortunately COVERITY_SCAN_BRANCH isn't defined until later in the
|
||||
# build process
|
||||
- if ([[ "${TRAVIS_JOB_NUMBER##*.}" != "1" ]] && [[ "${TRAVIS_BRANCH}" == "coverity_scan" ]]); then false ; fi
|
||||
- source "./ci/travis/check_release.sh"
|
||||
- "./ci/travis/before_install.sh"
|
||||
install:
|
||||
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then export PATH="/c/Program Files/CMake/bin":$PATH; fi
|
||||
- "./ci/travis/install.sh"
|
||||
- export PATH=$HOME/cmake-3.6/bin:$PATH
|
||||
before_script:
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then QT_ENV_SCRIPT=$(find /opt -name 'qt*-env.sh'); source $QT_ENV_SCRIPT; fi
|
||||
- "./ci/travis/before_script.sh"
|
||||
script:
|
||||
- if [ "$BUILD_DEPLOYMENT" = true ] ; then ./ci/travis/release.sh ; else ./ci/travis/script.sh ; fi
|
||||
@@ -0,0 +1,29 @@
|
||||
Original source (Freespace 2) by Volition, Inc.; see "credits.tbl"
|
||||
|
||||
Modifications by the FreeSpace Source Code Project (FSSCP)
|
||||
http://fs2source.warpcore.org
|
||||
|
||||
FS2_OPEN STAFF:
|
||||
|
||||
Project leader:
|
||||
Edward "Inquisitor" Gardner
|
||||
|
||||
Programmers:
|
||||
"Bobboau"
|
||||
Dennis "DTP" Pedersen
|
||||
Ian "Goober5000" Warfield
|
||||
Joe "Righteous1" Dowd
|
||||
Mike "penguin" Harris
|
||||
"Mysterial"
|
||||
"PhReAk"
|
||||
Thomas "Random Tiger" Whittaker
|
||||
Will "Unknown PLayer" Rousnel
|
||||
"WMCoolmon"
|
||||
|
||||
Web support:
|
||||
Icefire and the staff at Volitionwatch.com
|
||||
Alex "Thunder" Avery and the staff at Hard Light Productions
|
||||
|
||||
Special thanks to:
|
||||
Volition for making FS2 such a great game
|
||||
Dave Baranec for giving us the code and keeping us sanity checked
|
||||
@@ -1,41 +0,0 @@
|
||||
## FreeSpace
|
||||
FreeSpace: The Great War (Released 1998) and FreeSpace 2 (1999) are mission-based space combat simulators, like X-Wing/TIE Fighter and Wing Commander. Among the greatest games of the genre, they were also effectively the last.
|
||||
|
||||
The FreeSpace series follows humanity and their Vasudan allies as they fight to withstand the xenocidal, enigmatic Shivans, a species of unknown origin, vast technological capability, and seemingly limitless malice.
|
||||
|
||||
## FreeSpace Open
|
||||
Thanks to Volition's generosity, we've continued development of FreeSpace 2 as FreeSpace Open, building graphical enhancements to bring the original games up to modern standards, telling new stories set in the FreeSpace universe and original worlds, and creating spectacular total conversions that let players fly in the beloved universes of Babylon 5, Battlestar Galactica, Wing Commander, and Star Wars.
|
||||
|
||||
## Hard-Light Productions
|
||||
HLP is a fan community built on love and open-source code. We're dedicated to bringing modders together and giving them a place to share their own hard work and draw inspiration from the work of others. Thanks to Volition's generosity, we've continued development of FreeSpace 2 as FreeSpace Open, building graphical enhancements to bring the original games up to modern standards, telling new stories set in the FreeSpace universe and original worlds, and creating spectacular total conversions that let players fly in the beloved universes of Babylon 5, Battlestar Galactica, Wing Commander, and Star Wars.
|
||||
Find us at:
|
||||
- Our [website](http://www.hard-light.net/) and [forums](http://www.hard-light.net/forums/)
|
||||
- [Discord](https://discord.gg/YNVP3WR)
|
||||
- [Facebook](https://www.facebook.com/groups/Hardlightproductions/)
|
||||
- [Youtube](https://www.youtube.com/channel/UCxKkd609hDtY6yNetR1iT4w)
|
||||
- [Reddit](https://www.reddit.com/r/freespace/)
|
||||
- [Twitter](https://twitter.com/hardlightpro)
|
||||
- [IRC](irc://irc.esper.net/hard-light)
|
||||
|
||||
|
||||
## How to get the game
|
||||
FreeSpace Open requires a retail installation of FreeSpace 2, which is available at the following stores:
|
||||
- [GOG.com](https://www.gog.com/game/freespace_2)
|
||||
- [Steam](https://store.steampowered.com/app/273620/Freespace_2/)
|
||||
After installing retail FS2, use [Knossos](https://fsnebula.org/knossos/) to upgrade to the most recent release of FSO. Knossos is an advanced mod manager and launcher for FSO.
|
||||
|
||||
## Improvements
|
||||
The new open source game engine has several distingushing features including:
|
||||
- Linux and Mac OS X support
|
||||
- OpenGL support
|
||||
- OpenAL audio support
|
||||
- Easy mod installation
|
||||
- OGG support
|
||||
- Hardware transform, clipping, and lighting
|
||||
|
||||
## The FreeSpace Upgrade Project
|
||||
While the SCP improves the code of the game engine to enable new and exciting features, the FreeSpace Upgrade Project (FSU) creates material that takes advantage of the improved game engine.
|
||||
The FSU improves the ships, effects, and background elements of FreeSpace 2. Every now and then these improvements are released as a pack called MediaVPs. These assorted improvements enhance the graphics of the game.
|
||||
While the best way to experience the FSU is by playing the game with it, you can watch this [comparison video](https://www.youtube.com/watch?v=RM1YC_gK-qo) between 1999 and 2019 to have an idea of how much more beautiful FSU makes the game.
|
||||
|
||||
^(Much of this content was pulled from existing sources, such as InsaneBaron's "What Is Hard Light Productions" [thread](https://www.hard-light.net/forums/index.php?topic=86650.0), the Wiki's [Getting Started article](https://wiki.hard-light.net/index.php/Getting_started) and more.)
|
||||
@@ -1,8 +0,0 @@
|
||||
Original source (Freespace 2) by Volition, Inc.; see "`credits.tbl`"
|
||||
|
||||
Modifications by the FreeSpace 2 Source Code Project [(FSO SCP)](https://www.hard-light.net/forums/index.php?board=50.0)
|
||||
[Project Contributors](https://github.com/scp-fs2open/fs2open.github.com/graphs/contributors)
|
||||
|
||||
Special thanks to:
|
||||
Volition for making FS2 such a great game
|
||||
Dave Baranec for giving us the code and keeping us sanity checked
|
||||
-223
@@ -1,223 +0,0 @@
|
||||
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.4)
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
# Make sure the source and binary directory are not the sample
|
||||
if ("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
message(FATAL_ERROR "Binary and source directory can not be the same! Choose another build directory.")
|
||||
endif()
|
||||
|
||||
include(cmake/util.cmake)
|
||||
include(cmake/embed_file.cmake)
|
||||
|
||||
# Set a few policies
|
||||
set_policy(CMP0051 NEW)
|
||||
set_policy(CMP0053 NEW)
|
||||
set_policy(CMP0054 NEW)
|
||||
|
||||
SET(FSO_PROJECT_DESCRIPTION "Open source project based on the original FreeSpace 2 source code.")
|
||||
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Executable output path")
|
||||
SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Library output path")
|
||||
|
||||
# CMAKE_INSTALL_PREFIX is defined but also overwritten by the PROJECT command so we need to set it later
|
||||
IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
SET(RESET_INSTALL_PREFIX TRUE)
|
||||
ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
|
||||
# Reset this variable
|
||||
SET(TARGET_COPY_FILES "" CACHE INTERNAL "" FORCE)
|
||||
SET(TARGET_COPY_DIRS "" CACHE INTERNAL "" FORCE)
|
||||
|
||||
### Define options and editable variables in the section below:
|
||||
# This is only needed for single configuration generators so don't annoy others
|
||||
if(NOT CMAKE_BUILD_TYPE AND NOT DEFINED CMAKE_CONFIGURATION_TYPES)
|
||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Default build configuration used." FORCE)
|
||||
message(WARNING "CMAKE_BUILD_TYPE was not specified, defaulting to Release configuration.")
|
||||
endif(NOT CMAKE_BUILD_TYPE AND NOT DEFINED CMAKE_CONFIGURATION_TYPES)
|
||||
|
||||
# Override standard CMake configurations
|
||||
set(CMAKE_CONFIGURATION_TYPES Debug Release FastDebug CACHE STRING "Available configurations" FORCE)
|
||||
|
||||
PROJECT(FS2_Open)
|
||||
|
||||
find_program(CCACHE_PROGRAM ccache)
|
||||
# Currently only GCC support ccache properly without generating additional warnings
|
||||
if(CCACHE_PROGRAM AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||
if(NOT CMAKE_C_COMPILER_LAUNCHER)
|
||||
message(STATUS "Using ccache for C compilation: ${CCACHE_PROGRAM}")
|
||||
SET(CMAKE_C_COMPILER_LAUNCHER ${CCACHE_PROGRAM})
|
||||
endif()
|
||||
if(NOT CMAKE_CXX_COMPILER_LAUNCHER)
|
||||
message(STATUS "Using ccache for C++ compilation: ${CCACHE_PROGRAM}")
|
||||
SET(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE_PROGRAM})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
IF(CMAKE_CROSSCOMPILING)
|
||||
SET(IMPORT_EXE_DIR "IMPORT_EXE_DIR-NOTFOUND" CACHE FILEPATH "Required for a cross compiling build, point to binary directory of a cmake build for the real OS")
|
||||
INCLUDE(${IMPORT_EXE_DIR}/ImportExecutables.cmake)
|
||||
ENDIF(CMAKE_CROSSCOMPILING)
|
||||
|
||||
# Check if the external modules exists
|
||||
IF(NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/cmake/external/rpavlik-cmake-modules/launcher-templates")
|
||||
message(FATAL_ERROR "External submodules could not be found. Please make sure you have updated your submodules.")
|
||||
endif()
|
||||
|
||||
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/finder")
|
||||
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/external/rpavlik-cmake-modules")
|
||||
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/external/cotire")
|
||||
|
||||
IF(RESET_INSTALL_PREFIX)
|
||||
IF(NOT $ENV{FS2PATH} STREQUAL "")
|
||||
IF(NOT IS_DIRECTORY $ENV{FS2PATH})
|
||||
MESSAGE(WARNING "The path '$ENV{FS2PATH}' of the environment variable FS2PATH does not point to a directory! Install prefix wasn't set.")
|
||||
ELSE(NOT IS_DIRECTORY $ENV{FS2PATH})
|
||||
SET(CMAKE_INSTALL_PREFIX "$ENV{FS2PATH}" CACHE FILEPATH "Install path" FORCE)
|
||||
FILE(TO_CMAKE_PATH ${CMAKE_INSTALL_PREFIX} CMAKE_INSTALL_PREFIX)
|
||||
ENDIF(NOT IS_DIRECTORY $ENV{FS2PATH})
|
||||
ELSE(NOT $ENV{FS2PATH} STREQUAL "")
|
||||
MESSAGE(STATUS "NO FS2PATH environment variable found, you can define this to point to your freespace install but it is not required.")
|
||||
ENDIF(NOT $ENV{FS2PATH} STREQUAL "")
|
||||
ENDIF(RESET_INSTALL_PREFIX)
|
||||
|
||||
IF (WIN32)
|
||||
OPTION(FSO_USE_SPEECH "Use Windows specific text-to-speach libraries" ON)
|
||||
|
||||
OPTION(FSO_USE_VOICEREC "Enable voice recognition support" ON)
|
||||
|
||||
OPTION(FSO_BUILD_FRED2 "Build FRED2 binary" ON)
|
||||
elseif(UNIX)
|
||||
option(FSO_BUILD_APPIMAGE "Build an AppImage package" OFF)
|
||||
ENDIF(WIN32)
|
||||
|
||||
OPTION(FSO_BUILD_TOOLS "Build tools related to FSO" OFF)
|
||||
|
||||
OPTION(FSO_BUILD_TESTS "Build unit tests" OFF)
|
||||
|
||||
OPTION(FSO_DEVELOPMENT_MODE "Generate binaries in development mode, only use if you know what you're doing!" OFF)
|
||||
|
||||
OPTION(FSO_BUILD_QTFRED "Build qtFRED2 binary" OFF)
|
||||
|
||||
IF(WIN32 OR APPLE)
|
||||
# On windows and mac the default should be to always build the included libraries
|
||||
SET(FSO_BUILD_INCLUDED_LIBS_DEFAULT ON)
|
||||
ELSE()
|
||||
SET(FSO_BUILD_INCLUDED_LIBS_DEFAULT OFF)
|
||||
ENDIF()
|
||||
|
||||
OPTION(FSO_BUILD_INCLUDED_LIBS "Build and use the included libraries istead of using the system headers and libraries" ${FSO_BUILD_INCLUDED_LIBS_DEFAULT})
|
||||
|
||||
OPTION(FSO_USE_LUAJIT "Use LuaJIT for Lua scripting, needs a working internet connection!" OFF)
|
||||
|
||||
OPTION(FSO_USE_OPENALSOFT "Download and build OpenAL Soft instead of using the system libraries" OFF)
|
||||
|
||||
OPTION(FSO_FATAL_WARNINGS "Determines if warnings in the build are considered fatal errors, primarily used for CI" OFF)
|
||||
|
||||
SET(FSO_FREESPACE_PATH "${CMAKE_INSTALL_PREFIX}" CACHE FILEPATH "The path of the FreeSpace directory you want to use. Please note that you will have to change CMAKE_INSTALL_PREFIX if you change this at some point.")
|
||||
|
||||
SET(FSO_RUN_ARGUMENTS "" CACHE STRING "Additional arguments passed to a generated executable when run with the generated build files.")
|
||||
|
||||
option(FSO_INSTALL_DEBUG_FILES "Install some debug files (currently only PDB files on windows)" OFF)
|
||||
|
||||
option(ENABLE_COTIRE "Enable cotire for faster compilation. Enabled by default." ON)
|
||||
|
||||
option(FSO_RELEASE_LOGGING "Enable logging output for release builds" OFF)
|
||||
|
||||
OPTION(FSO_BUILD_WITH_FFMPEG "Enable the usage of FFmpeg for sound and custscenes" ON)
|
||||
|
||||
OPTION(FSO_BUILD_WITH_OPENGL "Enable compilation of the OpenGL renderer" ON)
|
||||
|
||||
OPTION(FSO_BUILD_WITH_VULKAN "Enable compilation of the Vulkan renderer" ON)
|
||||
|
||||
MARK_AS_ADVANCED(FORCE FSO_CMAKE_DEBUG)
|
||||
MARK_AS_ADVANCED(FORCE FSO_BUILD_INCLUDED_LIBS)
|
||||
MARK_AS_ADVANCED(FORCE FSO_USE_OPENALSOFT)
|
||||
MARK_AS_ADVANCED(FORCE FSO_USE_LUAJIT)
|
||||
MARK_AS_ADVANCED(FORCE FSO_DEVELOPMENT_MODE)
|
||||
MARK_AS_ADVANCED(FORCE FSO_FATAL_WARNINGS)
|
||||
mark_as_advanced(FORCE FSO_INSTALL_DEBUG_FILES)
|
||||
mark_as_advanced(FORCE ENABLE_COTIRE)
|
||||
mark_as_advanced(FORCE FSO_RELEASE_LOGGING)
|
||||
mark_as_advanced(FORCE FSO_BUILD_WITH_FFMPEG)
|
||||
mark_as_advanced(FORCE FSO_BUILD_WITH_OPENGL)
|
||||
mark_as_advanced(FORCE FSO_BUILD_WITH_VULKAN)
|
||||
|
||||
# Include cotire file from https://github.com/sakra/cotire/
|
||||
include(cotire)
|
||||
|
||||
INCLUDE(globals)
|
||||
INCLUDE(toolchain)
|
||||
INCLUDE(platforms)
|
||||
include(version)
|
||||
|
||||
INCLUDE(headers)
|
||||
|
||||
SET(GENERATED_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/generated_source)
|
||||
|
||||
include(generateHeaders)
|
||||
|
||||
if(FSO_BUILD_APPIMAGE)
|
||||
include(appimage)
|
||||
endif()
|
||||
|
||||
include(clang-tidy)
|
||||
|
||||
# This includes source code for some tools, either used in the build or also for something else
|
||||
ADD_SUBDIRECTORY(tools)
|
||||
|
||||
ADD_SUBDIRECTORY(lib)
|
||||
|
||||
ADD_SUBDIRECTORY(parsers)
|
||||
|
||||
ADD_SUBDIRECTORY(code)
|
||||
|
||||
ADD_SUBDIRECTORY(freespace2)
|
||||
|
||||
IF(FSO_BUILD_FRED2)
|
||||
ADD_SUBDIRECTORY(fred2)
|
||||
ENDIF(FSO_BUILD_FRED2)
|
||||
|
||||
IF(FSO_BUILD_QTFRED)
|
||||
ADD_SUBDIRECTORY(qtfred)
|
||||
ENDIF()
|
||||
|
||||
if(FSO_BUILD_TESTS)
|
||||
add_subdirectory(test)
|
||||
endif()
|
||||
|
||||
if ("${CMAKE_VERSION}" VERSION_GREATER "3.5")
|
||||
# Default to using Freespace2 as startup project if CMake supports it.
|
||||
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT Freespace2)
|
||||
endif()
|
||||
|
||||
IF(MSVC_USE_RUNTIME_DLL)
|
||||
SET(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION "${BINARY_DESTINATION}")
|
||||
|
||||
IF(FSO_BUILD_FRED2)
|
||||
SET(CMAKE_INSTALL_MFC_LIBRARIES ON)
|
||||
ENDIF(FSO_BUILD_FRED2)
|
||||
|
||||
INCLUDE(InstallRequiredSystemLibraries)
|
||||
ENDIF(MSVC_USE_RUNTIME_DLL)
|
||||
|
||||
include(package)
|
||||
|
||||
include(doxygen)
|
||||
|
||||
# Print used options to log
|
||||
IF (WIN32)
|
||||
message(STATUS "Using text to speech: ${FSO_USE_SPEECH}")
|
||||
message(STATUS "Using voice recogition: ${FSO_USE_VOICEREC}")
|
||||
message(STATUS "Building FRED2: ${FSO_BUILD_FRED2}")
|
||||
elseif(UNIX)
|
||||
message(STATUS "Building AppImage: ${FSO_BUILD_APPIMAGE}")
|
||||
ENDIF()
|
||||
message(STATUS "Building FSO tools: ${FSO_BUILD_TOOLS}")
|
||||
message(STATUS "Building qtFRED: ${FSO_BUILD_QTFRED}")
|
||||
message(STATUS "Fatal warnings: ${FSO_FATAL_WARNINGS}")
|
||||
message(STATUS "Release logging: ${FSO_RELEASE_LOGGING}")
|
||||
message(STATUS "With FFmpeg: ${FSO_BUILD_WITH_FFMPEG}")
|
||||
message(STATUS "With OpenGL: ${FSO_BUILD_WITH_OPENGL}")
|
||||
message(STATUS "With Vulkan: ${FSO_BUILD_WITH_VULKAN}")
|
||||
@@ -0,0 +1,14 @@
|
||||
Volition Copyright (applies to original FreeSpace2 source code
|
||||
developed and released by Volition):
|
||||
|
||||
"Copyright (C) Volition, Inc. 1999. All rights reserved.
|
||||
|
||||
All source code herein is the property of Volition, Inc. You may not
|
||||
sell or otherwise commercially exploit the source or things you
|
||||
created based on the source."
|
||||
|
||||
|
||||
Modifications by members of the FreeSpace Source Code Project are
|
||||
released under whatever terms the individual authors choose, but the
|
||||
above notice continues to apply to all fs2_open code.
|
||||
|
||||
-1997
File diff suppressed because it is too large.
Load diff
-22
@@ -1,22 +0,0 @@
|
||||
Volition Copyright (applies to original FreeSpace2 source code
|
||||
developed and released by Volition):
|
||||
|
||||
>Copyright (C) Volition, Inc. 1999. All rights reserved.
|
||||
>
|
||||
>All source code herein is the property of Volition, Inc. You may not
|
||||
sell or otherwise commercially exploit the source or things you
|
||||
created based on the source.
|
||||
|
||||
|
||||
Modifications by members of the FreeSpace Source Code Project are
|
||||
released under whatever terms the individual authors choose, but the
|
||||
above notice continues to apply to all fs2_open code.
|
||||
|
||||
All modifications made on or after November 1, 2020, shall be released under
|
||||
the terms within [Unlicense](Unlicense.md). Modifications made before said date are released
|
||||
under the previous terms with the exception of modifications made by members
|
||||
of the FreeSpace Source Code Project that opt-in to the terms of Unlicense. Additionally,
|
||||
a list of contributors who have opted in to the Unlicense terms can be found
|
||||
in [**Licensing**](https://github.com/scp-fs2open/fs2open.github.com/wiki/Licensing).
|
||||
|
||||
See [**Licensing**](https://github.com/scp-fs2open/fs2open.github.com/wiki/Licensing) for more information.
|
||||
Binary file not shown.
@@ -0,0 +1,29 @@
|
||||
This is still in pretty rough form.
|
||||
|
||||
|
||||
=== for people building fs2_open:
|
||||
|
||||
Win32-MSVC:
|
||||
Use the Freespace2.dsw workspace and build within the IDE.
|
||||
|
||||
|
||||
Win32-MinGW:
|
||||
make
|
||||
|
||||
|
||||
Linux and other unix variants (NOT YET COMPLETE)
|
||||
./configure [options]
|
||||
make
|
||||
|
||||
|
||||
|
||||
=== for the project maintainers (people who need to
|
||||
=== keep the makefiles up to date) and those building
|
||||
=== from CVS:
|
||||
|
||||
./autogen.sh (should only has to be done once)
|
||||
./configure [options]
|
||||
make
|
||||
|
||||
automake v1.6.1+ and
|
||||
autoconf v2.54+ are required
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
# Makefile.am for fs2_open (top level)
|
||||
#
|
||||
# This file uses GNU Automake to generate makefiles
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
SUBDIRS = mongoose code
|
||||
|
||||
|
||||
EXTRA_DIST = \
|
||||
FS2OpenSCPReadMe.doc \
|
||||
projects/MSVC_2005/Freespace2.sln \
|
||||
projects/MSVC_2005/Freespace2.vcproj \
|
||||
projects/MSVC_2005/code.vcproj \
|
||||
projects/MSVC_6/Fred2.dsp \
|
||||
projects/MSVC_6/Freespace2.dsp \
|
||||
projects/MSVC_6/Freespace2.dsw \
|
||||
projects/MSVC_6/code.dsp \
|
||||
projects/MSVC_6/libjpeg.dsp \
|
||||
projects/MSVC_6/liblua.dsp \
|
||||
projects/MSVC_6/wxFRED2.dsp \
|
||||
projects/Xcode/English.lproj/InfoPlist.strings \
|
||||
projects/Xcode/FS2_Open.icns \
|
||||
projects/Xcode/FS2_Open.xcodeproj/project.pbxproj \
|
||||
projects/Xcode/Frameworks.tgz \
|
||||
projects/Xcode/Info-debug.plist \
|
||||
projects/Xcode/Info.plist \
|
||||
projects/Xcode/README.Xcode \
|
||||
projects/Xcode/SDLMain.h \
|
||||
projects/Xcode/SDLMain.m
|
||||
|
||||
|
||||
# D_ variants are defaults and should always be used
|
||||
AM_CXXFLAGS = -I./code @D_CFLAGS@
|
||||
AM_LDFLAGS = @D_LDFLAGS@
|
||||
|
||||
EXTRA_PROGRAMS = cfilearchiver cfileextractor
|
||||
|
||||
###############################################################################
|
||||
##
|
||||
## Begin utilitites
|
||||
##
|
||||
|
||||
# cfilearchiver -- to create VPs
|
||||
cfilearchiver_SOURCES = \
|
||||
code/cfilearchiver/cfilearchiver.cpp
|
||||
|
||||
# cfileextractor -- to extract files from VPs
|
||||
cfileextractor_SOURCES = \
|
||||
code/cfileextractor/cfileextractor.cpp
|
||||
|
||||
# catch all to build utilitites
|
||||
tools: cfilearchiver cfileextractor
|
||||
|
||||
# cleaning
|
||||
clean-tools:
|
||||
-test -z "$(EXTRA_PROGRAMS)" || rm -f $(EXTRA_PROGRAMS)
|
||||
|
||||
##
|
||||
## End utilitites
|
||||
##
|
||||
###############################################################################
|
||||
|
||||
|
||||
# make sure we get this stuff cleaned up
|
||||
clean-generic: clean-tools
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
The "projects" directory contains ready projects for:
|
||||
Microsoft Visual C++ 6
|
||||
Microsoft Visual C++ 2005
|
||||
Microsoft Visual C++ 2008
|
||||
Micrsofot Visual C++ 2010
|
||||
Apple Xcode
|
||||
Code::Blocks
|
||||
|
||||
|
||||
See the ChangeLog to see what's new.
|
||||
See the INSTALL file for instructions on how to build fs2_open.
|
||||
@@ -1,11 +0,0 @@
|
||||
FreeSpace2 *S*ource *C*ode *P*roject
|
||||
==
|
||||
[](https://travis-ci.org/scp-fs2open/fs2open.github.com)
|
||||
[](https://ci.appveyor.com/project/SirKnightly/fs2open-github-com/branch/master)
|
||||
[](https://scan.coverity.com/projects/870)
|
||||
|
||||
Building
|
||||
--
|
||||
Before you do anything, make sure you have updated your git submodules, either by running `git submodule update --init --recursive` or by cloning the repository with the `--recursive` flag.<br/>
|
||||
|
||||
The main instructions for building can be found at our github wiki, on the [Building](https://github.com/scp-fs2open/fs2open.github.com/wiki/Building) page.
|
||||
@@ -0,0 +1,166 @@
|
||||
**********************************************************************
|
||||
* INSTALL file for STLport *
|
||||
* *
|
||||
**********************************************************************
|
||||
|
||||
STLport is a full ANSI C++ Standard library.
|
||||
|
||||
This distribution contains STLport sources only, no binaries.
|
||||
To use STLport iostreams, locale and complex numbers, you have to build STLport
|
||||
library from sources in "build/lib" directory and link your programs with it.
|
||||
|
||||
Starting with 5.0 the 'wrapper' mode is not supported anymore. You cannot use native
|
||||
compiler iostreams implementation with STLport STL (see doc/FAQ for explanations).
|
||||
Now you have to choose between STLport iostreams or no iostreams.
|
||||
|
||||
==== Unpacking and installing STLport ==========
|
||||
|
||||
1) Unpack STLport archive to a directory accessible during compilation.
|
||||
NOTE: DO NOT overwrite header files coming with the compiler, even if you made
|
||||
a backup - this won't work! Most probably, you've already unpacked the archive before
|
||||
reading this file though ;)
|
||||
|
||||
2) Make sure "stlport" directory of this distribution comes before compiler's one
|
||||
in your include paths when you compile the project.
|
||||
|
||||
Note: for SunPro CC 5.0 and higher, there used to be special directory "stlport/SC5"
|
||||
this is now obsolete, please make sure you do not use it anymore.
|
||||
|
||||
3) Make sure you do not rename this "stlport" subdirectory -
|
||||
that may result in compilation errors.
|
||||
|
||||
NOTE: Your compiler should be recognized by STLport source code with no configuring.
|
||||
Please edit appropriate configuration header for your compiler
|
||||
directly if you have to make compiler-specific configuration changes
|
||||
(see stlport/stl/config).
|
||||
|
||||
4) Run:
|
||||
|
||||
configure --help
|
||||
|
||||
Depending on your environment, Windows command shell or Unix like shell,
|
||||
configure.bat or configure script will be run respectively. For Windows users
|
||||
running configure script is mandatory in order to declare the compiler you are
|
||||
going to use.
|
||||
|
||||
5) Go to "build/lib" subdirectory. It contains various makefiles for different
|
||||
compilers and 'make' utilities (GNU Make and Microsoft's nmake supported).
|
||||
|
||||
Verify you can do command line compiles. IDE users may have to do something
|
||||
special, like add environment variables (for Microsoft) or install
|
||||
additional compiler components (for Metrowerks), before they can use their
|
||||
command line compilers (see doc/README.xxxx for additionnal information).
|
||||
|
||||
configure script should have already created a Makefile file so that you only
|
||||
have to call 'make' or 'nmake' (for some platforms GNU make might be hidden
|
||||
behind 'gmake').
|
||||
|
||||
IMPORTANT:
|
||||
|
||||
If you DO NOT plan to use STLport iostreams and/or locale implementation but just
|
||||
the STL, you do not have to build the library.
|
||||
|
||||
If you have decided to disable STLport iostreams and locale using _STLP_NO_IOSTREAMS
|
||||
configuration macro in stlport/stl/config/user_config.h, you may stop reading here.
|
||||
|
||||
|
||||
==== Building STLport iostreams library ==========
|
||||
|
||||
Below are step-by-step instructions to build STLport streams library. This is a general
|
||||
build process description, for a more detailed one check README files in the doc folder:
|
||||
|
||||
5) Using appropriate make command (make or nmake), do
|
||||
|
||||
make clean install
|
||||
|
||||
to build the STLport libraries. Make files are set up to build several different
|
||||
flavors - debug/nondebug, static/dynamic versions. But not all flavors will be build
|
||||
by default. See build/lib/README for other make targets.
|
||||
|
||||
Note: 'install' target work slightly different than usual - it installs libraries into
|
||||
<STLport root dir>/lib and bin catalogs, NOT IN SYSTEM CATALOG. You can do the system
|
||||
install by just copying stlport and lib folder to the destination of your choise. For
|
||||
example on UNIX-like platforms this can be done with the following commands:
|
||||
|
||||
su
|
||||
tar cf - stlport | (cd /usr/local/include; tar xf -)
|
||||
chmod -R a+r /usr/local/include/stlport
|
||||
chown -R root:root /usr/local/include/stlport
|
||||
(cd lib; tar cf - --exclude=CVS --exclude=.cvsignore .) | (cd /usr/local/lib; tar xf -)
|
||||
chown -R root:root /usr/local/lib/libstlport*
|
||||
exit
|
||||
|
||||
Note: System install is optional, most of compilers/linkers support searching for includes
|
||||
and libs throught out the whole filesystem, just check your documentation on how to achieve
|
||||
this.
|
||||
|
||||
If you use cross-compiler, you can find libraries in the <STLport root dir>/lib/<target platform>
|
||||
catalog.
|
||||
|
||||
6) If build fails, you may choose to :
|
||||
- try fixing the build ;)
|
||||
- wait until somebody else will submit corresponding changes to be incorporated in next STLport
|
||||
release/snapshot.
|
||||
|
||||
In case you do patch STLport, please submit your patches to
|
||||
https://sourceforge.net/tracker/?atid=766246&group_id=146814&func=browse
|
||||
|
||||
==== Linking your application with STLport library ==========
|
||||
|
||||
7) Check the build:
|
||||
|
||||
Example:
|
||||
|
||||
- under Linux and other Unixes:
|
||||
|
||||
cd build/test/unit
|
||||
make install
|
||||
../../../bin/stl_unit_test
|
||||
../../../bin-g/stl_unit_test
|
||||
|
||||
- under Windows:
|
||||
|
||||
cd build\test\unit
|
||||
nmake install
|
||||
cd ..\..\..\bin
|
||||
stl_unit_test
|
||||
stl_unit_testd
|
||||
stl_unit_teststld
|
||||
|
||||
8) Supply the "lib" subdirectory to the library search path and add desired
|
||||
library to the list of libraries to link with.
|
||||
Examples (imagine you have mytest.cpp in the same directory as this file is):
|
||||
With GCC : g++ -pthread -I./stlport mytest.cpp -L./lib/ -lstlport
|
||||
With DEC CC : cxx -I./stlport mytest.cpp -L./lib/ -lstlport
|
||||
With SUN CC : CC -mt -I./stlport mytest.cpp -L./lib/ -lstlport
|
||||
.....
|
||||
For several compilers supporting auto linking feature (VC++, Borland, DMC),
|
||||
you do not have to specify "stlport.M.m.lib" explicitly, as it is being choosen
|
||||
and forced to link automatically by "#pragma"'s in compiler config files
|
||||
Appropriate version is being selected based on compiler options and _STLP_DEBUG
|
||||
setting. All you have to do is to set library search path for the linker.
|
||||
|
||||
Example :
|
||||
cl.exe /I.\stlport mytest.cpp /link /libpath:.\lib /MD
|
||||
|
||||
9) If you linked your application with shared STLport library (.so or .dll), please
|
||||
make suze that your .so or .dll can be found by the dynamic linker.
|
||||
Under Windows, the paths searched depend on the particular flavor, see the MSDN
|
||||
documentation for LoadLibrary at http://msdn.microsoft.com. The easiest ways are to
|
||||
either modify the PATH environment variable or copy all .dll's next to the
|
||||
executable like it is done per default when unit tests executable are put next
|
||||
to dlls.
|
||||
Under Linux, the environment variable LD_LIBRARY_PATH can be adjusted to point
|
||||
to the dir containing .so. See the manpage for ld.so for more info.
|
||||
|
||||
10) STLport builds only multithreaded libraries, so your application should be compiled
|
||||
as multithreaded, too. Use -pthread (or -pthreads on Solaris) option for GCC, -mt for SunPro,
|
||||
/MT for VC, and so on. Sometimes you should define _REENTRANT or something else, depends
|
||||
upon platform/compiler. See compiler's and linker's options on command line when you build
|
||||
unit tests (build/test/unit) for reference. The last is useful for ANY platform.
|
||||
|
||||
11) Don't hesitate to read READMEs (doc/README*, build/lib/README*, build/test/unit/README*)
|
||||
and doc/FAQ.
|
||||
|
||||
12) Have fun!
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
**********************************************************************
|
||||
* INSTALL file for STLport 5.2 *
|
||||
* *
|
||||
**********************************************************************
|
||||
|
||||
STLport is a full ANSI C++ Standard library.
|
||||
|
||||
This distribution contains STLport sources only, no binaries.
|
||||
To use STLport iostreams, locale and complex numbers, you have
|
||||
to build STLport library from sources and link your programs with it.
|
||||
|
||||
Starting with 5.0 the 'wrapper' mode is not supported anymore.
|
||||
You cannot use native compiler iostreams implementation with STLport STL
|
||||
(see doc/FAQ for explanations).
|
||||
|
||||
==== Installing STLport ==========
|
||||
|
||||
0) DO NOT overwrite/move/rename header files coming with the compiler,
|
||||
even if you made a backup---STLport need this headers and don't
|
||||
override ones.
|
||||
|
||||
1) Run
|
||||
|
||||
./configure --help
|
||||
|
||||
read options description; if you use compiler
|
||||
different from gcc, pay attention to --use-compiler-family= option.
|
||||
|
||||
2) Run
|
||||
|
||||
./configure <option>
|
||||
|
||||
Options here more-or-less traditional.
|
||||
|
||||
Note: ./configure give hints only for library build, it dosen't
|
||||
create/edit any headers, check you system etc. This is simple way
|
||||
to store custom options, not more. If you want to change default
|
||||
behaviour of STLport, see stlport/stl/config/user_config.h and
|
||||
stlport/stl/config/host.h; read the comments in this files!
|
||||
Not all combinations of options healthy, you should understand
|
||||
what you do. If not, keep all unchanged.
|
||||
|
||||
Note: you can find all recognised 'settings' in the file
|
||||
build/Makefiles/gmake/config.mak
|
||||
|
||||
This is generated file, but only ./configure will rewrite one.
|
||||
|
||||
3) Run
|
||||
|
||||
make && make check
|
||||
|
||||
Only GNU Make supported! Preferred verion of GNU Make >= 3.81;
|
||||
never use GNU Make before 3.79 --- build not work properly;
|
||||
GNU makes >= 3.79 and < 3.81 may fail to build library/tests
|
||||
properly, due to bugs; but the real results depends upon
|
||||
platform.
|
||||
|
||||
4) If build fine, become superuser and run
|
||||
|
||||
make install
|
||||
|
||||
Note: you can use --prefix= to change installation path
|
||||
(or macro DESTDIR, as usual), or even skip installation and use
|
||||
STLport in-place.
|
||||
|
||||
==== Usage STLport ==========
|
||||
|
||||
1) The best way to understand how to use it, is to see on compilation,
|
||||
linking, running unit tests, i.e. see on options when you do
|
||||
|
||||
(cd build/test/unit; make check)
|
||||
|
||||
2) Make sure "stlport" directory of this distribution comes before
|
||||
compiler's one in your include paths (something like
|
||||
-I<base install path>/stlport); never rename 'stlport' part of path!
|
||||
|
||||
Compilation:
|
||||
|
||||
c++ -pthread -fexceptions -O2 -I/usr/local/include/stlport -c -o test.o test.cc
|
||||
|
||||
In case of gcc, libstlport replace libstdc++ (not in all cases!)
|
||||
|
||||
Link, variant 1:
|
||||
|
||||
c++ -pthread -fexceptions -O2 -I/usr/local/include/stlport -nostdlib -o mytest \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../crt1.o \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../crti.o \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/crtbegin.o \
|
||||
test.o \
|
||||
-lstlport \
|
||||
-lgcc_s -lpthread -lc -lm \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/crtend.o \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../crtn.o
|
||||
|
||||
Of cause, names of start/stop files not hardcoded, you can locate it with
|
||||
|
||||
c++ -print-file-name=crt1.o
|
||||
|
||||
Link, variant 2:
|
||||
|
||||
gcc -pthread -fexceptions -O2 -I/usr/local/include/stlport -o mytest \
|
||||
test.o -lstlport
|
||||
|
||||
If you use gcc before 3.3, you must link with libstdc++, because
|
||||
language-support library (libsupc++.a) don't contain necessary
|
||||
functions.
|
||||
|
||||
3) STLport builds only multithreaded libraries (by default), so your
|
||||
application should be compiled as multithreaded, too. Use -pthread
|
||||
(or -pthreads on Solaris) option for GCC, -mt for SunPro and so on.
|
||||
Sometimes you should define _REENTRANT or something else, depends
|
||||
upon platform/compiler. See compiler's and linker's options
|
||||
on command line when you build unit tests (build/test/unit)
|
||||
for reference. The last is useful for ANY platform (special
|
||||
attention for Windows users).
|
||||
|
||||
4) Don't hesitate to read READMEs (doc/README*, build/lib/README*,
|
||||
build/test/unit/README*) and doc/FAQ.
|
||||
|
||||
5) Have fun!
|
||||
@@ -0,0 +1,26 @@
|
||||
# Time-stamp: <08/06/12 14:28:42 ptr>
|
||||
#
|
||||
# Copyright (c) 2004-2008
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
SRCROOT := build
|
||||
SUBDIRS := build/lib
|
||||
|
||||
include ${SRCROOT}/Makefiles/gmake/subdirs.mak
|
||||
|
||||
all install depend clean clobber distclean check::
|
||||
+$(call doinsubdirs,${SUBDIRS})
|
||||
|
||||
distclean clean depend clobber::
|
||||
+$(call doinsubdirs,build/test/unit)
|
||||
|
||||
release-shared install-release-shared:
|
||||
+$(call doinsubdirs,${SUBDIRS})
|
||||
|
||||
install::
|
||||
${MAKE} -C build/lib install-headers
|
||||
|
||||
.PHONY: all install depend clean clobber distclean check release-shared install-release-shared
|
||||
@@ -0,0 +1,64 @@
|
||||
**********************************************************************
|
||||
* README file for STLport 5.0 *
|
||||
* *
|
||||
**********************************************************************
|
||||
|
||||
This directory contains the STLport-5.0 release.
|
||||
|
||||
What's inside :
|
||||
|
||||
README - this file
|
||||
INSTALL - installation instructions
|
||||
|
||||
bin - installation directory for STLport unit tests;
|
||||
it may contain more subdirs, if you use
|
||||
crosscompilation
|
||||
build/lib - build directory for STLport library (if you use
|
||||
STLport iostreams and/or locale only)
|
||||
build/test/unit - build directory for regression (unit) tests
|
||||
build/test/eh - build directory for exception handling tests
|
||||
stlport - main STLport include directory
|
||||
src - source for iostreams implementation and other parts
|
||||
that aren't pure template code
|
||||
lib - installation directory for STLport library (if you
|
||||
use STLport iostreams and/or locale only);
|
||||
it may contain more subdirs, if you use
|
||||
crosscompilation
|
||||
test/unit - unit (regression) tests
|
||||
test/eh - exception handling test using STLport iostreams
|
||||
etc - miscellanous files (ChangeLog, TODO, scripts, etc.)
|
||||
|
||||
GETTING STLPORT
|
||||
|
||||
To download the latest version of STLport, please be sure to visit
|
||||
https://sourceforge.net/project/showfiles.php?group_id=146814
|
||||
|
||||
LEGALESE
|
||||
|
||||
This software is being distributed under the following terms:
|
||||
|
||||
*
|
||||
*
|
||||
* Copyright (c) 1994
|
||||
* Hewlett-Packard Company
|
||||
*
|
||||
* Copyright (c) 1996-1999
|
||||
* Silicon Graphics Computer Systems, Inc.
|
||||
*
|
||||
* Copyright (c) 1997
|
||||
* Moscow Center for SPARC Technology
|
||||
*
|
||||
* Copyright (c) 1999-2003
|
||||
* Boris Fomitchev
|
||||
*
|
||||
* This material is provided "as is", with absolutely no warranty expressed
|
||||
* or implied. Any use is at your own risk.
|
||||
*
|
||||
* Permission to use or copy this software for any purpose is hereby granted
|
||||
* without fee, provided the above notices are retained on all copies.
|
||||
* Permission to modify the code and to distribute modified code is granted,
|
||||
* provided the above notices are retained, and a notice that the code was
|
||||
* modified is included with the above copyright notice.
|
||||
*
|
||||
|
||||
**********************************************************************
|
||||
@@ -0,0 +1,77 @@
|
||||
# Time-stamp: <08/01/12 00:50:38 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
INCLUDES :=
|
||||
|
||||
ifndef _FORCE_CXX
|
||||
CXX := CC
|
||||
else
|
||||
CXX := ${_FORCE_CXX}
|
||||
endif
|
||||
|
||||
ifndef _FORCE_CC
|
||||
CC := cc
|
||||
else
|
||||
CC := ${_FORCE_CC}
|
||||
endif
|
||||
|
||||
CXX_VERSION := $(shell ${CXX} -V 2>&1 | grep ${CXX} | awk '{ print $$4; }')
|
||||
|
||||
CXX_VERSION_MAJOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$1; }')
|
||||
CXX_VERSION_MINOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$2; }')
|
||||
CXX_VERSION_PATCH := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { if (NF > 2) {print $$3;}else{print "0"} }')
|
||||
|
||||
DEFS ?=
|
||||
OPT ?=
|
||||
|
||||
OUTPUT_OPTION = -o $@
|
||||
LINK_OUTPUT_OPTION = ${OUTPUT_OPTION}
|
||||
CPPFLAGS = $(DEFS) $(INCLUDES)
|
||||
|
||||
OPT += -mt +w2
|
||||
CCFLAGS = -erroff=doubunder -qoption ccfe -expand=1000 -library=no%Cstd,no%iostream,no%rwtools7-xildoff $(OPT)
|
||||
CFLAGS = $(OPT)
|
||||
CXXFLAGS = -erroff=doubunder -qoption ccfe -expand=1000 -library=no%Cstd,no%iostream,no%rwtools7 -xildoff $(OPT)
|
||||
CDEPFLAGS = -xM
|
||||
CCDEPFLAGS = -xM
|
||||
|
||||
# STLport DEBUG mode specific defines
|
||||
stldbg-static : DEFS += -D_STLP_DEBUG
|
||||
stldbg-shared : DEFS += -D_STLP_DEBUG
|
||||
stldbg-static-dep : DEFS += -D_STLP_DEBUG
|
||||
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
|
||||
|
||||
# optimization and debug compiler flags
|
||||
release-static : OPT += -xO2
|
||||
release-shared : OPT += -xO2
|
||||
|
||||
dbg-static : OPT += -g
|
||||
dbg-shared : OPT += -g
|
||||
#dbg-static-dep : OPT += -g
|
||||
#dbg-shared-dep : OPT += -g
|
||||
|
||||
stldbg-static : OPT += -g
|
||||
stldbg-shared : OPT += -g
|
||||
#stldbg-static-dep : OPT += -g
|
||||
#stldbg-shared-dep : OPT += -g
|
||||
|
||||
# dependency output parser (dependencies collector)
|
||||
|
||||
DP_OUTPUT_DIR = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
DP_OUTPUT_DIR_DBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_DBG)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
DP_OUTPUT_DIR_STLDBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_STLDBG)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
# Time-stamp: <08/01/12 00:51:07 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
ifndef _FORCE_CXX
|
||||
CXX := aCC
|
||||
else
|
||||
CXX := ${_FORCE_CXX}
|
||||
endif
|
||||
|
||||
ifndef _FORCE_CC
|
||||
CC := aCC
|
||||
else
|
||||
CC := ${_FORCE_CC}
|
||||
endif
|
||||
|
||||
CXX_VERSION := $(shell ${CXX} --version 2>&1 | grep ${CXX} | awk '{ print $$6; }')
|
||||
ifeq ($(CXX_VERSION),)
|
||||
CXX_VERSION := $(shell ${CXX} --version)
|
||||
endif
|
||||
CXX_VERSION_MAJOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$2; }')
|
||||
CXX_VERSION_MINOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$3; }')
|
||||
|
||||
DEFS ?=
|
||||
OPT ?=
|
||||
|
||||
ifndef WITHOUT_THREAD
|
||||
DEFS += -D_REENTRANT
|
||||
endif
|
||||
OUTPUT_OPTION = -o $@
|
||||
LINK_OUTPUT_OPTION = ${OUTPUT_OPTION}
|
||||
CPPFLAGS = $(DEFS) $(INCLUDES)
|
||||
|
||||
CFLAGS = -Aa +z $(OPT)
|
||||
CXXFLAGS = -Aa +z -mt $(OPT)
|
||||
|
||||
CDEPFLAGS = -E +Md
|
||||
CCDEPFLAGS = -E +Md
|
||||
|
||||
# STLport DEBUG mode specific defines
|
||||
stldbg-static : DEFS += -D_STLP_DEBUG
|
||||
stldbg-shared : DEFS += -D_STLP_DEBUG
|
||||
stldbg-static-dep : DEFS += -D_STLP_DEBUG
|
||||
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
|
||||
|
||||
# optimization and debug compiler flags
|
||||
release-static : OPT += +O2
|
||||
release-shared : OPT += +O2
|
||||
|
||||
dbg-static : OPT += -g
|
||||
dbg-shared : OPT += -g
|
||||
#dbg-static-dep : OPT += -g
|
||||
#dbg-shared-dep : OPT += -g
|
||||
|
||||
stldbg-static : OPT += -g
|
||||
stldbg-shared : OPT += -g
|
||||
#stldbg-static-dep : OPT += -g
|
||||
#stldbg-shared-dep : OPT += -g
|
||||
|
||||
OPT += +W495,749,2186,2191,2340,2430,2550
|
||||
|
||||
# dependency output parser (dependencies collector)
|
||||
|
||||
DP_OUTPUT_DIR = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
DP_OUTPUT_DIR_DBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_DBG)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
DP_OUTPUT_DIR_STLDBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_STLDBG)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
# -*- Makefile -*- Time-stamp: <07/03/08 21:53:08 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
@@ -0,0 +1,10 @@
|
||||
# -*- Makefile -*- Time-stamp: <07/03/08 21:55:22 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
@@ -0,0 +1,98 @@
|
||||
# -*- Makefile -*- Time-stamp: <07/05/31 01:05:40 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Copyright (c) 2006, 2007
|
||||
# Francois Dumont
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
ifneq ($(OSNAME),linux)
|
||||
|
||||
OPT += -tWC -w-par
|
||||
|
||||
LDFLAGS += -Tpe -w -w-dup
|
||||
|
||||
START_OBJ = c0x32.obj
|
||||
|
||||
LDFLAGS += -L$(subst /,\\,$(STLPORT_DIR)/lib)
|
||||
|
||||
ifdef WITH_DYNAMIC_RTL
|
||||
release-static: DEFS += -D_STLP_USE_STATIC_LIB
|
||||
dbg-static: DEFS += -D_STLP_USE_STATIC_LIB
|
||||
stldbg-static: DEFS += -D_STLP_USE_STATIC_LIB
|
||||
endif
|
||||
|
||||
ifdef WITH_STATIC_RTL
|
||||
release-shared: DEFS += -D_STLP_USE_DYNAMIC_LIB
|
||||
dbg-shared: DEFS += -D_STLP_USE_DYNAMIC_LIB
|
||||
stldbg-shared: DEFS += -D_STLP_USE_DYNAMIC_LIB
|
||||
endif
|
||||
|
||||
else
|
||||
|
||||
OPT += -tC
|
||||
|
||||
LDFLAGS += -ap
|
||||
|
||||
START_OBJ = borinit.o crt1.o
|
||||
|
||||
endif
|
||||
|
||||
ifdef USE_BCC_DBG_OPTS
|
||||
|
||||
# optimization and debug compiler flags
|
||||
|
||||
dbg-static : OPT += -R -v -y
|
||||
dbg-shared : OPT += -R -v -y
|
||||
stldbg-static : OPT += -R -v -y
|
||||
stldbg-shared : OPT += -R -v -y
|
||||
|
||||
dbg-shared : LDFLAGS += -v
|
||||
dbg-static : LDFLAGS += -v
|
||||
stldbg-shared : LDFLAGS += -v
|
||||
stldbg-static : LDFLAGS += -v
|
||||
|
||||
install-dbg-shared: install-dbg-shared-tds
|
||||
install-stldbg-shared: install-stldbg-shared-tds
|
||||
|
||||
install-dbg-static: install-dbg-static-tds
|
||||
install-stldbg-static: install-stldbg-static-tds
|
||||
|
||||
install-dbg-shared-tds:
|
||||
$(INSTALL_EXE) $(OUTPUT_DIR_DBG)/${PRGNAME}.tds $(INSTALL_BIN_DIR_DBG)/${PRGNAME}.tds
|
||||
|
||||
install-stldbg-shared-tds:
|
||||
$(INSTALL_EXE) $(OUTPUT_DIR_STLDBG)/${PRGNAME}.tds $(INSTALL_BIN_DIR_STLDBG)/${PRGNAME}.tds
|
||||
|
||||
install-dbg-static-tds:
|
||||
$(INSTALL_EXE) $(OUTPUT_DIR_DBG)/${PRGNAME}.tds $(INSTALL_BIN_DIR_DBG)/${PRGNAME}.tds
|
||||
|
||||
install-stldbg-static-tds:
|
||||
$(INSTALL_EXE) $(OUTPUT_DIR_STLDBG)/${PRGNAME}.tds $(INSTALL_BIN_DIR_STLDBG)/${PRGNAME}.tds
|
||||
|
||||
else
|
||||
|
||||
dbg-shared : OPT += -vi-
|
||||
dbg-static : OPT += -vi-
|
||||
stldbg-shared : OPT += -vi-
|
||||
stldbg-static : OPT += -vi-
|
||||
|
||||
endif
|
||||
|
||||
PRG_FILES := ${PRGNAME}${EXE} ${PRGNAME}.tds ${PRGNAME}.map
|
||||
TMP_FILES := test.txt test_file.txt win32_file_format.tmp
|
||||
|
||||
clean::
|
||||
$(foreach d, $(OUTPUT_DIRS), $(foreach f, $(PRG_FILES), @rm -f $(d)/$(f)))
|
||||
|
||||
uninstall::
|
||||
$(foreach d, $(INSTALL_DIRS), $(foreach f, $(PRG_FILES), @rm -f $(d)/$(f)))
|
||||
$(foreach d, $(INSTALL_DIRS), $(foreach f, $(TMP_FILES), @rm -f $(d)/$(f)))
|
||||
$(foreach d, $(INSTALL_DIRS), @-rmdir -p $(d) 2>/dev/null)
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
# -*- Makefile -*- Time-stamp: <07/05/31 01:05:57 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Copyright (c) 2006, 2007
|
||||
# Francois Dumont
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
CXXFLAGS += -w6 -w7 -w18
|
||||
|
||||
stldbg-shared : CXXFLAGS += -HP50
|
||||
stldbg-static : CXXFLAGS += -HP50
|
||||
|
||||
OPT += -WA
|
||||
|
||||
release-shared : LDFLAGS += /DELEXECUTABLE
|
||||
release-static : LDFLAGS += /DELEXECUTABLE
|
||||
dbg-shared : LDFLAGS += /DELEXECUTABLE/CODEVIEW/NOCVPACK
|
||||
dbg-static : LDFLAGS += /DELEXECUTABLE/CODEVIEW/NOCVPACK
|
||||
stldbg-shared : LDFLAGS += /DELEXECUTABLE/CODEVIEW/NOCVPACK
|
||||
stldbg-static : LDFLAGS += /DELEXECUTABLE/CODEVIEW/NOCVPACK
|
||||
|
||||
# workaround for stl/config/_auto_link.h
|
||||
STL_LIBNAME = stlport
|
||||
DBG_SUFFIX := d
|
||||
STLDBG_SUFFIX := stld
|
||||
|
||||
ifdef LIB_MOTIF
|
||||
LIB_SUFFIX := _$(LIB_MOTIF).${LIBMAJOR}.${LIBMINOR}
|
||||
else
|
||||
LIB_SUFFIX := .${LIBMAJOR}.${LIBMINOR}
|
||||
endif
|
||||
|
||||
# Shared libraries:
|
||||
ifdef WITH_STATIC_RTL
|
||||
LIB_TYPE := _x
|
||||
else
|
||||
LIB_TYPE :=
|
||||
endif
|
||||
|
||||
LIB_NAME := $(LIB_PREFIX)${STL_LIBNAME}${LIB_TYPE}${LIB_SUFFIX}.$(LIB)
|
||||
LIB_NAME_DBG := $(LIB_PREFIX)${STL_LIBNAME}${DBG_SUFFIX}${LIB_TYPE}${LIB_SUFFIX}.$(LIB)
|
||||
LIB_NAME_STLDBG := $(LIB_PREFIX)${STL_LIBNAME}${STLDBG_SUFFIX}${LIB_TYPE}${LIB_SUFFIX}.$(LIB)
|
||||
|
||||
# Static libraries:
|
||||
ifdef WITH_DYNAMIC_RTL
|
||||
A_LIB_TYPE := _statix
|
||||
else
|
||||
A_LIB_TYPE := _static
|
||||
endif
|
||||
|
||||
A_NAME := $(LIB_PREFIX)${STL_LIBNAME}${A_LIB_TYPE}${LIB_SUFFIX}.$(ARCH)
|
||||
A_NAME_DBG := $(LIB_PREFIX)${STL_LIBNAME}${DBG_SUFFIX}${A_LIB_TYPE}${LIB_SUFFIX}.${ARCH}
|
||||
A_NAME_STLDBG := ${LIB_PREFIX}${STL_LIBNAME}${STLDBG_SUFFIX}${A_LIB_TYPE}${LIB_SUFFIX}.${ARCH}
|
||||
|
||||
release-shared : LDLIBS += $(STLPORT_DIR)/lib/$(LIB_NAME)
|
||||
dbg-shared : LDLIBS += $(STLPORT_DIR)/lib/$(LIB_NAME_DBG)
|
||||
stldbg-shared : LDLIBS += $(STLPORT_DIR)/lib/$(LIB_NAME_STLDBG)
|
||||
release-static : LDLIBS += $(STLPORT_DIR)/lib/$(A_NAME)
|
||||
dbg-static : LDLIBS += $(STLPORT_DIR)/lib/$(A_NAME_DBG)
|
||||
stldbg-static : LDLIBS += $(STLPORT_DIR)/lib/$(A_NAME_STLDBG)
|
||||
@@ -0,0 +1,230 @@
|
||||
# -*- Makefile -*- Time-stamp: <08/06/12 16:03:31 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
ifndef NOT_USE_NOSTDLIB
|
||||
|
||||
ifeq ($(CXX_VERSION_MAJOR),2)
|
||||
# i.e. gcc before 3.x.x: 2.95, etc.
|
||||
# gcc before 3.x don't had libsupc++.a and libgcc_s.so
|
||||
# exceptions and operators new are in libgcc.a
|
||||
# Unfortunatly gcc before 3.x has a buggy C++ language support outside stdc++, so definition of STDLIB below is commented
|
||||
NOT_USE_NOSTDLIB := 1
|
||||
#STDLIBS := $(shell ${CXX} -print-file-name=libgcc.a) -lpthread -lc -lm
|
||||
endif
|
||||
|
||||
ifeq ($(CXX_VERSION_MAJOR),3)
|
||||
# gcc before 3.3 (i.e. 3.0.x, 3.1.x, 3.2.x) has buggy libsupc++, so we should link with libstdc++ to avoid one
|
||||
ifeq ($(CXX_VERSION_MINOR),0)
|
||||
NOT_USE_NOSTDLIB := 1
|
||||
endif
|
||||
ifeq ($(CXX_VERSION_MINOR),1)
|
||||
NOT_USE_NOSTDLIB := 1
|
||||
endif
|
||||
ifeq ($(CXX_VERSION_MINOR),2)
|
||||
NOT_USE_NOSTDLIB := 1
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
ifndef NOT_USE_NOSTDLIB
|
||||
ifeq ($(OSNAME),linux)
|
||||
_USE_NOSTDLIB := 1
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),openbsd)
|
||||
_USE_NOSTDLIB := 1
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),freebsd)
|
||||
_USE_NOSTDLIB := 1
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),netbsd)
|
||||
_USE_NOSTDLIB := 1
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),sunos)
|
||||
_USE_NOSTDLIB := 1
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),darwin)
|
||||
_USE_NOSTDLIB := 1
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),cygming)
|
||||
_USE_NOSTDLIB := 1
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
ifeq (${STLPORT_LIB_DIR},)
|
||||
ifneq ($(OSNAME),cygming)
|
||||
release-shared: STLPORT_LIB = -lstlport
|
||||
release-static: STLPORT_LIB = -Wl,-Bstatic -lstlport -Wl,-Bdynamic
|
||||
dbg-shared: STLPORT_LIB = -lstlportg
|
||||
dbg-static: STLPORT_LIB = -Wl,-Bstatic -lstlportg -Wl,-Bdynamic
|
||||
stldbg-shared: STLPORT_LIB = -lstlportstlg
|
||||
stldbg-static: STLPORT_LIB = -Wl,-Bstatic -lstlportstlg -Wl,-Bdynamic
|
||||
else
|
||||
LIB_VERSION = ${LIBMAJOR}.${LIBMINOR}
|
||||
release-shared : STLPORT_LIB = -lstlport.${LIB_VERSION}
|
||||
dbg-shared : STLPORT_LIB = -lstlportg.${LIB_VERSION}
|
||||
stldbg-shared : STLPORT_LIB = -lstlportstlg.${LIB_VERSION}
|
||||
endif
|
||||
else
|
||||
# STLPORT_LIB_DIR not empty
|
||||
ifneq ($(OSNAME),cygming)
|
||||
release-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlport
|
||||
release-static: STLPORT_LIB = -L${STLPORT_LIB_DIR} -Wl,-Bstatic -lstlport -Wl,-Bdynamic
|
||||
dbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportg
|
||||
dbg-static: STLPORT_LIB = -L${STLPORT_LIB_DIR} -Wl,-Bstatic -lstlportg -Wl,-Bdynamic
|
||||
stldbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportstlg
|
||||
stldbg-static: STLPORT_LIB = -L${STLPORT_LIB_DIR} -Wl,-Bstatic -lstlportstlg -Wl,-Bdynamic
|
||||
else
|
||||
LIB_VERSION = ${LIBMAJOR}.${LIBMINOR}
|
||||
release-shared : STLPORT_LIB = -L${BASE_INSTALL_DIR}/lib -lstlport.${LIB_VERSION}
|
||||
dbg-shared : STLPORT_LIB = -L${BASE_INSTALL_DIR}/lib -lstlportg.${LIB_VERSION}
|
||||
stldbg-shared : STLPORT_LIB = -L${BASE_INSTALL_DIR}/lib -lstlportstlg.${LIB_VERSION}
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
ifdef _USE_NOSTDLIB
|
||||
|
||||
# Check whether gcc builded with --disable-shared
|
||||
ifeq ($(shell ${CXX} ${CXXFLAGS} -print-file-name=libgcc_eh.a),libgcc_eh.a)
|
||||
# gcc builded with --disable-shared, (no library libgcc_eh.a); all exception support in libgcc.a
|
||||
_LGCC_EH :=
|
||||
_LGCC_S := -lgcc
|
||||
else
|
||||
# gcc builded with --enable-shared (default)
|
||||
ifdef USE_STATIC_LIBGCC
|
||||
# if force usage of static libgcc, then exceptions support should be taken from libgcc_eh
|
||||
_LGCC_EH := -lgcc_eh
|
||||
_LGCC_S := -lgcc
|
||||
else
|
||||
# otherwise, exceptions support is in libgcc_s.so
|
||||
_LGCC_EH :=
|
||||
ifneq ($(OSNAME),darwin)
|
||||
_LGCC_S := -lgcc_s
|
||||
else
|
||||
ifdef GCC_APPLE_CC
|
||||
ifeq ($(MACOSX_TEN_FIVE),true)
|
||||
_LGCC_S := -lgcc_s.10.5
|
||||
else
|
||||
_LGCC_S := -lgcc_s.10.4
|
||||
endif
|
||||
else
|
||||
_LGCC_S := -lgcc_s
|
||||
# end of GCC_APPLE_CC
|
||||
endif
|
||||
# end of Darwin
|
||||
endif
|
||||
# end of !USE_STATIC_LIBGCC
|
||||
endif
|
||||
# end of present libgcc_eh.a
|
||||
endif
|
||||
|
||||
# ifeq ($(CXX_VERSION_MAJOR),3)
|
||||
ifeq ($(OSNAME),linux)
|
||||
START_OBJ := $(shell for o in crt1.o crti.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
END_OBJ := $(shell for o in crtend.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),openbsd)
|
||||
START_OBJ := $(shell for o in crt0.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
END_OBJ := $(shell for o in crtend.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),freebsd)
|
||||
# FreeBSD < 5.3 should use -lc_r, while FreeBSD >= 5.3 use -lpthread
|
||||
PTHR := $(shell if [ ${OSREL_MAJOR} -gt 5 ] ; then echo "pthread" ; else if [ ${OSREL_MAJOR} -lt 5 ] ; then echo "c_r" ; else if [ ${OSREL_MINOR} -lt 3 ] ; then echo "c_r" ; else echo "pthread"; fi ; fi ; fi)
|
||||
START_OBJ := $(shell for o in crt1.o crti.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
END_OBJ := $(shell for o in crtend.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -l${PTHR} -lc -lm
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),netbsd)
|
||||
START_OBJ := $(shell for o in crt1.o crti.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
END_OBJ := $(shell for o in crtend.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),sunos)
|
||||
START_OBJ := $(shell for o in crt1.o crti.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
END_OBJ := $(shell for o in crtend.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),darwin)
|
||||
# sometimes crt3.o will required: it has __cxa_at_exit, but the same defined in libc.dyn
|
||||
# at least in Mac OS X 10.4.10 (8R2218)
|
||||
ifeq ($(CXX_VERSION_MAJOR),3)
|
||||
# i.e. gcc 3.3
|
||||
START_OBJ := $(shell for o in crt1.o crt2.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
else
|
||||
START_OBJ := -lcrt1.o
|
||||
endif
|
||||
END_OBJ :=
|
||||
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm -lsupc++ ${_LGCC_EH}
|
||||
#LDFLAGS += -dynamic
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),cygming)
|
||||
LDFLAGS += -nodefaultlibs
|
||||
ifndef USE_STATIC_LIBGCC
|
||||
ifeq ($(shell ${CXX} ${CXXFLAGS} -print-file-name=libgcc_s.a),libgcc_s.a)
|
||||
_LGCC_S := -lgcc
|
||||
else
|
||||
_LGCC_S := -lgcc_s
|
||||
endif
|
||||
else
|
||||
_LGCC_S := -lgcc
|
||||
endif
|
||||
ifeq ($(OSREALNAME),mingw)
|
||||
STDLIBS = ${STLPORT_LIB} -lsupc++ ${_LGCC_S} -lmingw32 -lmingwex -lmsvcrt -lm -lmoldname -lcoldname -lkernel32
|
||||
else
|
||||
LDFLAGS += -Wl,-enable-auto-import
|
||||
ifneq (,$(findstring no-cygwin,$(EXTRA_CXXFLAGS)))
|
||||
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lmingw32 -lmingwex -lmsvcrt -lm -lmoldname -lcoldname -lkernel32
|
||||
else
|
||||
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lm -lc -lpthread -lkernel32
|
||||
endif
|
||||
endif
|
||||
else
|
||||
LDFLAGS += -nostdlib
|
||||
endif
|
||||
|
||||
# endif
|
||||
# _USE_NOSTDLIB
|
||||
else
|
||||
ifndef USE_STATIC_LIBGCC
|
||||
release-shared : LDFLAGS += -shared-libgcc
|
||||
dbg-shared : LDFLAGS += -shared-libgcc
|
||||
stldbg-shared : LDFLAGS += -shared-libgcc
|
||||
endif
|
||||
ifndef WITHOUT_STLPORT
|
||||
STDLIBS = ${STLPORT_LIB}
|
||||
else
|
||||
STDLIBS =
|
||||
endif
|
||||
endif
|
||||
|
||||
# workaround for gcc 2.95.x bug:
|
||||
ifeq ($(CXX_VERSION_MAJOR),2)
|
||||
ifneq ($(OSNAME),cygming)
|
||||
OPT += -fPIC
|
||||
endif
|
||||
endif
|
||||
@@ -0,0 +1,10 @@
|
||||
# -*- Makefile -*- Time-stamp: <07/03/08 21:55:41 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
@@ -0,0 +1,66 @@
|
||||
# -*- makefile -*- Time-stamp: <06/12/12 09:37:04 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
install: install-release-shared install-dbg-shared install-stldbg-shared
|
||||
else
|
||||
install: install-release-shared install-dbg-shared
|
||||
endif
|
||||
|
||||
INSTALL_PRGNAME_CMD =
|
||||
INSTALL_PRGNAME_CMD_DBG =
|
||||
INSTALL_PRGNAME_CMD_STLDBG =
|
||||
|
||||
define prog_install
|
||||
INSTALL_$(1)_PRGNAME := $(1)${EXE}
|
||||
INSTALL_PRGNAME_CMD += $$(INSTALL_EXE) $${$(1)_PRG} $$(INSTALL_BIN_DIR)/$${INSTALL_$(1)_PRGNAME}; \
|
||||
|
||||
INSTALL_$(1)_PRGNAME_DBG := $${INSTALL_$(1)_PRGNAME}
|
||||
INSTALL_PRGNAME_CMD_DBG += $$(INSTALL_EXE) $${$(1)_PRG_DBG} $$(INSTALL_BIN_DIR_DBG)/$${INSTALL_$(1)_PRGNAME_DBG}; \
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
INSTALL_$(1)_PRGNAME_STLDBG := $${INSTALL_$(1)_PRGNAME}
|
||||
INSTALL_PRGNAME_CMD_STLDBG += $$(INSTALL_EXE) $${$(1)_PRG_STLDBG} $$(INSTALL_BIN_DIR_STLDBG)/$${INSTALL_$(1)_PRGNAME_STLDBG}; \
|
||||
|
||||
endif
|
||||
endef
|
||||
|
||||
INSTALL_PRGNAME := ${PRGNAME}${EXE}
|
||||
$(foreach prg,$(PRGNAMES),$(eval $(call prog_install,$(prg))))
|
||||
|
||||
INSTALL_PRGNAME_DBG := ${INSTALL_PRGNAME}
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
INSTALL_PRGNAME_STLDBG := ${INSTALL_PRGNAME}
|
||||
endif
|
||||
|
||||
install-release-shared: release-shared $(INSTALL_BIN_DIR)
|
||||
ifdef PRGNAME
|
||||
$(INSTALL_EXE) ${PRG} $(INSTALL_BIN_DIR)/${INSTALL_PRGNAME}
|
||||
endif
|
||||
$(INSTALL_PRGNAME_CMD)
|
||||
$(POST_INSTALL)
|
||||
|
||||
install-dbg-shared: dbg-shared $(INSTALL_BIN_DIR_DBG)
|
||||
ifdef PRGNAME
|
||||
$(INSTALL_EXE) ${PRG_DBG} $(INSTALL_BIN_DIR_DBG)/${INSTALL_PRGNAME_DBG}
|
||||
endif
|
||||
$(INSTALL_PRGNAME_CMD_DBG)
|
||||
$(POST_INSTALL_DBG)
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
install-stldbg-shared: stldbg-shared $(INSTALL_BIN_DIR_STLDBG)
|
||||
ifdef PRGNAME
|
||||
$(INSTALL_EXE) ${PRG_STLDBG} $(INSTALL_BIN_DIR_STLDBG)/${INSTALL_PRGNAME_STLDBG}
|
||||
endif
|
||||
$(INSTALL_PRGNAME_CMD_STLDBG)
|
||||
$(POST_INSTALL_STLDBG)
|
||||
endif
|
||||
@@ -0,0 +1,92 @@
|
||||
# -*- makefile -*- Time-stamp: <06/11/17 10:34:26 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
dbg-shared: $(EXTRA_PRE_DBG) $(OUTPUT_DIR_DBG) ${PRG_DBG} ${ALLPRGS_DBG} $(EXTRA_POST_DBG)
|
||||
|
||||
dbg-static: $(EXTRA_PRE_DBG) $(OUTPUT_DIR_DBG) ${PRG_DBG} ${ALLPRGS_DBG} $(EXTRA_POST_DBG)
|
||||
|
||||
release-shared: $(EXTRA_PRE) $(OUTPUT_DIR) ${PRG} ${ALLPRGS} $(EXTRA_POST)
|
||||
|
||||
release-static: $(EXTRA_PRE) $(OUTPUT_DIR) ${PRG} ${ALLPRGS} $(EXTRA_POST)
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
stldbg-shared: $(EXTRA_PRE_STLDBG) $(OUTPUT_DIR_STLDBG) ${PRG_STLDBG} ${ALLPRGS_STLDBG} $(EXTRA_POST_STLDBG)
|
||||
|
||||
stldbg-static: $(EXTRA_PRE_STLDBG) $(OUTPUT_DIR_STLDBG) ${PRG_STLDBG} ${ALLPRGS_STLDBG} $(EXTRA_POST_STLDBG)
|
||||
endif
|
||||
|
||||
ifeq ("$(findstring $(COMPILER_NAME),bcc dmc)","")
|
||||
define cpplnk_str
|
||||
$(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(1) $(LDLIBS) ${STDLIBS} ${END_OBJ}
|
||||
endef
|
||||
else
|
||||
ifneq ($(OSNAME),linux)
|
||||
define cpplnk_str
|
||||
$(LINK.cc) $(subst /,\\,${START_OBJ} $(1) ${END_OBJ}, $(LINK_OUTPUT_OPTION), $(MAP_OUTPUT_OPTION), $(LDLIBS) ${STDLIBS},,)
|
||||
endef
|
||||
else
|
||||
define cpplnk_str
|
||||
$(LINK.cc) ${START_OBJ} $(1) ${END_OBJ}, $(LINK_OUTPUT_OPTION), $(MAP_OUTPUT_OPTION), $(LDLIBS) ${STDLIBS},,
|
||||
endef
|
||||
endif
|
||||
endif
|
||||
|
||||
define prog_lnk
|
||||
ifeq ($${_$(1)_C_SOURCES_ONLY},)
|
||||
$${$(1)_PRG}: $$($(1)_OBJ) $$(LIBSDEP)
|
||||
$$(call cpplnk_str,$$($(1)_OBJ))
|
||||
|
||||
$${$(1)_PRG_DBG}: $$($(1)_OBJ_DBG) $$(LIBSDEP)
|
||||
$$(call cpplnk_str,$$($(1)_OBJ_DBG))
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
$${$(1)_PRG_STLDBG}: $$($(1)_OBJ_STLDBG) $$(LIBSDEP)
|
||||
$$(call cpplnk_str,$$($(1)_OBJ_STLDBG))
|
||||
endif
|
||||
else
|
||||
$${$(1)_PRG}: $$($(1)_OBJ) $$(LIBSDEP)
|
||||
$$(LINK.c) $$(LINK_OUTPUT_OPTION) $$($(1)_OBJ) $$(LDLIBS)
|
||||
|
||||
$${$(1)_PRG_DBG}: $$(OBJ_DBG) $$(LIBSDEP)
|
||||
$$(LINK.c) $$(LINK_OUTPUT_OPTION) $$($(1)_OBJ_DBG) $$(LDLIBS)
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
$${$(1)_PRG_STLDBG}: $$($(1)_OBJ_STLDBG) $$(LIBSDEP)
|
||||
$$(LINK.c) $$(LINK_OUTPUT_OPTION) $$($(1)_OBJ_STLDBG) $$(LDLIBS)
|
||||
endif
|
||||
endif
|
||||
endef
|
||||
|
||||
$(foreach prg,$(PRGNAMES),$(eval $(call prog_lnk,$(prg))))
|
||||
|
||||
ifeq ("${_C_SOURCES_ONLY}","")
|
||||
${PRG}: $(OBJ) $(LIBSDEP)
|
||||
$(call cpplnk_str,$(OBJ))
|
||||
|
||||
${PRG_DBG}: $(OBJ_DBG) $(LIBSDEP)
|
||||
$(call cpplnk_str,$(OBJ_DBG))
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
${PRG_STLDBG}: $(OBJ_STLDBG) $(LIBSDEP)
|
||||
$(call cpplnk_str,$(OBJ_STLDBG))
|
||||
endif
|
||||
else
|
||||
${PRG}: $(OBJ) $(LIBSDEP)
|
||||
$(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ) $(LDLIBS)
|
||||
|
||||
${PRG_DBG}: $(OBJ_DBG) $(LIBSDEP)
|
||||
$(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ_DBG) $(LDLIBS)
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
${PRG_STLDBG}: $(OBJ_STLDBG) $(LIBSDEP)
|
||||
$(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ_STLDBG) $(LDLIBS)
|
||||
endif
|
||||
endif
|
||||
@@ -0,0 +1,61 @@
|
||||
# -*- makefile -*- Time-stamp: <08/06/12 15:54:12 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
ifdef PRGNAME
|
||||
PRG := $(OUTPUT_DIR)/${PRGNAME}${EXE}
|
||||
PRG_DBG := $(OUTPUT_DIR_DBG)/${PRGNAME}${EXE}
|
||||
PRG_STLDBG := $(OUTPUT_DIR_STLDBG)/${PRGNAME}${EXE}
|
||||
endif
|
||||
|
||||
ALLPRGS = ${PRG}
|
||||
ALLPRGS_DBG = ${PRG_DBG}
|
||||
ALLPRGS_STLDBG = ${PRG_STLDBG}
|
||||
|
||||
define prog_prog
|
||||
$(1)_PRG := $(OUTPUT_DIR)/$(1)${EXE}
|
||||
$(1)_PRG_DBG := $(OUTPUT_DIR_DBG)/$(1)${EXE}
|
||||
$(1)_PRG_STLDBG := $(OUTPUT_DIR_STLDBG)/$(1)${EXE}
|
||||
|
||||
ALLPRGS += $${$(1)_PRG}
|
||||
ALLPRGS_DBG += $${$(1)_PRG_DBG}
|
||||
ALLPRGS_STLDBG += $${$(1)_PRG_STLDBG}
|
||||
endef
|
||||
|
||||
$(foreach prg,$(PRGNAMES),$(eval $(call prog_prog,$(prg))))
|
||||
|
||||
include ${RULESBASE}/gmake/app/${COMPILER_NAME}.mak
|
||||
include ${RULESBASE}/gmake/app/rules.mak
|
||||
include ${RULESBASE}/gmake/app/rules-install.mak
|
||||
|
||||
define prog_clean
|
||||
clean::
|
||||
@rm -f $${$(1)_PRG} $${$(1)_PRG_DBG} $${$(1)_PRG_STLDBG}
|
||||
|
||||
uninstall::
|
||||
@rm -f $$(INSTALL_BIN_DIR)/$$($(1)_PRG) $$(INSTALL_BIN_DIR_DBG)/$$($(1)_PRG_DBG) $$(INSTALL_BIN_DIR_STLDBG)/$$($(1)_PRG_STLDBG)
|
||||
endef
|
||||
|
||||
clean::
|
||||
ifdef PRGNAME
|
||||
@-rm -f ${PRG} ${PRG_DBG} ${PRG_STLDBG}
|
||||
endif
|
||||
|
||||
$(foreach prg,$(PRGNAMES),$(eval $(call prog_clean,$(prg))))
|
||||
|
||||
distclean::
|
||||
@-rm -f $(DEPENDS_COLLECTION)
|
||||
@-rmdir -p ${OUTPUT_DIR} ${OUTPUT_DIR_DBG} ${OUTPUT_DIR_STLDBG} 2>/dev/null
|
||||
|
||||
uninstall::
|
||||
ifdef PRGNAME
|
||||
@-rm -f $(INSTALL_BIN_DIR)/${PRGNAME}${EXE} $(INSTALL_BIN_DIR_DBG)/${PRGNAME}${EXE} $(INSTALL_BIN_DIR_STLDBG)/${PRGNAME}${EXE}
|
||||
endif
|
||||
@-rmdir -p $(INSTALL_BIN_DIR) $(INSTALL_BIN_DIR_DBG) $(INSTALL_BIN_DIR_STLDBG) 2>/dev/null
|
||||
@@ -0,0 +1,258 @@
|
||||
# Time-stamp: <07/05/31 01:03:15 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Copyright (c) 2006, 2007
|
||||
# Francois Dumont
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
ALL_TAGS = all-static all-shared
|
||||
ifdef LIBNAME
|
||||
INSTALL_TAGS = install-static install-shared
|
||||
else
|
||||
INSTALL_TAGS = install-shared
|
||||
endif
|
||||
|
||||
ifneq ($(OSNAME),linux)
|
||||
|
||||
# For Borland Cygwin/MSys are only build environment, they do not represent
|
||||
# the targetted OS so per default we keep all generated files in STLport
|
||||
# folder.
|
||||
BASE_INSTALL_DIR ?= ${STLPORT_DIR}
|
||||
|
||||
CXX := bcc32
|
||||
CC := bcc32
|
||||
RC := brcc32
|
||||
|
||||
DEFS ?=
|
||||
OPT ?=
|
||||
|
||||
CFLAGS = -q -ff
|
||||
CXXFLAGS = -q -ff
|
||||
|
||||
OPT += -w-ccc -w-rch -w-ngu -w-inl -w-eff
|
||||
|
||||
# release-shared : OPT += -w-inl
|
||||
|
||||
ifdef WITH_DYNAMIC_RTL
|
||||
release-static : OPT += -tWR
|
||||
dbg-static : OPT += -tWR
|
||||
stldbg-static : OPT += -tWR
|
||||
endif
|
||||
|
||||
ifndef WITH_STATIC_RTL
|
||||
release-shared : OPT += -tWR
|
||||
dbg-shared : OPT += -tWR
|
||||
stldbg-shared : OPT += -tWR
|
||||
endif
|
||||
|
||||
ifdef WITHOUT_RTTI
|
||||
OPT += -RT-
|
||||
endif
|
||||
|
||||
ifndef WITHOUT_THREAD
|
||||
OPT += -tWM
|
||||
endif
|
||||
|
||||
WINVER ?= 0x0501
|
||||
DEFS += -DWINVER=$(WINVER)
|
||||
|
||||
OUTPUT_OPTION = -o$@
|
||||
LINK_OUTPUT_OPTION = $@
|
||||
CPPFLAGS = $(DEFS) $(OPT) $(INCLUDES)
|
||||
|
||||
CDEPFLAGS = -E -M
|
||||
CCDEPFLAGS = -E -M
|
||||
RCFLAGS = -32 -r -i${STLPORT_INCLUDE_DIR} -dCOMP=bcc
|
||||
|
||||
release-shared : RCFLAGS += -dBUILD_INFOS="-O2 -vi-"
|
||||
dbg-shared : RCFLAGS += -dBUILD=d -dBUILD_INFOS="-R -v -y -D_DEBUG"
|
||||
stldbg-shared : RCFLAGS += -dBUILD=stld -dBUILD_INFOS="-R -v -y -D_DEBUG -D_STLP_DEBUG"
|
||||
RC_OUTPUT_OPTION = -fo$@
|
||||
|
||||
COMPILE.rc = ${RC} ${RCFLAGS}
|
||||
LINK.cc = ilink32 $(subst /,\\,$(LDFLAGS))
|
||||
|
||||
LDFLAGS += -ap -D -Gn
|
||||
|
||||
dbg-static : DEFS += -D_DEBUG
|
||||
dbg-shared : DEFS += -D_DEBUG
|
||||
stldbg-static : DEFS += -D_DEBUG
|
||||
stldbg-shared : DEFS += -D_DEBUG
|
||||
|
||||
# STLport DEBUG mode specific defines
|
||||
stldbg-static : DEFS += -D_STLP_DEBUG
|
||||
stldbg-shared : DEFS += -D_STLP_DEBUG
|
||||
stldbg-static-dep : DEFS += -D_STLP_DEBUG
|
||||
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
|
||||
|
||||
# optimization and debug compiler flags
|
||||
release-static : OPT += -O2 -vi-
|
||||
release-shared : OPT += -O2 -vi-
|
||||
|
||||
LDLIBS += import32.lib kernel32.lib
|
||||
ifndef WITHOUT_THREAD
|
||||
ifndef WITH_STATIC_RTL
|
||||
release-shared : LDLIBS += cw32mti.lib
|
||||
dbg-shared : LDLIBS += cw32mti.lib
|
||||
stldbg-shared : LDLIBS += cw32mti.lib
|
||||
else
|
||||
release-shared : LDLIBS += cw32mt.lib
|
||||
dbg-shared : LDLIBS += cw32mt.lib
|
||||
stldbg-shared : LDLIBS += cw32mt.lib
|
||||
endif
|
||||
ifndef WITH_DYNAMIC_RTL
|
||||
release-static : LDLIBS += cw32mt.lib
|
||||
dbg-static : LDLIBS += cw32mt.lib
|
||||
stldbg-static : LDLIBS += cw32mt.lib
|
||||
else
|
||||
release-static : LDLIBS += cw32mti.lib
|
||||
dbg-static : LDLIBS += cw32mti.lib
|
||||
stldbg-static : LDLIBS += cw32mti.lib
|
||||
endif
|
||||
else
|
||||
ifndef WITH_STATIC_RTL
|
||||
release-shared : LDLIBS += cw32i.lib
|
||||
dbg-shared : LDLIBS += cw32i.lib
|
||||
stldbg-shared : LDLIBS += cw32i.lib
|
||||
else
|
||||
release-shared : LDLIBS += cw32.lib
|
||||
dbg-shared : LDLIBS += cw32.lib
|
||||
stldbg-shared : LDLIBS += cw32.lib
|
||||
endif
|
||||
ifndef WITH_DYNAMIC_RTL
|
||||
release-static : LDLIBS += cw32.lib
|
||||
dbg-static : LDLIBS += cw32.lib
|
||||
stldbg-static : LDLIBS += cw32.lib
|
||||
else
|
||||
release-static : LDLIBS += cw32i.lib
|
||||
dbg-static : LDLIBS += cw32i.lib
|
||||
stldbg-static : LDLIBS += cw32i.lib
|
||||
endif
|
||||
endif
|
||||
|
||||
# map output option (see build/Makefiles/gmake/dmc.mak)
|
||||
|
||||
MAP_OUTPUT_OPTION =
|
||||
|
||||
else # linux
|
||||
|
||||
CXX := bc++
|
||||
CC := bc++
|
||||
|
||||
DEFS ?=
|
||||
OPT ?=
|
||||
|
||||
CFLAGS = -q -ff -xp -w-par
|
||||
CXXFLAGS = -q -ff -xp -w-aus
|
||||
|
||||
DEFS += -D_NO_VCL
|
||||
|
||||
release-shared: DEFS += -D_RTLDLL
|
||||
dbg-shared: DEFS += -D_RTLDLL
|
||||
stldbg-shared: DEFS += -D_RTLDLL
|
||||
|
||||
OPT += -w-ccc -w-rch -w-ngu -w-inl -w-eff
|
||||
|
||||
ifdef WITHOUT_RTTI
|
||||
OPT += -RT-
|
||||
endif
|
||||
|
||||
ifndef WITHOUT_THREAD
|
||||
DEFS += -D__MT__
|
||||
endif
|
||||
|
||||
OUTPUT_OPTION = -o$@
|
||||
LINK_OUTPUT_OPTION = $@
|
||||
CPPFLAGS = $(DEFS) $(OPT) $(INCLUDES)
|
||||
|
||||
LINK.cc = ilink $(LDFLAGS)
|
||||
|
||||
LDFLAGS += -Gn
|
||||
|
||||
dbg-static : DEFS += -D_DEBUG
|
||||
dbg-shared : DEFS += -D_DEBUG
|
||||
stldbg-static : DEFS += -D_DEBUG
|
||||
stldbg-shared : DEFS += -D_DEBUG
|
||||
|
||||
# STLport DEBUG mode specific defines
|
||||
stldbg-static : DEFS += -D_STLP_DEBUG
|
||||
stldbg-shared : DEFS += -D_STLP_DEBUG
|
||||
stldbg-static-dep : DEFS += -D_STLP_DEBUG
|
||||
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
|
||||
|
||||
# optimization and debug compiler flags
|
||||
release-static : OPT += -O2 -vi-
|
||||
release-shared : OPT += -O2 -vi-
|
||||
|
||||
dbg-static : OPT += -R -v -y
|
||||
dbg-shared : OPT += -R -v -y
|
||||
stldbg-static : OPT += -R -v -y
|
||||
stldbg-shared : OPT += -R -v -y
|
||||
|
||||
ifndef WITHOUT_THREAD
|
||||
|
||||
ifdef LIBNAME
|
||||
release-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a
|
||||
dbg-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a
|
||||
stldbg-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a
|
||||
endif
|
||||
|
||||
ifdef PRGNAME
|
||||
release-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so ../../../lib/libstlport.so
|
||||
dbg-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so ../../../lib/libstlportg.so
|
||||
stldbg-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so ../../../lib/libstlportstlg.so
|
||||
release-static : LDLIBS += libborcrtl.a libborunwind.a libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlport.a
|
||||
dbg-static : LDLIBS += libborcrtl.a libborunwind.a libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlportg.a
|
||||
stldbg-static : LDLIBS += libborcrtl.a libborunwind.a libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlportstlg.a
|
||||
endif
|
||||
|
||||
else # single-threaded
|
||||
|
||||
ifdef LIBNAME
|
||||
release-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so libc_nonshared.a
|
||||
dbg-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so libc_nonshared.a
|
||||
stldbg-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so libc_nonshared.a
|
||||
endif
|
||||
|
||||
ifdef PRGNAME
|
||||
release-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so ../../../lib/libstlport.so
|
||||
dbg-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so ../../../lib/libstlportg.so
|
||||
stldbg-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so ../../../lib/libstlportstlg.so
|
||||
release-static : LDLIBS += libborcrtl.a libborunwind.a libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlport.a
|
||||
dbg-static : LDLIBS += libborcrtl.a libborunwind.a libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlportg.a
|
||||
stldbg-static : LDLIBS += libborcrtl.a libborunwind.a libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlportst$
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
# install dir defaults to /usr/local unless defined
|
||||
|
||||
BASE_INSTALL_DIR ?= ${SRCROOT}/..
|
||||
|
||||
endif # linux
|
||||
|
||||
ifdef EXTRA_CXXFLAGS
|
||||
CXXFLAGS += $(EXTRA_CXXFLAGS)
|
||||
endif
|
||||
|
||||
ifdef EXTRA_CFLAGS
|
||||
CFLAGS += $(EXTRA_CFLAGS)
|
||||
endif
|
||||
|
||||
# dependency output parser (dependencies collector)
|
||||
DP_OUTPUT_DIR = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
DP_OUTPUT_DIR_DBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_DBG)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
DP_OUTPUT_DIR_STLDBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_STLDBG)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
# -*- Makefile -*- Time-stamp: <07/05/31 22:18:20 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
PHONY += clean distclean mostlyclean maintainer-clean uninstall
|
||||
|
||||
define obj_clean
|
||||
clean::
|
||||
@-rm -f $$($(1)_OBJ) $$($(1)_DEP)
|
||||
@-rm -f $$($(1)_OBJ_DBG) $$($(1)_DEP_DBG)
|
||||
@-rm -f $$($(1)_OBJ_STLDBG) $$($(1)_DEP_STLDBG)
|
||||
endef
|
||||
|
||||
clean::
|
||||
@-rm -f core core.*
|
||||
ifdef PRGNAME
|
||||
@-rm -f $(OBJ) $(DEP)
|
||||
@-rm -f $(OBJ_DBG) $(DEP_DBG)
|
||||
@-rm -f $(OBJ_STLDBG) $(DEP_STLDBG)
|
||||
endif
|
||||
ifdef LIBNAME
|
||||
@-rm -f $(OBJ) $(DEP) $(_LSUPCPP_AUX_OBJ) $(_LSUPCPP_AUX_TSMP)
|
||||
@-rm -f $(OBJ_DBG) $(DEP_DBG)
|
||||
@-rm -f $(OBJ_STLDBG) $(DEP_STLDBG)
|
||||
endif
|
||||
|
||||
$(foreach prg,$(PRGNAMES),$(eval $(call obj_clean,$(prg))))
|
||||
|
||||
$(foreach prg,$(LIBNAMES),$(eval $(call obj_clean,$(prg))))
|
||||
|
||||
distclean:: clean
|
||||
# $(DEPENDS_COLLECTION) removed before directory,
|
||||
# see app/clean.mak and lib/clean.mak
|
||||
|
||||
mostlyclean:: clean
|
||||
@-rm -f $(DEPENDS_COLLECTION)
|
||||
@-rm -f TAGS tags
|
||||
|
||||
maintainer-clean:: distclean
|
||||
@rm -f ${RULESBASE}/gmake/config.mak
|
||||
@-rm -f TAGS tags
|
||||
@@ -0,0 +1,63 @@
|
||||
# Time-stamp: <03/07/31 14:20:16 ptr>
|
||||
# $Id: extern.mak 1459 2005-04-18 21:25:32Z ptr $
|
||||
|
||||
# This is Complement project (really not extern):
|
||||
|
||||
CoMT_LIB_DIR ?= ${INSTALL_LIB_DIR}
|
||||
CoMT_LIB_DIR_DBG ?= ${INSTALL_LIB_DIR_DBG}
|
||||
CoMT_LIB_DIR_STLDBG ?= ${INSTALL_LIB_DIR_STLDBG}
|
||||
CoMT_BIN_DIR ?= ${INSTALL_BIN_DIR}
|
||||
CoMT_BIN_DIR_DBG ?= ${INSTALL_BIN_DIR}
|
||||
CoMT_BIN_DIR_STLDBG ?= ${INSTALL_BIN_DIR}
|
||||
|
||||
CoMT_INCLUDE_DIR ?= ${CoMT_DIR}/include
|
||||
|
||||
# This file reflect versions of third-party libraries that
|
||||
# used in projects
|
||||
|
||||
# STLport library
|
||||
#STLPORT_LIB_DIR ?= /usr/local/lib
|
||||
#STLPORT_INCLUDE_DIR ?= /usr/local/include/stlport
|
||||
#STLPORT_VER ?= 4.5
|
||||
STLPORT_LIB_DIR ?= $(STLPORT_DIR)/lib
|
||||
STLPORT_INCLUDE_DIR ?= $(STLPORT_DIR)/stlport
|
||||
STLPORT_VER ?= 4.5.5
|
||||
|
||||
# PostgreSQL library version:
|
||||
|
||||
PG_INCLUDE ?= $(PG_DIR)/include
|
||||
PG_LIB ?= $(PG_DIR)/lib
|
||||
PG_LIB_VER_MAJOR = 2
|
||||
PG_LIB_VER_MINOR = 1
|
||||
|
||||
# Readline libraries version:
|
||||
|
||||
RL_INCLUDE ?= /usr/local/include/readline
|
||||
RL_LIB ?= /usr/local/lib
|
||||
RL_LIB_VER_MAJOR = 4
|
||||
RL_LIB_VER_MINOR = 2
|
||||
|
||||
# gSOAP (http://gsoap2.sourceforge.net)
|
||||
|
||||
gSOAP_INCLUDE_DIR ?= ${gSOAP_DIR}/include
|
||||
gSOAP_LIB_DIR ?= ${gSOAP_DIR}/lib
|
||||
gSOAP_BIN_DIR ?= ${gSOAP_DIR}/bin
|
||||
|
||||
# boost (http://www.boost.org, http://boost.sourceforge.net)
|
||||
BOOST_INCLUDE_DIR ?= ${BOOST_DIR}
|
||||
|
||||
# This file reflect versions of third-party libraries that
|
||||
# used in projects, with make-depend style
|
||||
|
||||
ifeq ($(OSNAME),sunos)
|
||||
PG_DIR ?= /opt/PGpgsql
|
||||
endif
|
||||
ifeq ($(OSNAME),linux)
|
||||
PG_DIR ?= /usr/local/pgsql
|
||||
endif
|
||||
|
||||
gSOAP_DIR ?= /opt/gSOAP-2.2.3
|
||||
BOOST_DIR ?= ${SRCROOT}/../extern/boost
|
||||
STLPORT_DIR ?= e:/STLlab/STLport
|
||||
CoMT_DIR ?= ${SRCROOT}
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
# -*- makefile -*- Time-stamp: <03/07/15 18:23:04 ptr>
|
||||
# $Id: lib.mak 3023 2007-05-16 20:01:32Z dums $
|
||||
|
||||
LIB_PREFIX ?=
|
||||
|
||||
ifeq (gcc, $(COMPILER_NAME))
|
||||
LIB_PREFIX := lib
|
||||
endif
|
||||
|
||||
ifeq (gcc, $(COMPILER_NAME))
|
||||
DBG_SUFFIX := g
|
||||
else
|
||||
DBG_SUFFIX := d
|
||||
endif
|
||||
|
||||
STLDBG_SUFFIX := stl${DBG_SUFFIX}
|
||||
|
||||
ifdef WITH_STATIC_RTL
|
||||
LIB_TYPE := _x
|
||||
else
|
||||
LIB_TYPE :=
|
||||
endif
|
||||
|
||||
ifdef LIB_MOTIF
|
||||
LIB_SUFFIX := _$(LIB_MOTIF).${MAJOR}.${MINOR}
|
||||
else
|
||||
LIB_SUFFIX := .${MAJOR}.${MINOR}
|
||||
endif
|
||||
|
||||
# Shared libraries:
|
||||
SO_NAME_BASE := $(LIB_PREFIX)${LIBNAME}${LIB_TYPE}${LIB_SUFFIX}
|
||||
SO_NAME := ${SO_NAME_BASE}.$(SO)
|
||||
LIB_NAME := ${SO_NAME_BASE}.$(LIB)
|
||||
#EXP_NAME := ${SO_NAME_BASE}.$(EXP)
|
||||
|
||||
SO_NAME_OUT := $(OUTPUT_DIR)/${SO_NAME}
|
||||
LIB_NAME_OUT := $(OUTPUT_DIR)/${LIB_NAME}
|
||||
#EXP_NAME_OUT := $(OUTPUT_DIR)/${EXP_NAME}
|
||||
|
||||
SO_NAME_DBG_BASE := $(LIB_PREFIX)${LIBNAME}${DBG_SUFFIX}${LIB_TYPE}${LIB_SUFFIX}
|
||||
SO_NAME_DBG := ${SO_NAME_DBG_BASE}.$(SO)
|
||||
LIB_NAME_DBG := ${SO_NAME_DBG_BASE}.$(LIB)
|
||||
#EXP_NAME_DBG := ${SO_NAME_DBG_BASE}.$(EXP)
|
||||
|
||||
SO_NAME_OUT_DBG := $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}
|
||||
LIB_NAME_OUT_DBG := $(OUTPUT_DIR_DBG)/${LIB_NAME_DBG}
|
||||
#EXP_NAME_OUT_DBG := $(OUTPUT_DIR_DBG)/${EXP_NAME_DBG}
|
||||
|
||||
SO_NAME_STLDBG_BASE := $(LIB_PREFIX)${LIBNAME}${STLDBG_SUFFIX}${LIB_TYPE}${LIB_SUFFIX}
|
||||
SO_NAME_STLDBG := ${SO_NAME_STLDBG_BASE}.$(SO)
|
||||
LIB_NAME_STLDBG := ${SO_NAME_STLDBG_BASE}.$(LIB)
|
||||
#EXP_NAME_STLDBG := ${SO_NAME_STLDBG_BASE}.$(EXP)
|
||||
|
||||
SO_NAME_OUT_STLDBG := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}
|
||||
LIB_NAME_OUT_STLDBG := $(OUTPUT_DIR_STLDBG)/${LIB_NAME_STLDBG}
|
||||
#EXP_NAME_OUT_STLDBG := $(OUTPUT_DIR_STLDBG)/${EXP_NAME_STLDBG}
|
||||
|
||||
# Static libraries:
|
||||
ifeq (gcc, $(COMPILER_NAME))
|
||||
A_LIB_TYPE :=
|
||||
else
|
||||
ifdef WITH_DYNAMIC_RTL
|
||||
A_LIB_TYPE := _statix
|
||||
else
|
||||
A_LIB_TYPE := _static
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef LIB_MOTIF
|
||||
LIB_A_SUFFIX := _$(LIB_MOTIF)
|
||||
else
|
||||
LIB_A_SUFFIX :=
|
||||
endif
|
||||
|
||||
A_NAME := $(LIB_PREFIX)${LIBNAME}${A_LIB_TYPE}${LIB_A_SUFFIX}.$(ARCH)
|
||||
A_NAME_OUT := $(OUTPUT_DIR_A)/$(A_NAME)
|
||||
|
||||
A_NAME_DBG := $(LIB_PREFIX)${LIBNAME}${DBG_SUFFIX}${A_LIB_TYPE}${LIB_A_SUFFIX}.${ARCH}
|
||||
A_NAME_OUT_DBG := $(OUTPUT_DIR_A_DBG)/$(A_NAME_DBG)
|
||||
|
||||
A_NAME_STLDBG := ${LIB_PREFIX}${LIBNAME}${STLDBG_SUFFIX}${A_LIB_TYPE}${LIB_A_SUFFIX}.${ARCH}
|
||||
A_NAME_OUT_STLDBG := $(OUTPUT_DIR_A_STLDBG)/$(A_NAME_STLDBG)
|
||||
@@ -0,0 +1,23 @@
|
||||
# -*- makefile -*- Time-stamp: <05/12/09 01:46:01 ptr>
|
||||
|
||||
INSTALL_TAGS ?= install-shared
|
||||
|
||||
PHONY += install $(INSTALL_TAGS)
|
||||
|
||||
install: $(INSTALL_TAGS)
|
||||
|
||||
install-release-shared: release-shared $(INSTALL_BIN_DIR) $(INSTALL_LIB_DIR)
|
||||
$(INSTALL_SO) ${SO_NAME_OUT} $(INSTALL_BIN_DIR)/
|
||||
$(INSTALL_SO) ${LIB_NAME_OUT} $(INSTALL_LIB_DIR)/
|
||||
# $(INSTALL_SO) ${EXP_NAME_OUT} $(INSTALL_LIB_DIR)/
|
||||
|
||||
install-dbg-shared: dbg-shared $(INSTALL_BIN_DIR) $(INSTALL_LIB_DIR_DBG)
|
||||
$(INSTALL_SO) ${SO_NAME_OUT_DBG} $(INSTALL_BIN_DIR)/
|
||||
$(INSTALL_SO) ${LIB_NAME_OUT_DBG} $(INSTALL_LIB_DIR_DBG)/
|
||||
# $(INSTALL_SO) ${EXP_NAME_OUT_DBG} $(INSTALL_LIB_DIR_DBG)/
|
||||
|
||||
install-stldbg-shared: stldbg-shared $(INSTALL_BIN_DIR) $(INSTALL_LIB_DIR_DBG)
|
||||
$(INSTALL_SO) ${SO_NAME_OUT_STLDBG} $(INSTALL_BIN_DIR)/
|
||||
$(INSTALL_SO) ${LIB_NAME_OUT_STLDBG} $(INSTALL_LIB_DIR_STLDBG)/
|
||||
# $(INSTALL_SO) ${EXP_NAME_OUT_STLDBG} $(INSTALL_LIB_DIR_STLDBG)/
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
# -*- makefile -*- Time-stamp: <03/10/27 18:15:05 ptr>
|
||||
# $Id: rules-so.mak 3113 2007-08-08 19:05:21Z dums $
|
||||
|
||||
# Shared libraries tags
|
||||
|
||||
PHONY += release-shared dbg-shared stldbg-shared
|
||||
|
||||
release-shared: $(OUTPUT_DIR) ${SO_NAME_OUT}
|
||||
|
||||
dbg-shared: $(OUTPUT_DIR_DBG) ${SO_NAME_OUT_DBG}
|
||||
|
||||
stldbg-shared: $(OUTPUT_DIR_STLDBG) ${SO_NAME_OUT_STLDBG}
|
||||
|
||||
ifeq (bcc, $(COMPILER_NAME))
|
||||
# Borland linker
|
||||
${SO_NAME_OUT}: $(OBJ) $(RES) $(LIBSDEP)
|
||||
$(LINK.cc) $(subst /,\\,$(START_OBJ) $(OBJ) $(END_OBJ), $(LINK_OUTPUT_OPTION), , $(LDLIBS), , $(RES))
|
||||
${SO_NAME_OUT_DBG}: $(OBJ_DBG) $(RES_DBG) $(LIBSDEP)
|
||||
$(LINK.cc) $(subst /,\\,$(START_OBJ) $(OBJ_DBG) $(END_OBJ), $(LINK_OUTPUT_OPTION), , $(LDLIBS), , $(RES_DBG))
|
||||
${SO_NAME_OUT_STLDBG}: $(OBJ_STLDBG) $(RES_STLDBG) $(LIBSDEP)
|
||||
$(LINK.cc) $(subst /,\\,$(START_OBJ) $(OBJ_STLDBG) $(END_OBJ), $(LINK_OUTPUT_OPTION), , $(LDLIBS), , $(RES_STLDBG))
|
||||
else
|
||||
ifeq (dmc, $(COMPILER_NAME))
|
||||
# Digital Mars linker
|
||||
$(SO_NAME_OUT): $(OBJ) $(RES) $(LIBSDEP)
|
||||
@echo LIBRARY "$(SO_NAME_BASE).dll" > $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo DESCRIPTION \'STLport DLL for Digital Mars C/C++\'>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo EXETYPE NT>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo SUBSYSTEM WINDOWS>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo CODE SHARED EXECUTE>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo DATA READWRITE>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo EXPORTS>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo '?cin@std@@3V?$$basic_istream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo '?cout@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo '?cerr@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo '?clog@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo '?wcin@std@@3V?$$basic_istream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo '?wcout@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo '?wcerr@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
@echo '?wclog@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
$(LINK.cc) $(subst /,\\,$(OBJ),$(LINK_OUTPUT_OPTION),$(MAP_OUTPUT_OPTION),$(LDLIBS),$(DEF_OPTION),$(RES))
|
||||
|
||||
$(SO_NAME_OUT_DBG): $(OBJ_DBG) $(RES_DBG) $(LIBSDEP)
|
||||
@echo LIBRARY "$(SO_NAME_DBG_BASE).dll" > $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo DESCRIPTION \'STLport DLL for Digital Mars C/C++\'>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo EXETYPE NT>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo SUBSYSTEM WINDOWS>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo CODE SHARED EXECUTE>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo DATA READWRITE>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo EXPORTS>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo '?cin@std@@3V?$$basic_istream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo '?cout@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo '?cerr@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo '?clog@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo '?wcin@std@@3V?$$basic_istream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo '?wcout@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo '?wcerr@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
@echo '?wclog@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
$(LINK.cc) $(subst /,\\,$(OBJ_DBG),$(LINK_OUTPUT_OPTION),$(MAP_OUTPUT_OPTION),$(LDLIBS),$(DEF_OPTION_DBG),$(RES_DBG))
|
||||
|
||||
$(SO_NAME_OUT_STLDBG): $(OBJ_STLDBG) $(RES_STLDBG) $(LIBSDEP)
|
||||
@echo LIBRARY "$(SO_NAME_STLDBG_BASE).dll" > $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo DESCRIPTION \'STLport DLL for Digital Mars C/C++\'>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo EXETYPE NT>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo SUBSYSTEM WINDOWS>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo CODE SHARED EXECUTE>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo DATA READWRITE>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo EXPORTS>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo '?cin@std@@3V?$$basic_istream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo '?cout@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo '?cerr@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo '?clog@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo '?wcin@std@@3V?$$basic_istream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo '?wcout@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo '?wcerr@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@echo '?wclog@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
$(LINK.cc) $(subst /,\\,$(OBJ_STLDBG), $(LINK_OUTPUT_OPTION), $(MAP_OUTPUT_OPTION), $(LDLIBS), $(DEF_OPTION_STLDBG), $(RES_STLDBG))
|
||||
|
||||
else
|
||||
# GNU linker
|
||||
${SO_NAME_OUT}: $(OBJ) $(RES) $(LIBSDEP) $(LSUPC++DEF)
|
||||
$(LINK.cc) $(LINK_OUTPUT_OPTION) $(OBJ) $(RES) $(LSUPC++DEF) $(LDLIBS) $(STDLIBS)
|
||||
${SO_NAME_OUT_DBG}: $(OBJ_DBG) $(RES_DBG) $(LIBSDEP) $(LSUPC++DEF)
|
||||
$(LINK.cc) $(LINK_OUTPUT_OPTION) $(OBJ_DBG) $(RES_DBG) $(LSUPC++DEF) $(LDLIBS) $(STDLIBS)
|
||||
${SO_NAME_OUT_STLDBG}: $(OBJ_STLDBG) $(RES_STLDBG) $(LIBSDEP) $(LSUPC++DEF)
|
||||
$(LINK.cc) $(LINK_OUTPUT_OPTION) $(OBJ_STLDBG) $(RES_STLDBG) $(LSUPC++DEF) $(LDLIBS) $(STDLIBS)
|
||||
endif
|
||||
endif
|
||||
@@ -0,0 +1,11 @@
|
||||
# Time-stamp: <05/09/09 21:12:38 ptr>
|
||||
# $Id: sys.mak 1802 2005-11-01 08:25:57Z complement $
|
||||
|
||||
RC := windres
|
||||
INSTALL := install
|
||||
|
||||
INSTALL_SO := ${INSTALL} -m 0755
|
||||
INSTALL_A := ${INSTALL} -m 0644
|
||||
INSTALL_EXE := ${INSTALL} -m 0755
|
||||
|
||||
EXT_TEST := test
|
||||
@@ -0,0 +1,40 @@
|
||||
# Time-stamp: <05/09/09 21:03:45 ptr>
|
||||
# $Id: targetsys.mak 2109 2006-01-22 14:15:51Z dums $
|
||||
|
||||
CC ?= gcc
|
||||
CXX ?= g++
|
||||
|
||||
# shared library:
|
||||
SO := dll
|
||||
ifeq (gcc,$(COMPILER_NAME))
|
||||
LIB := dll.a
|
||||
else
|
||||
LIB := lib
|
||||
endif
|
||||
EXP := exp
|
||||
|
||||
# executable:
|
||||
EXE := .exe
|
||||
|
||||
# static library extention:
|
||||
ifeq (dmc,$(COMPILER_NAME))
|
||||
ARCH := lib
|
||||
AR := dm_lib -n
|
||||
AR_INS_R := -c
|
||||
AR_EXTR := -x
|
||||
AR_OUT = $(subst /,\,$@)
|
||||
else
|
||||
ifeq (bcc,$(COMPILER_NAME))
|
||||
ARCH := lib
|
||||
AR := tlib
|
||||
AR_INS_R := +
|
||||
AR_EXTR := *
|
||||
AR_OUT = $(subst /,\,$@)
|
||||
else
|
||||
ARCH := a
|
||||
AR := ar
|
||||
AR_INS_R := -rs
|
||||
AR_EXTR := -x
|
||||
AR_OUT = $@
|
||||
endif
|
||||
endif
|
||||
@@ -0,0 +1,61 @@
|
||||
# -*- makefile -*- Time-stamp: <06/11/02 10:37:02 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
DBG_SUFFIX ?= g
|
||||
STLDBG_SUFFIX ?= stl${DBG_SUFFIX}
|
||||
|
||||
# Shared libraries:
|
||||
|
||||
SO_NAME := lib${LIBNAME}.$(SO)
|
||||
SO_NAMEx := lib${LIBNAME}.${MAJOR}.$(SO)
|
||||
SO_NAMExx := lib${LIBNAME}.${MAJOR}.${MINOR}.$(SO)
|
||||
SO_NAMExxx := lib${LIBNAME}.${MAJOR}.${MINOR}.${PATCH}.$(SO)
|
||||
|
||||
SO_NAME_OUT := $(OUTPUT_DIR)/${SO_NAME}
|
||||
SO_NAME_OUTx := $(OUTPUT_DIR)/${SO_NAMEx}
|
||||
SO_NAME_OUTxx := $(OUTPUT_DIR)/${SO_NAMExx}
|
||||
SO_NAME_OUTxxx := $(OUTPUT_DIR)/${SO_NAMExxx}
|
||||
|
||||
SO_NAME_DBG := lib${LIBNAME}${DBG_SUFFIX}.$(SO)
|
||||
SO_NAME_DBGx := lib${LIBNAME}${DBG_SUFFIX}.${MAJOR}.$(SO)
|
||||
SO_NAME_DBGxx := lib${LIBNAME}${DBG_SUFFIX}.${MAJOR}.${MINOR}.$(SO)
|
||||
SO_NAME_DBGxxx := lib${LIBNAME}${DBG_SUFFIX}.${MAJOR}.${MINOR}.${PATCH}.$(SO)
|
||||
|
||||
SO_NAME_OUT_DBG := $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}
|
||||
SO_NAME_OUT_DBGx := $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}
|
||||
SO_NAME_OUT_DBGxx := $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}
|
||||
SO_NAME_OUT_DBGxxx := $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxxx}
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
SO_NAME_STLDBG := lib${LIBNAME}${STLDBG_SUFFIX}.$(SO)
|
||||
SO_NAME_STLDBGx := lib${LIBNAME}${STLDBG_SUFFIX}.${MAJOR}.$(SO)
|
||||
SO_NAME_STLDBGxx := lib${LIBNAME}${STLDBG_SUFFIX}.${MAJOR}.${MINOR}.$(SO)
|
||||
SO_NAME_STLDBGxxx := lib${LIBNAME}${STLDBG_SUFFIX}.${MAJOR}.${MINOR}.${PATCH}.$(SO)
|
||||
|
||||
SO_NAME_OUT_STLDBG := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}
|
||||
SO_NAME_OUT_STLDBGx := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}
|
||||
SO_NAME_OUT_STLDBGxx := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}
|
||||
SO_NAME_OUT_STLDBGxxx := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxxx}
|
||||
# WITHOUT_STLPORT
|
||||
endif
|
||||
|
||||
# Static libraries:
|
||||
|
||||
A_NAME := lib${LIBNAME}.$(ARCH)
|
||||
A_NAME_OUT := $(OUTPUT_DIR_A)/$(A_NAME)
|
||||
|
||||
A_NAME_DBG := lib${LIBNAME}${DBG_SUFFIX}.$(ARCH)
|
||||
A_NAME_OUT_DBG := $(OUTPUT_DIR_A_DBG)/$(A_NAME_DBG)
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
A_NAME_STLDBG := lib${LIBNAME}${STLDBG_SUFFIX}.$(ARCH)
|
||||
A_NAME_OUT_STLDBG := $(OUTPUT_DIR_A_STLDBG)/$(A_NAME_STLDBG)
|
||||
endif
|
||||
@@ -0,0 +1,18 @@
|
||||
# Time-stamp: <07/03/08 21:46:12 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
INSTALL := /usr/bin/install
|
||||
|
||||
INSTALL_SO := ${INSTALL} -c -m 0755
|
||||
INSTALL_A := ${INSTALL} -c -m 0644
|
||||
INSTALL_EXE := ${INSTALL} -c -m 0755
|
||||
|
||||
EXT_TEST := test
|
||||
@@ -0,0 +1,18 @@
|
||||
# Time-stamp: <07/03/08 21:46:37 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
SO := dylib
|
||||
|
||||
ARCH := a
|
||||
AR := ar
|
||||
AR_INS_R := -r -s
|
||||
AR_EXTR := -x
|
||||
AR_OUT = $@
|
||||
@@ -0,0 +1,45 @@
|
||||
# Time-stamp: <07/02/05 12:57:11 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
PHONY += release-static-dep release-shared-dep dbg-static-dep dbg-shared-dep \
|
||||
depend
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
PHONY += stldbg-static-dep stldbg-shared-dep
|
||||
endif
|
||||
|
||||
release-static-dep release-shared-dep: $(DEP)
|
||||
|
||||
dbg-static-dep dbg-shared-dep: $(DEP_DBG)
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
stldbg-static-dep stldbg-shared-dep: $(DEP_STLDBG)
|
||||
|
||||
_ALL_DEP := $(DEP) $(DEP_DBG) $(DEP_STLDBG)
|
||||
_DASH_DEP := release-shared-dep dbg-shared-dep stldbg-shared-dep
|
||||
else
|
||||
_ALL_DEP := $(DEP) $(DEP_DBG)
|
||||
_DASH_DEP := release-shared-dep dbg-shared-dep
|
||||
endif
|
||||
|
||||
|
||||
depend:: $(OUTPUT_DIRS) ${_DASH_DEP}
|
||||
@cat -s $(_ALL_DEP) /dev/null > $(DEPENDS_COLLECTION)
|
||||
|
||||
TAGS: $(OUTPUT_DIRS) ${_DASH_DEP}
|
||||
@cat -s $(_ALL_DEP) /dev/null | sed -e 's/^.*://;s/^ *//;s/\\$$//;s/ $$//;s/ /\n/g' | sort | uniq | xargs etags -I --declarations
|
||||
|
||||
ifneq ($(OSREALNAME),mingw)
|
||||
tags: $(OUTPUT_DIRS) ${_DASH_DEP}
|
||||
@cat -s $(_ALL_DEP) /dev/null | sed -e 's/^.*://;s/^ *//;s/\\$$//;s/ $$//;s/ /\n/g' | sort | uniq | xargs ctags -d --globals --declarations -t -T
|
||||
endif
|
||||
|
||||
-include $(DEPENDS_COLLECTION)
|
||||
@@ -0,0 +1,153 @@
|
||||
# Time-stamp: <07/05/31 01:03:50 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Copyright (c) 2006, 2007
|
||||
# Francois Dumont
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
# For DMC Cygwin/MSys are only build environment, they do not represent
|
||||
# the targetted OS so per default we keep all generated files in STLport
|
||||
# folder.
|
||||
BASE_INSTALL_DIR ?= ${STLPORT_DIR}
|
||||
|
||||
ALL_TAGS = all-static all-shared
|
||||
ifdef LIBNAME
|
||||
INSTALL_TAGS = install-static install-shared
|
||||
endif
|
||||
|
||||
CXX := dmc
|
||||
CC := dmc
|
||||
|
||||
DEFS ?=
|
||||
OPT ?=
|
||||
|
||||
CFLAGS = -Ae -C -p -3 -w6 -w12
|
||||
CXXFLAGS = -Ae -C -p -3 -w12
|
||||
|
||||
DEFS += -DSTRICT
|
||||
|
||||
ifdef WITH_DYNAMIC_RTL
|
||||
release-static : OPT += -ND
|
||||
dbg-static : OPT += -ND
|
||||
stldbg-static : OPT += -ND
|
||||
endif
|
||||
|
||||
ifndef WITH_STATIC_RTL
|
||||
release-shared : OPT += -ND
|
||||
dbg-shared : OPT += -ND
|
||||
stldbg-shared : OPT += -ND
|
||||
endif
|
||||
|
||||
ifdef WITHOUT_THREAD
|
||||
DEFS += -D_STLP_NO_THREADS
|
||||
endif
|
||||
|
||||
ifndef WITHOUT_RTTI
|
||||
OPT += -Ar
|
||||
endif
|
||||
|
||||
WINVER ?= 0x0501
|
||||
DEFS += -DWINVER=$(WINVER)
|
||||
|
||||
OUTPUT_OPTION = -o$@
|
||||
LINK_OUTPUT_OPTION = $@
|
||||
CPPFLAGS = $(DEFS) $(OPT) $(INCLUDES)
|
||||
|
||||
ifdef EXTRA_CXXFLAGS
|
||||
CXXFLAGS += $(EXTRA_CXXFLAGS)
|
||||
endif
|
||||
|
||||
ifdef EXTRA_CFLAGS
|
||||
CFLAGS += $(EXTRA_CFLAGS)
|
||||
endif
|
||||
|
||||
CDEPFLAGS = -E -M
|
||||
CCDEPFLAGS = -E -M
|
||||
RCFLAGS = --include-dir=${STLPORT_INCLUDE_DIR} -DCOMP=dmc
|
||||
|
||||
release-shared : RCFLAGS += -DBUILD=r -DBUILD_INFOS="-o"
|
||||
dbg-shared : RCFLAGS += -DBUILD=g -DBUILD_INFOS="-gl -D_DEBUG"
|
||||
stldbg-shared : RCFLAGS += -DBUILD=stlg -DBUILD_INFOS="-gl -D_STLP_DEBUG"
|
||||
RC_OUTPUT_OPTION = $(OUTPUT_OPTION)
|
||||
|
||||
COMPILE.rc = ${RC} ${RCFLAGS}
|
||||
LINK.cc = link $(LDFLAGS)
|
||||
|
||||
LDLIBS += user32.lib kernel32.lib snn.lib
|
||||
|
||||
# STLport DEBUG mode specific defines
|
||||
dbg-static : DEFS += -D_DEBUG
|
||||
dbg-shared : DEFS += -D_DEBUG
|
||||
stldbg-static : DEFS += -D_DEBUG
|
||||
stldbg-shared : DEFS += -D_DEBUG
|
||||
dbg-static-dep : DEFS += -D_DEBUG
|
||||
dbg-shared-dep : DEFS += -D_DEBUG
|
||||
stldbg-static : DEFS += -D_STLP_DEBUG
|
||||
stldbg-shared : DEFS += -D_STLP_DEBUG
|
||||
stldbg-static-dep : DEFS += -D_STLP_DEBUG
|
||||
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
|
||||
|
||||
# optimization and debug compiler flags
|
||||
release-static : OPT += -o
|
||||
release-shared : OPT += -o
|
||||
dbg-static : OPT += -gl
|
||||
dbg-shared : OPT += -gl
|
||||
stldbg-static : OPT += -gl
|
||||
stldbg-shared : OPT += -gl
|
||||
|
||||
ifndef WITHOUT_THREAD
|
||||
release-static : OPT += -D_MT
|
||||
dbg-static : OPT += -D_MT
|
||||
stldbg-static : OPT += -D_MT
|
||||
endif
|
||||
|
||||
release-static : AR += -p128
|
||||
dbg-static : AR += -p512
|
||||
stldbg-static : AR += -p512
|
||||
|
||||
ifndef LIBNAME
|
||||
ifdef WITH_DYNAMIC_RTL
|
||||
release-static: DEFS += -D_STLP_USE_STATIC_LIB
|
||||
dbg-static: DEFS += -D_STLP_USE_STATIC_LIB
|
||||
stldbg-static: DEFS += -D_STLP_USE_STATIC_LIB
|
||||
endif
|
||||
ifdef WITH_STATIC_RTL
|
||||
release-shared: DEFS += -D_STLP_USE_DYNAMIC_LIB
|
||||
dbg-shared: DEFS += -D_STLP_USE_DYNAMIC_LIB
|
||||
stldbg-shared: DEFS += -D_STLP_USE_DYNAMIC_LIB
|
||||
endif
|
||||
endif
|
||||
|
||||
# map output option (move map files to output dir)
|
||||
|
||||
ifdef LIBNAME
|
||||
release-shared: MAP_OUTPUT_OPTION = $(OUTPUT_DIR)/$(SO_NAME_BASE).map
|
||||
dbg-shared: MAP_OUTPUT_OPTION = $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).map
|
||||
stldbg-shared: MAP_OUTPUT_OPTION = $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).map
|
||||
else
|
||||
release-shared: MAP_OUTPUT_OPTION = $(OUTPUT_DIR)/$(PRGNAME).map
|
||||
release-static: MAP_OUTPUT_OPTION = $(OUTPUT_DIR)/$(PRGNAME).map
|
||||
dbg-shared: MAP_OUTPUT_OPTION = $(OUTPUT_DIR_DBG)/$(PRGNAME).map
|
||||
dbg-static: MAP_OUTPUT_OPTION = $(OUTPUT_DIR_DBG)/$(PRGNAME).map
|
||||
stldbg-shared: MAP_OUTPUT_OPTION = $(OUTPUT_DIR_STLDBG)/$(PRGNAME).map
|
||||
stldbg-static: MAP_OUTPUT_OPTION = $(OUTPUT_DIR_STLDBG)/$(PRGNAME).map
|
||||
endif
|
||||
|
||||
# dependency output parser (dependencies collector)
|
||||
|
||||
DP_OUTPUT_DIR = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
DP_OUTPUT_DIR_DBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_DBG)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
DP_OUTPUT_DIR_STLDBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_STLDBG)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
# Time-stamp: <07/05/31 10:14:29 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
# boost (http://www.boost.org, http://boost.sourceforge.net)
|
||||
|
||||
# ifdef BOOST_DIR
|
||||
# BOOST_INCLUDE_DIR ?= ${BOOST_DIR}
|
||||
# endif
|
||||
|
||||
ifdef STLP_BUILD_BOOST_PATH
|
||||
BOOST_INCLUDE_DIR ?= ${STLP_BUILD_BOOST_PATH}
|
||||
endif
|
||||
|
||||
# STLport library
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
STLPORT_DIR ?= ${SRCROOT}/..
|
||||
endif
|
||||
|
||||
ifdef STLPORT_DIR
|
||||
STLPORT_LIB_DIR ?= $(STLPORT_DIR)/${TARGET_NAME}lib
|
||||
STLPORT_INCLUDE_DIR ?= $(STLPORT_DIR)/stlport
|
||||
endif
|
||||
@@ -0,0 +1,18 @@
|
||||
# Time-stamp: <07/03/08 21:50:00 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
INSTALL := /usr/bin/install
|
||||
|
||||
INSTALL_SO := ${INSTALL} -c -m 0755
|
||||
INSTALL_A := ${INSTALL} -c -m 0644
|
||||
INSTALL_EXE := ${INSTALL} -c -m 0755
|
||||
|
||||
EXT_TEST := test
|
||||
@@ -0,0 +1,18 @@
|
||||
# Time-stamp: <07/03/08 21:50:23 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
SO := so
|
||||
|
||||
ARCH := a
|
||||
AR := ar
|
||||
AR_INS_R := -r
|
||||
AR_EXTR := -x
|
||||
AR_OUT = $@
|
||||
@@ -0,0 +1,271 @@
|
||||
# Time-stamp: <08/02/28 10:25:46 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
ifndef _FORCE_CXX
|
||||
CXX := c++
|
||||
else
|
||||
CXX := ${_FORCE_CXX}
|
||||
endif
|
||||
|
||||
ifndef _FORCE_CC
|
||||
CC := gcc
|
||||
else
|
||||
CC := ${_FORCE_CC}
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME), cygming)
|
||||
RC := windres
|
||||
endif
|
||||
|
||||
ifdef TARGET_OS
|
||||
CXX := ${TARGET_OS}-${CXX}
|
||||
CC := ${TARGET_OS}-${CC}
|
||||
AS := ${TARGET_OS}-${AS}
|
||||
endif
|
||||
|
||||
CXX_VERSION := $(shell ${CXX} -dumpversion)
|
||||
CXX_VERSION_MAJOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$1; }')
|
||||
CXX_VERSION_MINOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$2; }')
|
||||
CXX_VERSION_PATCH := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$3; }')
|
||||
|
||||
# Check that we need option -fuse-cxa-atexit for compiler
|
||||
_CXA_ATEXIT := $(shell ${CXX} -v 2>&1 | grep -q -e "--enable-__cxa_atexit" || echo "-fuse-cxa-atexit")
|
||||
|
||||
ifeq ($(OSNAME), darwin)
|
||||
# This is to differentiate Apple-builded compiler from original
|
||||
# GNU compiler (it has different behaviour)
|
||||
ifneq ("$(shell ${CXX} -v 2>&1 | grep Apple)", "")
|
||||
GCC_APPLE_CC := 1
|
||||
endif
|
||||
endif
|
||||
|
||||
DEFS ?=
|
||||
OPT ?=
|
||||
|
||||
ifdef WITHOUT_STLPORT
|
||||
INCLUDES =
|
||||
else
|
||||
INCLUDES = -I${STLPORT_INCLUDE_DIR}
|
||||
endif
|
||||
|
||||
ifdef BOOST_INCLUDE_DIR
|
||||
INCLUDES += -I${BOOST_INCLUDE_DIR}
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME), cygming)
|
||||
ifeq ($(OSREALNAME), mingw)
|
||||
# MinGW has problem with /usr/local reference in gcc or linker command line so
|
||||
# we use a local install for this platform.
|
||||
BASE_INSTALL_DIR ?= ${STLPORT_DIR}
|
||||
endif
|
||||
endif
|
||||
|
||||
OUTPUT_OPTION = -o $@
|
||||
LINK_OUTPUT_OPTION = ${OUTPUT_OPTION}
|
||||
CPPFLAGS = $(DEFS) $(INCLUDES)
|
||||
|
||||
ifdef WITHOUT_RTTI
|
||||
# -fno-rtti shouldn't be pass to the C compiler, we cannot use OPT so we add it
|
||||
# directly to the compiler command name.
|
||||
CXX += -fno-rtti
|
||||
ifdef STLP_BUILD
|
||||
# gcc do not define any macro to signal that there is no rtti support:
|
||||
DEFS += -D_STLP_NO_RTTI
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME), cygming)
|
||||
WINVER ?= 0x0501
|
||||
RCFLAGS = --include-dir=${STLPORT_INCLUDE_DIR} --output-format coff -DCOMP=gcc
|
||||
release-shared : RCFLAGS += -DBUILD_INFOS=-O2
|
||||
dbg-shared : RCFLAGS += -DBUILD=g -DBUILD_INFOS=-g
|
||||
stldbg-shared : RCFLAGS += -DBUILD=stlg -DBUILD_INFOS="-g -D_STLP_DEBUG"
|
||||
RC_OUTPUT_OPTION = -o $@
|
||||
CXXFLAGS = -Wall -Wsign-promo -Wcast-qual -fexceptions
|
||||
ifndef WITHOUT_THREAD
|
||||
ifeq ($(OSREALNAME), mingw)
|
||||
CCFLAGS += -mthreads
|
||||
CFLAGS += -mthreads
|
||||
CXXFLAGS += -mthreads
|
||||
ifeq ($(CXX_VERSION_MAJOR),2)
|
||||
CCFLAGS += -fvtable-thunks
|
||||
CFLAGS += -fvtable-thunks
|
||||
CXXFLAGS += -fvtable-thunks
|
||||
endif
|
||||
else
|
||||
ifneq (,$(findstring no-cygwin,$(EXTRA_CXXFLAGS)))
|
||||
CCFLAGS += -mthreads
|
||||
CFLAGS += -mthreads
|
||||
CXXFLAGS += -mthreads
|
||||
else
|
||||
DEFS += -D_REENTRANT
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
CCFLAGS += $(OPT)
|
||||
CFLAGS += $(OPT)
|
||||
CXXFLAGS += $(OPT)
|
||||
COMPILE.rc = $(RC) $(RCFLAGS)
|
||||
release-static : DEFS += -D_STLP_USE_STATIC_LIB
|
||||
dbg-static : DEFS += -D_STLP_USE_STATIC_LIB
|
||||
stldbg-static : DEFS += -D_STLP_USE_STATIC_LIB
|
||||
ifeq ($(OSREALNAME), mingw)
|
||||
dbg-shared : DEFS += -D_DEBUG
|
||||
stldbg-shared : DEFS += -D_DEBUG
|
||||
dbg-static : DEFS += -D_DEBUG
|
||||
stldbg-static : DEFS += -D_DEBUG
|
||||
DEFS += -DWINVER=${WINVER}
|
||||
else
|
||||
# When using the -mno-cygwin option we need to take into account WINVER.
|
||||
# As there is no DEFS for C compiler and an other for C++ we use CFLAGS
|
||||
# and CXXFLAGS
|
||||
ifdef EXTRA_CXXFLAGS
|
||||
ifneq (,$(findstring no-cygwin,$(EXTRA_CXXFLAGS)))
|
||||
CXXFLAGS += -DWINVER=${WINVER}
|
||||
endif
|
||||
endif
|
||||
ifdef EXTRA_CFLAGS
|
||||
ifneq (,$(findstring no-cygwin,$(EXTRA_CFLAGS)))
|
||||
CFLAGS += -DWINVER=${WINVER}
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef WITHOUT_THREAD
|
||||
PTHREAD := -pthread
|
||||
else
|
||||
PTHREAD :=
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),sunos)
|
||||
ifndef WITHOUT_THREAD
|
||||
PTHREADS := -pthreads
|
||||
else
|
||||
PTHREADS :=
|
||||
endif
|
||||
|
||||
CCFLAGS = $(PTHREADS) $(OPT)
|
||||
CFLAGS = $(PTHREADS) $(OPT)
|
||||
# CXXFLAGS = $(PTHREADS) -nostdinc++ -fexceptions $(OPT)
|
||||
CXXFLAGS = $(PTHREADS) -fexceptions $(OPT)
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),linux)
|
||||
CCFLAGS = $(PTHREAD) $(OPT)
|
||||
CFLAGS = $(PTHREAD) $(OPT)
|
||||
# CXXFLAGS = $(PTHREAD) -nostdinc++ -fexceptions $(OPT)
|
||||
CXXFLAGS = $(PTHREAD) -fexceptions $(OPT)
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),openbsd)
|
||||
CCFLAGS = $(PTHREAD) $(OPT)
|
||||
CFLAGS = $(PTHREAD) $(OPT)
|
||||
# CXXFLAGS = $(PTHREAD) -nostdinc++ -fexceptions $(OPT)
|
||||
CXXFLAGS = $(PTHREAD) -fexceptions $(OPT)
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),freebsd)
|
||||
CCFLAGS = $(PTHREAD) $(OPT)
|
||||
CFLAGS = $(PTHREAD) $(OPT)
|
||||
ifndef WITHOUT_THREAD
|
||||
DEFS += -D_REENTRANT
|
||||
endif
|
||||
# CXXFLAGS = $(PTHREAD) -nostdinc++ -fexceptions $(OPT)
|
||||
CXXFLAGS = $(PTHREAD) -fexceptions $(OPT)
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),darwin)
|
||||
CCFLAGS = $(OPT)
|
||||
CFLAGS = $(OPT)
|
||||
ifndef WITHOUT_THREAD
|
||||
DEFS += -D_REENTRANT
|
||||
endif
|
||||
CXXFLAGS = -fexceptions $(OPT)
|
||||
release-shared : CXXFLAGS += -dynamic
|
||||
dbg-shared : CXXFLAGS += -dynamic
|
||||
stldbg-shared : CXXFLAGS += -dynamic
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),hp-ux)
|
||||
ifneq ($(M_ARCH),ia64)
|
||||
release-static : OPT += -fno-reorder-blocks
|
||||
release-shared : OPT += -fno-reorder-blocks
|
||||
endif
|
||||
CCFLAGS = $(PTHREAD) $(OPT)
|
||||
CFLAGS = $(PTHREAD) $(OPT)
|
||||
# CXXFLAGS = $(PTHREAD) -nostdinc++ -fexceptions $(OPT)
|
||||
CXXFLAGS = $(PTHREAD) -fexceptions $(OPT)
|
||||
endif
|
||||
|
||||
ifeq ($(CXX_VERSION_MAJOR),2)
|
||||
CXXFLAGS += -ftemplate-depth-32
|
||||
endif
|
||||
|
||||
# Required for correct order of static objects dtors calls:
|
||||
ifeq ("$(findstring $(OSNAME),darwin cygming)","")
|
||||
ifneq ($(CXX_VERSION_MAJOR),2)
|
||||
CXXFLAGS += $(_CXA_ATEXIT)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Code should be ready for this option
|
||||
ifneq ($(OSNAME),cygming)
|
||||
ifneq ($(CXX_VERSION_MAJOR),2)
|
||||
ifneq ($(CXX_VERSION_MAJOR),3)
|
||||
CXXFLAGS += -fvisibility=hidden
|
||||
CFLAGS += -fvisibility=hidden
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef EXTRA_CXXFLAGS
|
||||
CXXFLAGS += ${EXTRA_CXXFLAGS}
|
||||
endif
|
||||
|
||||
ifdef EXTRA_CFLAGS
|
||||
CFLAGS += ${EXTRA_CFLAGS}
|
||||
endif
|
||||
|
||||
CDEPFLAGS = -E -M
|
||||
CCDEPFLAGS = -E -M
|
||||
|
||||
# STLport DEBUG mode specific defines
|
||||
stldbg-static : DEFS += -D_STLP_DEBUG
|
||||
stldbg-shared : DEFS += -D_STLP_DEBUG
|
||||
stldbg-static-dep : DEFS += -D_STLP_DEBUG
|
||||
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
|
||||
|
||||
# optimization and debug compiler flags
|
||||
release-static : OPT += -O2
|
||||
release-shared : OPT += -O2
|
||||
|
||||
dbg-static : OPT += -g
|
||||
dbg-shared : OPT += -g
|
||||
#dbg-static-dep : OPT += -g
|
||||
#dbg-shared-dep : OPT += -g
|
||||
|
||||
stldbg-static : OPT += -g
|
||||
stldbg-shared : OPT += -g
|
||||
#stldbg-static-dep : OPT += -g
|
||||
#stldbg-shared-dep : OPT += -g
|
||||
|
||||
# dependency output parser (dependencies collector)
|
||||
|
||||
DP_OUTPUT_DIR = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
DP_OUTPUT_DIR_DBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_DBG)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
DP_OUTPUT_DIR_STLDBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_STLDBG)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
# Time-stamp: <07/05/31 00:47:11 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Copyright (c) 2006, 2007
|
||||
# Francois Dumont
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
INSTALL := cp
|
||||
|
||||
INSTALL_SO := ${INSTALL}
|
||||
INSTALL_A := ${INSTALL}
|
||||
INSTALL_EXE := ${INSTALL}
|
||||
|
||||
EXT_TEST := /usr/bin/test
|
||||
@@ -0,0 +1,22 @@
|
||||
# Time-stamp: <08/01/29 09:40:35 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
ifeq ($(M_ARCH),ia64)
|
||||
SO := so
|
||||
else
|
||||
SO := sl
|
||||
endif
|
||||
|
||||
ARCH := a
|
||||
AR := ar
|
||||
AR_INS_R := -rs
|
||||
AR_EXTR := -x
|
||||
AR_OUT = $@
|
||||
@@ -0,0 +1,85 @@
|
||||
# Time-stamp: <07/03/08 21:41:21 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
#INCLUDES :=
|
||||
|
||||
CXX := icpc
|
||||
CC := icc
|
||||
|
||||
ifdef TARGET_OS
|
||||
# CXX := ${TARGET_OS}-c++
|
||||
# CC := ${TARGET_OS}-gcc
|
||||
endif
|
||||
|
||||
CXX_VERSION := $(shell ${CXX} --version | awk 'NR == 1 {print $$3; }')
|
||||
# if we didn't get anything from that, use the old style for versions < 9
|
||||
ifeq (${CXX_VERSION},)
|
||||
CXX_VERSION := $(shell ${CXX} --version)
|
||||
endif
|
||||
|
||||
CXX_VERSION_MAJOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$1; }')
|
||||
CXX_VERSION_MINOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$2; }')
|
||||
# CXX_VERSION_PATCH := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$3; }')
|
||||
|
||||
SYSINCLUDES := -I$(shell which icpc | xargs dirname | xargs dirname)/include/c++
|
||||
|
||||
DEFS ?=
|
||||
OPT ?=
|
||||
|
||||
ifndef WITHOUT_THREAD
|
||||
DEFS += -D_REENTRANT
|
||||
endif
|
||||
|
||||
OUTPUT_OPTION = -o $@
|
||||
LINK_OUTPUT_OPTION = ${OUTPUT_OPTION}
|
||||
CPPFLAGS = $(DEFS) $(INCLUDES) $(SYSINCLUDES)
|
||||
|
||||
ifeq ($(OSNAME),linux)
|
||||
CCFLAGS = $(OPT)
|
||||
CFLAGS = $(OPT)
|
||||
# CXXFLAGS = -pthread -nostdinc++ -fexceptions -fident $(OPT)
|
||||
CXXFLAGS = $(OPT)
|
||||
endif
|
||||
|
||||
CDEPFLAGS = -E -M
|
||||
CCDEPFLAGS = -E -M
|
||||
|
||||
# STLport DEBUG mode specific defines
|
||||
stldbg-static : DEFS += -D_STLP_DEBUG
|
||||
stldbg-shared : DEFS += -D_STLP_DEBUG
|
||||
stldbg-static-dep : DEFS += -D_STLP_DEBUG
|
||||
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
|
||||
|
||||
# optimization and debug compiler flags
|
||||
release-static : OPT += -O2
|
||||
release-shared : OPT += -O2
|
||||
|
||||
dbg-static : OPT += -g
|
||||
dbg-shared : OPT += -g
|
||||
#dbg-static-dep : OPT += -g
|
||||
#dbg-shared-dep : OPT += -g
|
||||
|
||||
stldbg-static : OPT += -g
|
||||
stldbg-shared : OPT += -g
|
||||
#stldbg-static-dep : OPT += -g
|
||||
#stldbg-shared-dep : OPT += -g
|
||||
|
||||
# dependency output parser (dependencies collector)
|
||||
|
||||
DP_OUTPUT_DIR = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
DP_OUTPUT_DIR_DBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_DBG)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
DP_OUTPUT_DIR_STLDBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_STLDBG)/\1.o $@ : |g' > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
# -*- makefile -*- Time-stamp: <08/06/12 14:58:49 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
OPT += -xcode=pic32
|
||||
|
||||
dbg-shared: LDFLAGS += -G -Qoption ld -z,initfirst -h$(SO_NAME_DBGxx) ${NOSTDLIB}
|
||||
stldbg-shared: LDFLAGS += -G -Qoption ld -z,initfirst -h$(SO_NAME_STLDBGxx) ${NOSTDLIB}
|
||||
release-shared: LDFLAGS += -G -Qoption ld -z,initfirst -h$(SO_NAMExx) ${NOSTDLIB}
|
||||
|
||||
DEPENDS_COLLECTION_SUNPRO := $(DEPENDS_COLLECTION).sunpro
|
||||
|
||||
compiler-dep :: $(DEPENDS_COLLECTION_SUNPRO)
|
||||
|
||||
STD_HEADER_LISTS = $(STLPORT_ETC_DIR)/std_headers.txt \
|
||||
$(STLPORT_ETC_DIR)/std_headers_cpp_runtime_h.txt \
|
||||
$(STLPORT_ETC_DIR)/std_headers_c.txt \
|
||||
$(STLPORT_ETC_DIR)/std_headers_c_h.txt \
|
||||
$(STLPORT_ETC_DIR)/std_headers_classic_iostreams.txt \
|
||||
$(STLPORT_ETC_DIR)/std_headers_cpp_runtime.txt
|
||||
|
||||
$(DEPENDS_COLLECTION_SUNPRO) : $(STD_HEADER_LISTS)
|
||||
@echo "Linking header files required for SunPro compiler"
|
||||
@for file in `cat $(STD_HEADER_LISTS)`; do \
|
||||
echo "." | awk '{printf("%s", $$0)}' ; \
|
||||
(cd $(STLPORT_INCLUDE_DIR) ; rm -f $$file.SUNWCCh; ln -s ./$$file $$file.SUNWCCh) ; \
|
||||
done; echo ""
|
||||
@cat $(STD_HEADER_LISTS) | awk '{print "$(STLPORT_INCLUDE_DIR)/" $$0 ".SUNWCCh : $(STLPORT_INCLUDE_DIR)/" $$0 }' > $@
|
||||
@@ -0,0 +1,14 @@
|
||||
# -*- makefile -*- Time-stamp: <08/06/12 14:59:23 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
dbg-shared: LDFLAGS += -b +nostl -Wl,+h$(SO_NAME_DBGxx)
|
||||
stldbg-shared: LDFLAGS += -b +nostl -Wl,+h$(SO_NAME_STLDBGxx)
|
||||
release-shared: LDFLAGS += -b +nostl -Wl,+h$(SO_NAMExx)
|
||||
@@ -0,0 +1,83 @@
|
||||
# -*- makefile -*- Time-stamp: <07/05/31 01:29:22 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Copyright (c) 2006, 2007
|
||||
# Francois Dumont
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
release-shared : LDFLAGS += -Tpd -w -w-dup
|
||||
dbg-shared : LDFLAGS += -Tpd -w -w-dup
|
||||
stldbg-shared : LDFLAGS += -Tpd -w -w-dup
|
||||
|
||||
ifneq ($(OSNAME),linux)
|
||||
|
||||
release-shared : LDFLAGS += -V4.0 -Gi
|
||||
dbg-shared : LDFLAGS += -V4.0 -Gi
|
||||
stldbg-shared : LDFLAGS += -V4.0 -Gi
|
||||
|
||||
release-shared : OPT += -tWD
|
||||
dbg-shared : OPT += -tWD
|
||||
stldbg-shared : OPT += -tWD
|
||||
|
||||
START_OBJ := c0d32.obj
|
||||
|
||||
else
|
||||
|
||||
release-shared : OPT += -tD -VP
|
||||
dbg-shared : OPT += -tD -VP
|
||||
stldbg-shared : OPT += -tD -VP
|
||||
|
||||
release-shared: DEFS += -D_DLL
|
||||
dbg-shared: DEFS += -D_DLL
|
||||
stldbg-shared: DEFS += -D_DLL
|
||||
|
||||
START_OBJ := borinitso.o
|
||||
|
||||
endif
|
||||
|
||||
# optimization and debug compiler flags
|
||||
|
||||
dbg-static : OPT += -R -v -y
|
||||
dbg-shared : OPT += -R -v -y
|
||||
stldbg-static : OPT += -R -v -y
|
||||
stldbg-shared : OPT += -R -v -y
|
||||
|
||||
dbg-shared : LDFLAGS += -v
|
||||
dbg-static : LDFLAGS += -v
|
||||
stldbg-shared : LDFLAGS += -v
|
||||
stldbg-static : LDFLAGS += -v
|
||||
|
||||
install-shared: install-release-shared install-dbg-shared install-stldbg-shared
|
||||
install: install-shared
|
||||
|
||||
ifneq ($(OSNAME),linux)
|
||||
install-dbg-shared: install-dbg-shared-tds
|
||||
install-stldbg-shared: install-stldbg-shared-tds
|
||||
endif
|
||||
|
||||
BASE_LIBNAME := $(LIB_PREFIX)${LIBNAME}${LIB_TYPE}${LIB_SUFFIX}
|
||||
BASE_LIBNAME_DBG := $(LIB_PREFIX)${LIBNAME}${DBG_SUFFIX}${LIB_TYPE}${LIB_SUFFIX}
|
||||
BASE_LIBNAME_STLDBG := $(LIB_PREFIX)${LIBNAME}${STLDBG_SUFFIX}${LIB_TYPE}${LIB_SUFFIX}
|
||||
BASE_LIBNAMES = ${BASE_LIBNAME} ${BASE_LIBNAME_DBG} ${BASE_LIBNAME_STLDBG}
|
||||
BASE_LIB_EXTS = lib dll tds map res
|
||||
LIB_FILES := $(foreach n,$(BASE_LIBNAMES),$(foreach e,$(BASE_LIB_EXTS),$(n).$(e)))
|
||||
|
||||
install-dbg-shared-tds:
|
||||
$(INSTALL_SO) $(OUTPUT_DIR_DBG)/${BASE_LIBNAME_DBG}.tds $(INSTALL_BIN_DIR)/
|
||||
|
||||
install-stldbg-shared-tds:
|
||||
$(INSTALL_SO) $(OUTPUT_DIR_STLDBG)/${BASE_LIBNAME_STLDBG}.tds $(INSTALL_BIN_DIR)/
|
||||
|
||||
clean::
|
||||
$(foreach d,$(OUTPUT_DIRS),$(foreach f,$(LIB_FILES),@rm -f $(d)/$(f)))
|
||||
|
||||
uninstall::
|
||||
$(foreach d,$(INSTALL_DIRS),$(foreach f,$(LIB_FILES),@rm -f $(d)/$(f)))
|
||||
$(foreach d,$(INSTALL_DIRS),@-rmdir -p $(d) 2>/dev/null)
|
||||
@@ -0,0 +1,115 @@
|
||||
# -*- makefile -*- Time-stamp: <07/05/31 22:15:12 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
define lib_clean
|
||||
clean::
|
||||
@-rm -f $${$(1)_SO_NAME_OUT}
|
||||
@-rm -f $${$(1)_SO_NAME_OUTx}
|
||||
@-rm -f $${$(1)_SO_NAME_OUTxx}
|
||||
@-rm -f $${$(1)_SO_NAME_OUTxxx}
|
||||
@-rm -f $${$(1)_SO_NAME_OUT_DBG}
|
||||
@-rm -f $${$(1)_SO_NAME_OUT_DBGx}
|
||||
@-rm -f $${$(1)_SO_NAME_OUT_DBGxx}
|
||||
@-rm -f $${$(1)_SO_NAME_OUT_DBGxxx}
|
||||
@-rm -f $${$(1)_SO_NAME_OUT_STLDBG}
|
||||
@-rm -f $${$(1)_SO_NAME_OUT_STLDBGx}
|
||||
@-rm -f $${$(1)_SO_NAME_OUT_STLDBGxx}
|
||||
@-rm -f $${$(1)_SO_NAME_OUT_STLDBGxxx}
|
||||
@-rm -f $${$(1)_A_NAME_OUT}
|
||||
@-rm -f $${$(1)_A_NAME_OUT_DBG}
|
||||
@-rm -f $${$(1)_A_NAME_OUT_STLDBG}
|
||||
ifeq ($(OSNAME), cygming)
|
||||
@-rm -f $${$(1)_LIB_NAME_OUT}
|
||||
@-rm -f $${$(1)_LIB_NAME_OUT_DBG}
|
||||
@-rm -f $${$(1)_LIB_NAME_OUT_STLDBG}
|
||||
@-rm -f $${$(1)_RES}
|
||||
@-rm -f $${$(1)_RES_DBG}
|
||||
@-rm -f $${$(1)_RES_STLDBG}
|
||||
ifneq ($(OSREALNAME), mingw)
|
||||
@-rm -f ${LSUPC++DEF}
|
||||
endif
|
||||
endif
|
||||
|
||||
uninstall::
|
||||
@-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAME)
|
||||
@-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAMEx)
|
||||
@-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAMExx)
|
||||
@-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAMExxx)
|
||||
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBG)
|
||||
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBGx)
|
||||
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBGxx)
|
||||
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBGxxx)
|
||||
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBG)
|
||||
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBGx)
|
||||
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBGxx)
|
||||
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBGxxx)
|
||||
@-rm -f $$(INSTALL_LIB_DIR)/$${$(1)_A_NAME_OUT}
|
||||
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$${$(1)_A_NAME_OUT_DBG}
|
||||
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$${$(1)_A_NAME_OUT_STLDBG}
|
||||
@-rmdir -p $$(INSTALL_LIB_DIR) $$(INSTALL_LIB_DIR_DBG) $$(INSTALL_LIB_DIR_STLDBG) 2>/dev/null
|
||||
endef
|
||||
|
||||
$(foreach nm,$(LIBNAMES),$(eval $(call lib_clean,$(nm))))
|
||||
|
||||
clean::
|
||||
ifdef LIBNAME
|
||||
@-rm -f ${SO_NAME_OUT}
|
||||
@-rm -f ${SO_NAME_OUTx}
|
||||
@-rm -f ${SO_NAME_OUTxx}
|
||||
@-rm -f ${SO_NAME_OUTxxx}
|
||||
@-rm -f ${SO_NAME_OUT_DBG}
|
||||
@-rm -f ${SO_NAME_OUT_DBGx}
|
||||
@-rm -f ${SO_NAME_OUT_DBGxx}
|
||||
@-rm -f ${SO_NAME_OUT_DBGxxx}
|
||||
@-rm -f ${SO_NAME_OUT_STLDBG}
|
||||
@-rm -f ${SO_NAME_OUT_STLDBGx}
|
||||
@-rm -f ${SO_NAME_OUT_STLDBGxx}
|
||||
@-rm -f ${SO_NAME_OUT_STLDBGxxx}
|
||||
@-rm -f ${A_NAME_OUT}
|
||||
@-rm -f ${A_NAME_OUT_DBG}
|
||||
@-rm -f ${A_NAME_OUT_STLDBG}
|
||||
ifeq ($(OSNAME), cygming)
|
||||
@-rm -f ${LIB_NAME_OUT}
|
||||
@-rm -f ${LIB_NAME_OUT_DBG}
|
||||
@-rm -f ${LIB_NAME_OUT_STLDBG}
|
||||
@-rm -f ${RES}
|
||||
@-rm -f ${RES_DBG}
|
||||
@-rm -f ${RES_STLDBG}
|
||||
ifneq ($(OSREALNAME), mingw)
|
||||
@-rm -f ${LSUPC++DEF}
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
distclean::
|
||||
@-rm -f $(DEPENDS_COLLECTION)
|
||||
@-rmdir -p $(AUX_DIR) ${OUTPUT_DIR} ${OUTPUT_DIR_DBG} ${OUTPUT_DIR_STLDBG} 2>/dev/null
|
||||
|
||||
uninstall::
|
||||
ifdef LIBNAME
|
||||
@-rm -f $(INSTALL_LIB_DIR)/$(SO_NAME)
|
||||
@-rm -f $(INSTALL_LIB_DIR)/$(SO_NAMEx)
|
||||
@-rm -f $(INSTALL_LIB_DIR)/$(SO_NAMExx)
|
||||
@-rm -f $(INSTALL_LIB_DIR)/$(SO_NAMExxx)
|
||||
@-rm -f $(INSTALL_LIB_DIR_DBG)/$(SO_NAME_DBG)
|
||||
@-rm -f $(INSTALL_LIB_DIR_DBG)/$(SO_NAME_DBGx)
|
||||
@-rm -f $(INSTALL_LIB_DIR_DBG)/$(SO_NAME_DBGxx)
|
||||
@-rm -f $(INSTALL_LIB_DIR_DBG)/$(SO_NAME_DBGxxx)
|
||||
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/$(SO_NAME_STLDBG)
|
||||
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/$(SO_NAME_STLDBGx)
|
||||
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/$(SO_NAME_STLDBGxx)
|
||||
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/$(SO_NAME_STLDBGxxx)
|
||||
@-rm -f $(INSTALL_LIB_DIR)/${A_NAME_OUT}
|
||||
@-rm -f $(INSTALL_LIB_DIR_DBG)/${A_NAME_OUT_DBG}
|
||||
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/${A_NAME_OUT_STLDBG}
|
||||
endif
|
||||
@-rmdir -p $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_STLDBG) 2>/dev/null
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
# -*- makefile -*- Time-stamp: <07/05/31 01:29:36 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Copyright (c) 2006, 2007
|
||||
# Francois Dumont
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
release-shared: OPT += -WD
|
||||
dbg-shared: OPT += -WD
|
||||
stldbg-shared: OPT += -WD
|
||||
|
||||
release-shared: LDFLAGS += /DELEXECUTABLE/IMPLIB:$(subst /,\\,$(OUTPUT_DIR)/$(SO_NAME_BASE).lib)
|
||||
dbg-shared: LDFLAGS += /CODEVIEW/DELEXECUTABLE/IMPLIB:$(subst /,\\,$(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).lib)
|
||||
stldbg-shared: LDFLAGS += /CODEVIEW/DELEXECUTABLE/IMPLIB:$(subst /,\\,$(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).lib)
|
||||
|
||||
DEF_OPTION = $(OUTPUT_DIR)/$(SO_NAME_BASE).def
|
||||
DEF_OPTION_DBG = $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
|
||||
DEF_OPTION_STLDBG = $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
|
||||
@@ -0,0 +1,311 @@
|
||||
# -*- makefile -*- Time-stamp: <08/06/12 15:48:58 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
# Oh, the commented below work for gmake 3.78.1 and above,
|
||||
# but phrase without tag not work for it. Since gmake 3.79
|
||||
# tag with assignment fail, but work assignment for all tags
|
||||
# (really that more correct).
|
||||
|
||||
ifneq ($(OSNAME), cygming)
|
||||
OPT += -fPIC
|
||||
endif
|
||||
|
||||
ifndef NOT_USE_NOSTDLIB
|
||||
|
||||
ifeq ($(CXX_VERSION_MAJOR),2)
|
||||
# i.e. gcc before 3.x.x: 2.95, etc.
|
||||
# gcc before 3.x don't had libsupc++.a and libgcc_s.so
|
||||
# exceptions and operators new are in libgcc.a
|
||||
# Unfortunatly gcc before 3.x has a buggy C++ language support outside stdc++, so definition of STDLIBS below is commented
|
||||
NOT_USE_NOSTDLIB := 1
|
||||
#STDLIBS := $(shell ${CXX} -print-file-name=libgcc.a) -lpthread -lc -lm
|
||||
endif
|
||||
|
||||
ifeq ($(CXX_VERSION_MAJOR),3)
|
||||
# gcc before 3.3 (i.e. 3.0.x, 3.1.x, 3.2.x) has buggy libsupc++, so we should link with libstdc++ to avoid one
|
||||
ifeq ($(CXX_VERSION_MINOR),0)
|
||||
NOT_USE_NOSTDLIB := 1
|
||||
endif
|
||||
ifeq ($(CXX_VERSION_MINOR),1)
|
||||
NOT_USE_NOSTDLIB := 1
|
||||
endif
|
||||
ifeq ($(CXX_VERSION_MINOR),2)
|
||||
NOT_USE_NOSTDLIB := 1
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
ifndef NOT_USE_NOSTDLIB
|
||||
ifeq ($(OSNAME),linux)
|
||||
_USE_NOSTDLIB := 1
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),openbsd)
|
||||
_USE_NOSTDLIB := 1
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),freebsd)
|
||||
_USE_NOSTDLIB := 1
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),netbsd)
|
||||
_USE_NOSTDLIB := 1
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),sunos)
|
||||
_USE_NOSTDLIB := 1
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),darwin)
|
||||
_USE_NOSTDLIB := 1
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),cygming)
|
||||
_USE_NOSTDLIB := 1
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
|
||||
ifeq (${STLPORT_LIB_DIR},)
|
||||
ifneq ($(OSNAME),cygming)
|
||||
release-shared: STLPORT_LIB = -lstlport
|
||||
dbg-shared: STLPORT_LIB = -lstlportg
|
||||
stldbg-shared: STLPORT_LIB = -lstlportstlg
|
||||
else
|
||||
LIB_VERSION = ${LIBMAJOR}.${LIBMINOR}
|
||||
release-shared: STLPORT_LIB = -lstlport.${LIB_VERSION}
|
||||
dbg-shared: STLPORT_LIB = -lstlportg.${LIB_VERSION}
|
||||
stldbg-shared: STLPORT_LIB = -lstlportstlg.${LIB_VERSION}
|
||||
endif
|
||||
else
|
||||
# STLPORT_LIB_DIR not empty
|
||||
ifneq ($(OSNAME),cygming)
|
||||
release-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlport
|
||||
dbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportg
|
||||
stldbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportstlg
|
||||
else
|
||||
LIB_VERSION = ${LIBMAJOR}.${LIBMINOR}
|
||||
release-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlport.${LIB_VERSION}
|
||||
dbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportg.${LIB_VERSION}
|
||||
stldbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportstlg.${LIB_VERSION}
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
ifdef _USE_NOSTDLIB
|
||||
NOSTDLIB :=
|
||||
|
||||
# Check whether gcc builded with --disable-shared
|
||||
ifeq ($(shell ${CXX} ${CXXFLAGS} -print-file-name=libgcc_eh.a),libgcc_eh.a)
|
||||
# gcc builded with --disable-shared, (no library libgcc_eh.a); all exception support in libgcc.a
|
||||
_LGCC_EH :=
|
||||
_LGCC_S := -lgcc
|
||||
else
|
||||
# gcc builded with --enable-shared (default)
|
||||
ifdef USE_STATIC_LIBGCC
|
||||
# if force usage of static libgcc, then exceptions support should be taken from libgcc_eh
|
||||
_LGCC_EH := -lgcc_eh
|
||||
_LGCC_S := -lgcc
|
||||
else
|
||||
#ifneq ($(OSNAME),darwin)
|
||||
# otherwise, exceptions support is in libgcc_s.so
|
||||
_LGCC_EH :=
|
||||
ifneq ($(OSNAME),darwin)
|
||||
_LGCC_S := -lgcc_s
|
||||
else
|
||||
ifeq ($(MACOSX_TEN_FIVE),true)
|
||||
_LGCC_S := -lgcc_s.10.5
|
||||
else
|
||||
_LGCC_S := -lgcc_s.10.4
|
||||
endif
|
||||
# end of Darwin
|
||||
endif
|
||||
# end of !USE_STATIC_LIBGCC
|
||||
endif
|
||||
# end of present libgcc_eh.a
|
||||
endif
|
||||
|
||||
_LSUPCPP := $(shell ${CXX} ${CXXFLAGS} -print-file-name=libsupc++.a)
|
||||
ifeq (${OSNAME},darwin)
|
||||
ifdef GCC_APPLE_CC
|
||||
_LSUPCPP := $(shell mkdir -p $(PRE_OUTPUT_DIR) && lipo ${_LSUPCPP} -thin ${M_ARCH} -output $(PRE_OUTPUT_DIR)/libsupc++.a && echo $(PRE_OUTPUT_DIR)/libsupc++.a)
|
||||
endif
|
||||
endif
|
||||
ifneq (${_LSUPCPP},libsupc++.a)
|
||||
_LSUPCPP_OBJ := $(shell $(AR) t ${_LSUPCPP})
|
||||
_LSUPCPP_AUX_OBJ := $(addprefix $(AUX_DIR)/,${_LSUPCPP_OBJ})
|
||||
_LSUPCPP_TSMP := .supc++
|
||||
_LSUPCPP_AUX_TSMP:= $(AUX_DIR)/$(_LSUPCPP_TSMP)
|
||||
endif
|
||||
|
||||
# ifeq ($(CXX_VERSION_MAJOR),3)
|
||||
# Include whole language support archive (libsupc++.a) into libstlport:
|
||||
# all C++ issues are in libstlport now.
|
||||
ifeq ($(OSNAME),linux)
|
||||
START_OBJ := $(shell for o in crti.o crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
#START_A_OBJ := $(shell for o in crti.o crtbeginT.o; do ${CXX} -print-file-name=$$o; done)
|
||||
END_OBJ := $(shell for o in crtendS.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
STDLIBS = -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lc -lm
|
||||
endif
|
||||
ifeq ($(OSNAME),openbsd)
|
||||
START_OBJ := $(shell for o in crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
END_OBJ := $(shell for o in crtendS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
STDLIBS = -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lc -lm
|
||||
endif
|
||||
ifeq ($(OSNAME),freebsd)
|
||||
# FreeBSD < 5.3 should use -lc_r, while FreeBSD >= 5.3 use -lpthread
|
||||
PTHR := $(shell if [ ${OSREL_MAJOR} -gt 5 ] ; then echo "pthread" ; else if [ ${OSREL_MAJOR} -lt 5 ] ; then echo "c_r" ; else if [ ${OSREL_MINOR} -lt 3 ] ; then echo "c_r" ; else echo "pthread"; fi ; fi ; fi)
|
||||
START_OBJ := $(shell for o in crti.o crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
END_OBJ := $(shell for o in crtendS.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
STDLIBS := -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -l${PTHR} -lc -lm
|
||||
endif
|
||||
ifeq ($(OSNAME),netbsd)
|
||||
START_OBJ := $(shell for o in crti.o crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
END_OBJ := $(shell for o in crtendS.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
STDLIBS = -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lc -lm
|
||||
endif
|
||||
ifeq ($(OSNAME),sunos)
|
||||
START_OBJ := $(shell for o in crti.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
END_OBJ := $(shell for o in crtend.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
|
||||
STDLIBS := -Wl,-zallextract -lsupc++ ${_LGCC_EH} -Wl,-zdefaultextract ${_LGCC_S} -lpthread -lc -lm
|
||||
endif
|
||||
ifeq ($(OSNAME),darwin)
|
||||
ifndef USE_STATIC_LIBGCC
|
||||
# MacOS X, shared-libgcc
|
||||
ifeq ($(MACOSX_TEN_FIVE),true)
|
||||
# MacOS X >= 10.5
|
||||
START_OBJ :=
|
||||
else
|
||||
# MacOS X < 10.5
|
||||
START_OBJ :=
|
||||
endif
|
||||
else
|
||||
# MacOS X, not shared-libgcc
|
||||
START_OBJ :=
|
||||
endif
|
||||
END_OBJ :=
|
||||
# -all_load don't demonstrate any visible effect, looks like
|
||||
# this is dummy option; but nevertheless, with _LSUPCPP_AUX_OBJ
|
||||
# trick (as in static library) we can resolve problem, in potential
|
||||
ifdef GCC_APPLE_CC
|
||||
STDLIBS := ${_LGCC_S} -lc -lm -all_load ${_LSUPCPP} ${_LGCC_EH}
|
||||
else
|
||||
LDFLAGS += -single_module
|
||||
STDLIBS := ${_LGCC_S} -lc -lm -all_load -lsupc++ ${_LGCC_EH}
|
||||
endif
|
||||
endif
|
||||
#END_A_OBJ := $(shell for o in crtn.o; do ${CXX} -print-file-name=$$o; done)
|
||||
# endif
|
||||
|
||||
ifneq ($(OSNAME),cygming)
|
||||
NOSTDLIB := -nostdlib
|
||||
else
|
||||
NOSTDLIB := -nodefaultlibs
|
||||
ifndef USE_STATIC_LIBGCC
|
||||
ifeq ($(shell ${CXX} ${CXXFLAGS} -print-file-name=libgcc_s.a),libgcc_s.a)
|
||||
_LGCC_S := -lgcc
|
||||
else
|
||||
_LGCC_S := -lgcc_s
|
||||
endif
|
||||
else
|
||||
_LGCC_S := -lgcc
|
||||
endif
|
||||
ifeq ($(OSREALNAME),mingw)
|
||||
STDLIBS = -lsupc++ ${_LGCC_S} -lm -lmoldname -lmingw32 -lmingwex -lmsvcrt -lkernel32
|
||||
else
|
||||
LIBSUPC++ := $(shell ${CXX} ${CXXFLAGS} -print-file-name=libsupc++.a)
|
||||
LSUPC++DEF := $(PRE_OUTPUT_DIR)/libsupc++.def
|
||||
$(LSUPC++DEF) : $(LIBSUPC++)
|
||||
dlltool --export-all-symbols --output-def=$(LSUPC++DEF) $(LIBSUPC++)
|
||||
ifneq (,$(findstring no-cygwin,$(EXTRA_CXXFLAGS)))
|
||||
STDLIBS = -Wl,-whole-archive -lsupc++ -Wl,-no-whole-archive ${_LGCC_S} -lm -lmoldname -lmingw32 -lmingwex -lmsvcrt -lkernel32
|
||||
else
|
||||
STDLIBS = -Wl,-whole-archive -lsupc++ -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lm -lc -lkernel32
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
else
|
||||
ifndef WITHOUT_STLPORT
|
||||
ifndef STLP_BUILD
|
||||
STDLIBS = ${STLPORT_LIB}
|
||||
else
|
||||
STDLIBS =
|
||||
endif
|
||||
else
|
||||
STDLIBS =
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(OSNAME),darwin)
|
||||
dbg-shared: LDFLAGS += -shared
|
||||
stldbg-shared: LDFLAGS += -shared
|
||||
release-shared: LDFLAGS += -shared
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),hp-ux)
|
||||
dbg-shared: LDFLAGS += -Wl,-dynamic -Wl,+h$(SO_NAME_DBGxx)
|
||||
stldbg-shared: LDFLAGS += -Wl,-dynamic -Wl,+h$(SO_NAME_STLDBGxx)
|
||||
release-shared: LDFLAGS += -Wl,-dynamic -Wl,+h$(SO_NAMExx)
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),sunos)
|
||||
dbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_DBGxx) ${NOSTDLIB}
|
||||
stldbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_STLDBGxx) ${NOSTDLIB}
|
||||
release-shared: LDFLAGS += -Wl,-h$(SO_NAMExx) ${NOSTDLIB}
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),linux)
|
||||
dbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_DBGxx) ${NOSTDLIB}
|
||||
stldbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_STLDBGxx) ${NOSTDLIB}
|
||||
release-shared: LDFLAGS += -Wl,-h$(SO_NAMExx) ${NOSTDLIB}
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),cygming)
|
||||
ifndef USE_STATIC_LIBGCC
|
||||
dbg-shared: LDFLAGS += -shared-libgcc
|
||||
stldbg-shared: LDFLAGS += -shared-libgcc
|
||||
release-shared: LDFLAGS += -shared-libgcc
|
||||
endif
|
||||
dbg-shared: LDFLAGS += -Wl,--out-implib=${LIB_NAME_OUT_DBG},--enable-auto-image-base ${NOSTDLIB}
|
||||
stldbg-shared: LDFLAGS += -Wl,--out-implib=${LIB_NAME_OUT_STLDBG},--enable-auto-image-base ${NOSTDLIB}
|
||||
release-shared: LDFLAGS += -Wl,--out-implib=${LIB_NAME_OUT},--enable-auto-image-base ${NOSTDLIB}
|
||||
dbg-static: LDFLAGS += -static
|
||||
stldbg-static: LDFLAGS += -static
|
||||
release-static: LDFLAGS += -static
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),freebsd)
|
||||
dbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_DBGxx) ${NOSTDLIB}
|
||||
stldbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_STLDBGxx) ${NOSTDLIB}
|
||||
release-shared: LDFLAGS += -Wl,-h$(SO_NAMExx) ${NOSTDLIB}
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),darwin)
|
||||
CURRENT_VERSION := ${MAJOR}.${MINOR}.${PATCH}
|
||||
COMPATIBILITY_VERSION := $(CURRENT_VERSION)
|
||||
|
||||
dbg-shared: LDFLAGS += -dynamic -dynamiclib -compatibility_version $(COMPATIBILITY_VERSION) -current_version $(CURRENT_VERSION) -install_name $(SO_NAME_DBGxx) ${NOSTDLIB}
|
||||
stldbg-shared: LDFLAGS += -dynamic -dynamiclib -compatibility_version $(COMPATIBILITY_VERSION) -current_version $(CURRENT_VERSION) -install_name $(SO_NAME_STLDBGxx) ${NOSTDLIB}
|
||||
release-shared: LDFLAGS += -dynamic -dynamiclib -compatibility_version $(COMPATIBILITY_VERSION) -current_version $(CURRENT_VERSION) -install_name $(SO_NAMExx) ${NOSTDLIB}
|
||||
dbg-static: LDFLAGS += -staticlib
|
||||
stldbg-static: LDFLAGS += -staticlib
|
||||
release-static: LDFLAGS += -staticlib
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),openbsd)
|
||||
dbg-shared: LDFLAGS += -Wl,-soname -Wl,$(SO_NAME_DBGxx) ${NOSTDLIB}
|
||||
stldbg-shared: LDFLAGS += -Wl,-soname -Wl,$(SO_NAME_STLDBGxx) ${NOSTDLIB}
|
||||
release-shared: LDFLAGS += -Wl,-soname -Wl,$(SO_NAMExx) ${NOSTDLIB}
|
||||
endif
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# -*- makefile -*- Time-stamp: <08/06/12 15:00:07 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
OPT += -KPIC
|
||||
|
||||
ifeq ($(OSNAME),linux)
|
||||
dbg-shared: LDFLAGS += -shared -Wl,-h$(SO_NAME_DBGxx)
|
||||
stldbg-shared: LDFLAGS += -shared -Wl,-h$(SO_NAME_STLDBGxx)
|
||||
release-shared: LDFLAGS += -shared -Wl,-h$(SO_NAMExx)
|
||||
endif
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
# -*- makefile -*- Time-stamp: <07/05/31 22:11:48 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
# Static libraries tags
|
||||
|
||||
PHONY += release-static dbg-static stldbg-static
|
||||
|
||||
ifneq ($(_LSUPCPP_OBJ),"")
|
||||
$(_LSUPCPP_AUX_TSMP): $(_LSUPCPP)
|
||||
if [ ! -d $(AUX_DIR) ]; then mkdir -p $(AUX_DIR); fi
|
||||
cd $(AUX_DIR); $(AR) xo $(_LSUPCPP) && touch -r $(_LSUPCPP) $(_LSUPCPP_TSMP)
|
||||
endif
|
||||
|
||||
release-static: $(OUTPUT_DIR_A) ${A_NAME_OUT}
|
||||
|
||||
dbg-static: $(OUTPUT_DIR_A_DBG) ${A_NAME_OUT_DBG}
|
||||
|
||||
stldbg-static: $(OUTPUT_DIR_A_STLDBG) ${A_NAME_OUT_STLDBG}
|
||||
|
||||
${A_NAME_OUT}: $(OBJ_A) $(_LSUPCPP_AUX_TSMP)
|
||||
rm -f $@
|
||||
$(AR) $(AR_INS_R) $(AR_OUT) $(OBJ_A) $(_LSUPCPP_AUX_OBJ)
|
||||
|
||||
${A_NAME_OUT_DBG}: $(OBJ_A_DBG) $(_LSUPCPP_AUX_TSMP)
|
||||
rm -f $@
|
||||
$(AR) $(AR_INS_R) $(AR_OUT) $(OBJ_A_DBG) $(_LSUPCPP_AUX_OBJ)
|
||||
|
||||
${A_NAME_OUT_STLDBG}: $(OBJ_A_STLDBG) $(_LSUPCPP_AUX_TSMP)
|
||||
rm -f $@
|
||||
$(AR) $(AR_INS_R) $(AR_OUT) $(OBJ_A_STLDBG) $(_LSUPCPP_AUX_OBJ)
|
||||
@@ -0,0 +1,34 @@
|
||||
# -*- makefile -*- Time-stamp: <06/11/02 10:34:43 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
PHONY += install-release-static install-dbg-static install-stldbg-static
|
||||
|
||||
install-release-static: release-static
|
||||
@if [ ! -d $(INSTALL_LIB_DIR) ] ; then \
|
||||
mkdir -p $(INSTALL_LIB_DIR) ; \
|
||||
fi
|
||||
$(INSTALL_A) ${A_NAME_OUT} $(INSTALL_LIB_DIR)
|
||||
|
||||
install-dbg-static: dbg-static
|
||||
@if [ ! -d $(INSTALL_LIB_DIR_DBG) ] ; then \
|
||||
mkdir -p $(INSTALL_LIB_DIR_DBG) ; \
|
||||
fi
|
||||
$(INSTALL_A) ${A_NAME_OUT_DBG} $(INSTALL_LIB_DIR_DBG)
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
|
||||
install-stldbg-static: stldbg-static
|
||||
@if [ ! -d $(INSTALL_LIB_DIR_STLDBG) ] ; then \
|
||||
mkdir -p $(INSTALL_LIB_DIR_STLDBG) ; \
|
||||
fi
|
||||
$(INSTALL_A) ${A_NAME_OUT_STLDBG} $(INSTALL_LIB_DIR_STLDBG)
|
||||
|
||||
endif
|
||||
@@ -0,0 +1,37 @@
|
||||
# -*- makefile -*- Time-stamp: <07/06/08 23:34:51 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
LDFLAGS ?=
|
||||
|
||||
ifneq ("$(findstring $(OSNAME),darwin cygming)","")
|
||||
include ${RULESBASE}/gmake/${OSNAME}/lib.mak
|
||||
else
|
||||
include ${RULESBASE}/gmake/unix/lib.mak
|
||||
endif
|
||||
|
||||
include ${RULESBASE}/gmake/lib/${COMPILER_NAME}.mak
|
||||
|
||||
ifneq ("$(findstring $(OSNAME),cygming)","")
|
||||
include ${RULESBASE}/gmake/${OSNAME}/rules-so.mak
|
||||
else
|
||||
include ${RULESBASE}/gmake/unix/rules-so.mak
|
||||
endif
|
||||
|
||||
include ${RULESBASE}/gmake/lib/rules-a.mak
|
||||
|
||||
ifneq ("$(findstring $(OSNAME),cygming)","")
|
||||
include ${RULESBASE}/gmake/${OSNAME}/rules-install-so.mak
|
||||
else
|
||||
include ${RULESBASE}/gmake/unix/rules-install-so.mak
|
||||
endif
|
||||
|
||||
include ${RULESBASE}/gmake/lib/rules-install-a.mak
|
||||
include ${RULESBASE}/gmake/lib/clean.mak
|
||||
@@ -0,0 +1,40 @@
|
||||
# -*- makefile -*- Time-stamp: <07/03/08 21:35:57 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
# Oh, the commented below work for gmake 3.78.1 and above,
|
||||
# but phrase without tag not work for it. Since gmake 3.79
|
||||
# tag with assignment fail, but work assignment for all tags
|
||||
# (really that more correct).
|
||||
|
||||
LDLIBS ?=
|
||||
LDSEARCH += /LIBPATH:"$(MSVC_LIB_DIR)"
|
||||
|
||||
dbg-shared: OPT += /MDd
|
||||
stldbg-shared: OPT += /MDd
|
||||
release-shared: OPT += /MD
|
||||
release-shared-dep: OPT += /MD
|
||||
dbg-static: OPT += /MTd
|
||||
stldbg-static: OPT += /MTd
|
||||
release-static: OPT += /MT
|
||||
|
||||
release-static: DEFS += /D_LIB
|
||||
dbg-static: DEFS += /D_LIB
|
||||
stldbg-static: DEFS += /D_LIB
|
||||
|
||||
|
||||
dbg-shared: LDFLAGS += /DLL ${LDSEARCH}
|
||||
stldbg-shared: LDFLAGS += /DLL ${LDSEARCH}
|
||||
release-shared: LDFLAGS += /DLL ${LDSEARCH}
|
||||
dbg-static: LDFLAGS += ${LDSEARCH}
|
||||
stldbg-static: LDFLAGS += ${LDSEARCH}
|
||||
release-static: LDFLAGS += ${LDSEARCH}
|
||||
|
||||
LDFLAGS += /VERSION:$(MAJOR).$(MINOR)
|
||||
@@ -0,0 +1,28 @@
|
||||
# Time-stamp: <06/11/10 23:43:27 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
INSTALL := /usr/bin/install
|
||||
|
||||
STRIP := /usr/bin/strip
|
||||
|
||||
install-strip: _INSTALL_STRIP_OPTION = -s
|
||||
|
||||
install-strip: _SO_STRIP_OPTION = -S
|
||||
|
||||
INSTALL_SO := ${INSTALL} -c -m 0755 ${_INSTALL_STRIP_OPTION}
|
||||
INSTALL_A := ${INSTALL} -c -m 0644
|
||||
INSTALL_EXE := ${INSTALL} -c -m 0755
|
||||
INSTALL_D := ${INSTALL} -d -m 0755
|
||||
INSTALL_F := ${INSTALL} -c -p -m 0644
|
||||
|
||||
# bash's built-in test is like extern
|
||||
# EXT_TEST := /usr/bin/test
|
||||
EXT_TEST := test
|
||||
@@ -0,0 +1,22 @@
|
||||
# Time-stamp: <07/03/08 21:52:04 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
SO := so
|
||||
|
||||
ARCH := a
|
||||
ifdef TARGET_OS
|
||||
AR := ${TARGET_OS}-ar
|
||||
else
|
||||
AR := ar
|
||||
endif
|
||||
AR_INS_R := -rs
|
||||
AR_EXTR := -x
|
||||
AR_OUT = $@
|
||||
@@ -0,0 +1,10 @@
|
||||
# Time-stamp: <05/09/09 21:10:45 ptr>
|
||||
# $Id$
|
||||
|
||||
INSTALL := /usr/bin/install
|
||||
|
||||
INSTALL_SO := ${INSTALL} -c -m 0755
|
||||
INSTALL_A := ${INSTALL} -c -m 0644
|
||||
INSTALL_EXE := ${INSTALL} -c -m 0755
|
||||
|
||||
EXT_TEST := /usr/bin/test
|
||||
@@ -0,0 +1,10 @@
|
||||
# Time-stamp: <05/09/09 21:07:53 ptr>
|
||||
# $Id$
|
||||
|
||||
SO := so
|
||||
|
||||
ARCH := a
|
||||
AR := ar
|
||||
AR_INS_R := -r
|
||||
AR_EXTR := -x
|
||||
AR_OUT = $@
|
||||
@@ -0,0 +1,12 @@
|
||||
# Time-stamp: <06/11/01 22:55:23 ptr>
|
||||
#
|
||||
# Copyright (c) 2006, 2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
# Do the same target in all catalogs as arg
|
||||
define doinsubdirs
|
||||
$(foreach d,$(1),${MAKE} -C ${d} $@;)
|
||||
endef
|
||||
@@ -0,0 +1,18 @@
|
||||
# Time-stamp: <07/03/08 21:48:24 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
INSTALL := /usr/ucb/install
|
||||
|
||||
INSTALL_SO := ${INSTALL} -c -m 0755
|
||||
INSTALL_A := ${INSTALL} -c -m 0644
|
||||
INSTALL_EXE := ${INSTALL} -c -m 0755
|
||||
|
||||
EXT_TEST := /usr/bin/test
|
||||
@@ -0,0 +1,18 @@
|
||||
# Time-stamp: <07/03/08 21:48:37 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
SO := so
|
||||
|
||||
ARCH := a
|
||||
AR := ar
|
||||
AR_INS_R := -rs
|
||||
AR_EXTR := -x
|
||||
AR_OUT = $@
|
||||
@@ -0,0 +1,98 @@
|
||||
# Time-stamp: <07/08/16 09:13:19 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
ifndef BUILD_DATE
|
||||
|
||||
ifndef TARGET_OS
|
||||
OSNAME := $(shell uname -s | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
|
||||
|
||||
ifeq ($(OSNAME),darwin)
|
||||
OSREALNAME := $(shell sw_vers -productName | tr '[A-Z]' '[a-z]' | tr -d ', /\\()"')
|
||||
endif
|
||||
|
||||
# RedHat use nonstandard options for uname at least in cygwin,
|
||||
# macro should be overwritten:
|
||||
ifeq (cygwin,$(findstring cygwin,$(OSNAME)))
|
||||
OSNAME := cygming
|
||||
OSREALNAME := $(shell uname -o | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
|
||||
endif
|
||||
|
||||
ifeq (mingw,$(findstring mingw,$(OSNAME)))
|
||||
OSNAME := cygming
|
||||
OSREALNAME := mingw
|
||||
endif
|
||||
|
||||
OSREL := $(shell uname -r | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
|
||||
ifeq ($(OSNAME),darwin)
|
||||
OSREL := $(shell sw_vers -productVersion | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
|
||||
endif
|
||||
M_ARCH := $(shell uname -m | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
|
||||
ifeq ($(M_ARCH),power-macintosh)
|
||||
M_ARCH := ppc
|
||||
endif
|
||||
ifeq ($(OSNAME),hp-ux)
|
||||
P_ARCH := unknown
|
||||
else
|
||||
P_ARCH := $(shell uname -p | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
|
||||
endif
|
||||
|
||||
else
|
||||
OSNAME := $(shell echo ${TARGET_OS} | sed 's/^[a-z0-9_]\+-[a-z0-9]\+-\([a-z]\+\).*/\1/' | sed 's/^[a-z0-9_]\+-\([a-z]\+\).*/\1/' )
|
||||
OSREL := $(shell echo ${TARGET_OS} | sed 's/^[[:alnum:]_]\+-[a-z0-9]\+-[a-z]\+\([a-zA-Z.0-9]*\).*/\1/' | sed 's/^[a-z0-9_]\+-[a-z]\+\([a-zA-Z.0-9]*\).*/\1/' )
|
||||
M_ARCH := $(shell echo ${TARGET_OS} | sed 's/^\([a-z0-9_]\+\)-.*/\1/' )
|
||||
P_ARCH := unknown
|
||||
# TARGET_OS
|
||||
endif
|
||||
|
||||
NODENAME := $(shell uname -n | tr '[A-Z]' '[a-z]' )
|
||||
SYSVER := $(shell uname -v )
|
||||
USER := $(shell echo $$USER )
|
||||
|
||||
ifeq ($(OSNAME),freebsd)
|
||||
OSREL_MAJOR := $(shell echo ${OSREL} | tr '.-' ' ' | awk '{print $$1;}')
|
||||
OSREL_MINOR := $(shell echo ${OSREL} | tr '.-' ' ' | awk '{print $$2;}')
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),darwin)
|
||||
OSREL_MAJOR := $(shell echo ${OSREL} | tr '.-' ' ' | awk '{print $$1;}')
|
||||
OSREL_MINOR := $(shell echo ${OSREL} | tr '.-' ' ' | awk '{print $$2;}')
|
||||
MACOSX_TEN_FIVE := $(shell if [ ${OSREL_MAJOR} -lt 10 ]; then echo false; else if [ ${OSREL_MAJOR} -gt 10 ] ; then echo true; else if [ ${OSREL_MINOR} -lt 5 ]; then echo false; else echo true; fi; fi; fi)
|
||||
endif
|
||||
|
||||
# OS_VER := $(shell uname -s | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',_')
|
||||
|
||||
BUILD_SYSTEM := $(shell echo `uname -n` `uname -s` `uname -r` `uname -v` `uname -m` $$USER)
|
||||
BUILD_DATE := $(shell date +'%Y/%m/%d %T %Z')
|
||||
|
||||
BUILD_OSNAME := $(shell uname -s | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
|
||||
|
||||
# RedHat use nonstandard options for uname at least in cygwin,
|
||||
# macro should be overwritten:
|
||||
ifeq (cygwin,$(findstring cygwin,$(BUILD_OSNAME)))
|
||||
BUILD_OSNAME := cygming
|
||||
BUILD_OSREALNAME := $(shell uname -o | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
|
||||
endif
|
||||
|
||||
ifeq (mingw,$(findstring mingw,$(BUILD_OSNAME)))
|
||||
BUILD_OSNAME := cygming
|
||||
BUILD_OSREALNAME := mingw
|
||||
endif
|
||||
|
||||
BUILD_OSREL := $(shell uname -r | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
|
||||
BUILD_M_ARCH := $(shell uname -m | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
|
||||
ifeq ($(OSNAME),hp-ux)
|
||||
BUILD_P_ARCH := unknown
|
||||
else
|
||||
BUILD_P_ARCH := $(shell uname -p | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
|
||||
endif
|
||||
|
||||
# end of BUILD_DATE not defined
|
||||
endif
|
||||
@@ -0,0 +1,99 @@
|
||||
# Time-stamp: <08/02/28 10:30:06 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
ifdef TARGET_OS
|
||||
TARGET_NAME := ${TARGET_OS}-
|
||||
else
|
||||
TARGET_NAME :=
|
||||
endif
|
||||
|
||||
BASE_OUTPUT_DIR := obj
|
||||
PRE_OUTPUT_DIR := $(BASE_OUTPUT_DIR)/$(TARGET_NAME)$(COMPILER_NAME)
|
||||
OUTPUT_DIR := $(PRE_OUTPUT_DIR)/so$(EXTRA_DIRS)
|
||||
OUTPUT_DIR_DBG := $(PRE_OUTPUT_DIR)/so_g$(EXTRA_DIRS)
|
||||
ifndef WITHOUT_STLPORT
|
||||
OUTPUT_DIR_STLDBG := $(PRE_OUTPUT_DIR)/so_stlg$(EXTRA_DIRS)
|
||||
endif
|
||||
|
||||
# file to store generated dependencies for make:
|
||||
DEPENDS_COLLECTION := $(PRE_OUTPUT_DIR)/.make.depend
|
||||
|
||||
# catalog for auxilary files, if any
|
||||
AUX_DIR := $(PRE_OUTPUT_DIR)/.auxdir
|
||||
|
||||
# I use the same catalog, as for shared:
|
||||
OUTPUT_DIR_A := $(OUTPUT_DIR)
|
||||
OUTPUT_DIR_A_DBG := $(OUTPUT_DIR_DBG)
|
||||
ifndef WITHOUT_STLPORT
|
||||
OUTPUT_DIR_A_STLDBG := $(OUTPUT_DIR_STLDBG)
|
||||
endif
|
||||
|
||||
BASE_INSTALL_DIR ?= /usr/local
|
||||
|
||||
BASE_INSTALL_LIB_DIR ?= $(DESTDIR)${BASE_INSTALL_DIR}
|
||||
BASE_INSTALL_BIN_DIR ?= $(DESTDIR)${BASE_INSTALL_DIR}
|
||||
BASE_INSTALL_HDR_DIR ?= $(DESTDIR)${BASE_INSTALL_DIR}
|
||||
|
||||
INSTALL_LIB_DIR ?= ${BASE_INSTALL_LIB_DIR}/${TARGET_NAME}lib
|
||||
INSTALL_LIB_DIR_DBG ?= ${BASE_INSTALL_LIB_DIR}/${TARGET_NAME}lib
|
||||
ifndef WITHOUT_STLPORT
|
||||
INSTALL_LIB_DIR_STLDBG ?= ${BASE_INSTALL_LIB_DIR}/${TARGET_NAME}lib
|
||||
endif
|
||||
INSTALL_BIN_DIR ?= ${BASE_INSTALL_BIN_DIR}/${TARGET_NAME}bin
|
||||
INSTALL_BIN_DIR_DBG ?= ${INSTALL_BIN_DIR}_g
|
||||
ifndef WITHOUT_STLPORT
|
||||
INSTALL_BIN_DIR_STLDBG ?= ${INSTALL_BIN_DIR}_stlg
|
||||
endif
|
||||
INSTALL_HDR_DIR ?= ${BASE_INSTALL_DIR}/include
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
OUTPUT_DIRS := $(OUTPUT_DIR) $(OUTPUT_DIR_DBG) $(OUTPUT_DIR_STLDBG) \
|
||||
$(OUTPUT_DIR_A) $(OUTPUT_DIR_A_DBG) $(OUTPUT_DIR_A_STLDBG)
|
||||
else
|
||||
OUTPUT_DIRS := $(OUTPUT_DIR) $(OUTPUT_DIR_DBG) \
|
||||
$(OUTPUT_DIR_A) $(OUTPUT_DIR_A_DBG)
|
||||
endif
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
INSTALL_LIB_DIRS := $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_STLDBG)
|
||||
INSTALL_BIN_DIRS := $(INSTALL_BIN_DIR) $(INSTALL_BIN_DIR_DBG) $(INSTALL_BIN_DIR_STLDBG)
|
||||
else
|
||||
INSTALL_LIB_DIRS := $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR_DBG)
|
||||
INSTALL_BIN_DIRS := $(INSTALL_BIN_DIR) $(INSTALL_BIN_DIR_DBG)
|
||||
endif
|
||||
|
||||
# sort will remove duplicates:
|
||||
OUTPUT_DIRS := $(sort $(OUTPUT_DIRS))
|
||||
INSTALL_LIB_DIRS := $(sort $(INSTALL_LIB_DIRS))
|
||||
INSTALL_BIN_DIRS := $(sort $(INSTALL_BIN_DIRS))
|
||||
INSTALL_DIRS := $(sort $(INSTALL_LIB_DIRS) $(INSTALL_BIN_DIRS))
|
||||
|
||||
PHONY += $(OUTPUT_DIRS) $(INSTALL_DIRS) $(AUX_DIR)
|
||||
|
||||
define createdirs
|
||||
@for d in $@ ; do \
|
||||
if [ -e $$d -a -f $$d ] ; then \
|
||||
echo "ERROR: Regular file $$d present, directory instead expected" ; \
|
||||
exit 1; \
|
||||
elif [ ! -d $$d ] ; then \
|
||||
mkdir -p $$d ; \
|
||||
fi ; \
|
||||
done
|
||||
endef
|
||||
|
||||
$(OUTPUT_DIRS):
|
||||
$(createdirs)
|
||||
|
||||
$(INSTALL_DIRS):
|
||||
$(createdirs)
|
||||
|
||||
$(AUX_DIR):
|
||||
$(createdirs)
|
||||
@@ -0,0 +1,169 @@
|
||||
# Time-stamp: <07/05/30 23:59:42 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
PRGS_DIR_SRC =
|
||||
define prog_
|
||||
PRGS_DIR_SRC += $$(dir $${$(1)_SRC_CPP} $${$(1)_SRC_CC} $${$(1)_SRC_CXX} $${$(1)_SRC_C} $${$(1)_SRC_S} )
|
||||
$(1)_ALLBASE := $$(basename $$(notdir $${$(1)_SRC_CC} $${$(1)_SRC_CPP} $${$(1)_SRC_CXX} $${$(1)_SRC_C} $${$(1)_SRC_S} ) )
|
||||
$(1)_ALLOBJS := $$(addsuffix .o,$${$(1)_ALLBASE})
|
||||
$(1)_ALLDEPS := $$(addsuffix .d,$${$(1)_ALLBASE})
|
||||
|
||||
$(1)_OBJ := $$(addprefix $$(OUTPUT_DIR)/,$${$(1)_ALLOBJS})
|
||||
$(1)_OBJ_DBG := $$(addprefix $$(OUTPUT_DIR_DBG)/,$${$(1)_ALLOBJS})
|
||||
$(1)_OBJ_STLDBG := $$(addprefix $$(OUTPUT_DIR_STLDBG)/,$${$(1)_ALLOBJS})
|
||||
|
||||
$(1)_DEP := $$(addprefix $$(OUTPUT_DIR)/,$${$(1)_ALLDEPS})
|
||||
$(1)_DEP_DBG := $$(addprefix $$(OUTPUT_DIR_DBG)/,$${$(1)_ALLDEPS})
|
||||
$(1)_DEP_STLDBG := $$(addprefix $$(OUTPUT_DIR_STLDBG)/,$${$(1)_ALLDEPS})
|
||||
|
||||
$(1)_RES := $$(addprefix $$(OUTPUT_DIR)/,$${$(1)_ALLRESS})
|
||||
$(1)_RES_DBG := $$(addprefix $$(OUTPUT_DIR_DBG)/,$${$(1)_ALLRESS})
|
||||
$(1)_RES_STLDBG := $$(addprefix $$(OUTPUT_DIR_STLDBG)/,$${$(1)_ALLRESS})
|
||||
|
||||
ifeq ("$$(sort $${$(1)_SRC_CC} $${$(1)_SRC_CPP} $${$(1)_SRC_CXX})","")
|
||||
$(1)_NOT_USE_NOSTDLIB := 1
|
||||
_$(1)_C_SOURCES_ONLY := true
|
||||
endif
|
||||
|
||||
endef
|
||||
|
||||
$(foreach prg,$(PRGNAMES),$(eval $(call prog_,$(prg))))
|
||||
|
||||
# If we have no C++ sources, let's use C compiler for linkage instead of C++.
|
||||
ifeq ("$(sort ${SRC_CC} ${SRC_CPP} ${SRC_CXX})","")
|
||||
NOT_USE_NOSTDLIB := 1
|
||||
_C_SOURCES_ONLY := true
|
||||
endif
|
||||
|
||||
# if sources disposed in several dirs, calculate appropriate rules
|
||||
|
||||
DIRS_UNIQUE_SRC := $(dir $(SRC_CPP) $(SRC_CC) $(SRC_CXX) $(SRC_C) $(SRC_S) )
|
||||
ifeq (${OSNAME},cygming)
|
||||
DIRS_UNIQUE_SRC := ${DIRS_UNIQUE_SRC} $(dir $(SRC_RC) )
|
||||
endif
|
||||
DIRS_UNIQUE_SRC := $(sort $(DIRS_UNIQUE_SRC) $(PRGS_DIR_SRC))
|
||||
|
||||
# The rules below may be even simpler (i.e. define macro that generate
|
||||
# rules for COMPILE.xx), but this GNU make 3.80 unhappy with it;
|
||||
# GNU make 3.81 work fine, but 3.81 is new...
|
||||
# The code below verbose, but this is price for compatibility with 3.80
|
||||
|
||||
define rule_o
|
||||
$$(OUTPUT_DIR$(1))/%.o: $(2)%.cc
|
||||
$$(COMPILE.cc) $$(OUTPUT_OPTION) $$<
|
||||
|
||||
$$(OUTPUT_DIR$(1))/%.d: $(2)%.cc
|
||||
@$$(COMPILE.cc) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1))
|
||||
|
||||
$$(OUTPUT_DIR$(1))/%.o: $(2)%.cpp
|
||||
$$(COMPILE.cc) $$(OUTPUT_OPTION) $$<
|
||||
|
||||
$$(OUTPUT_DIR$(1))/%.d: $(2)%.cpp
|
||||
@$$(COMPILE.cc) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1))
|
||||
|
||||
$$(OUTPUT_DIR$(1))/%.o: $(2)%.cxx
|
||||
$$(COMPILE.cc) $$(OUTPUT_OPTION) $$<
|
||||
|
||||
$$(OUTPUT_DIR$(1))/%.d: $(2)%.cxx
|
||||
@$$(COMPILE.cc) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1))
|
||||
|
||||
$$(OUTPUT_DIR$(1))/%.o: $(2)%.c
|
||||
$$(COMPILE.c) $$(OUTPUT_OPTION) $$<
|
||||
|
||||
$$(OUTPUT_DIR$(1))/%.d: $(2)%.c
|
||||
@$$(COMPILE.c) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1))
|
||||
|
||||
$$(OUTPUT_DIR$(1))/%.o: $(2)%.s
|
||||
$$(COMPILE.s) $$(OUTPUT_OPTION) $$<
|
||||
|
||||
$$(OUTPUT_DIR$(1))/%.o: $(2)%.S
|
||||
$$(COMPILE.S) $$(OUTPUT_OPTION) $$<
|
||||
|
||||
$$(OUTPUT_DIR$(1))/%.d: $(2)%.S
|
||||
@$$(COMPILE.S) $$(SDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1))
|
||||
endef
|
||||
|
||||
define rule_rc
|
||||
$$(OUTPUT_DIR$(1))/%.res: $(2)%.rc
|
||||
$$(COMPILE.rc) $$(RC_OUTPUT_OPTION) $$<
|
||||
endef
|
||||
|
||||
define rules_
|
||||
$(call rule_o,,$(1))
|
||||
ifneq ($(OUTPUT_DIR),$(OUTPUT_DIR_A))
|
||||
$(call rule_o,_A,$(1))
|
||||
endif
|
||||
$(call rule_o,_DBG,$(1))
|
||||
ifneq ($(OUTPUT_DIR_DBG),$(OUTPUT_DIR_A_DBG))
|
||||
$(call rule_o,_A_DBG,$(1))
|
||||
endif
|
||||
ifndef WITHOUT_STLPORT
|
||||
$(call rule_o,_STLDBG,$(1))
|
||||
ifneq ($(OUTPUT_DIR_STLDBG),$(OUTPUT_DIR_A_STLDBG))
|
||||
$(call rule_o,_A_STLDBG,$(1))
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OSNAME),cygming)
|
||||
$(call rule_rc,,$(1))
|
||||
$(call rule_rc,_DBG,$(1))
|
||||
ifndef WITHOUT_STLPORT
|
||||
$(call rule_rc,_STLDBG,$(1))
|
||||
endif
|
||||
endif
|
||||
endef
|
||||
|
||||
$(foreach dir,$(DIRS_UNIQUE_SRC),$(eval $(call rules_,$(dir))))
|
||||
|
||||
ALLBASE := $(basename $(notdir $(SRC_CC) $(SRC_CPP) $(SRC_CXX) $(SRC_C) $(SRC_S)))
|
||||
ifeq (${OSNAME},cygming)
|
||||
RCBASE += $(basename $(notdir $(SRC_RC)))
|
||||
endif
|
||||
|
||||
ALLOBJS := $(addsuffix .o,$(ALLBASE))
|
||||
ALLDEPS := $(addsuffix .d,$(ALLBASE))
|
||||
ALLRESS := $(addsuffix .res,$(RCBASE))
|
||||
|
||||
OBJ := $(addprefix $(OUTPUT_DIR)/,$(ALLOBJS))
|
||||
OBJ_DBG := $(addprefix $(OUTPUT_DIR_DBG)/,$(ALLOBJS))
|
||||
OBJ_STLDBG := $(addprefix $(OUTPUT_DIR_STLDBG)/,$(ALLOBJS))
|
||||
|
||||
DEP := $(addprefix $(OUTPUT_DIR)/,$(ALLDEPS))
|
||||
DEP_DBG := $(addprefix $(OUTPUT_DIR_DBG)/,$(ALLDEPS))
|
||||
DEP_STLDBG := $(addprefix $(OUTPUT_DIR_STLDBG)/,$(ALLDEPS))
|
||||
|
||||
RES := $(addprefix $(OUTPUT_DIR)/,$(ALLRESS))
|
||||
RES_DBG := $(addprefix $(OUTPUT_DIR_DBG)/,$(ALLRESS))
|
||||
RES_STLDBG := $(addprefix $(OUTPUT_DIR_STLDBG)/,$(ALLRESS))
|
||||
|
||||
ifeq ($(OUTPUT_DIR),$(OUTPUT_DIR_A))
|
||||
OBJ_A := $(OBJ)
|
||||
DEP_A := $(DEP)
|
||||
else
|
||||
OBJ_A := $(addprefix $(OUTPUT_DIR_A)/,$(ALLOBJS))
|
||||
DEP_A := $(addprefix $(OUTPUT_DIR_A)/,$(ALLDEPS))
|
||||
endif
|
||||
|
||||
ifeq ($(OUTPUT_DIR_DBG),$(OUTPUT_DIR_A_DBG))
|
||||
OBJ_A_DBG := $(OBJ_DBG)
|
||||
DEP_A_DBG := $(DEP_DBG)
|
||||
else
|
||||
OBJ_A_DBG := $(addprefix $(OUTPUT_DIR_A_DBG)/,$(ALLOBJS))
|
||||
DEP_A_DBG := $(addprefix $(OUTPUT_DIR_A_DBG)/,$(ALLDEPS))
|
||||
endif
|
||||
|
||||
ifeq ($(OUTPUT_DIR_STLDBG),$(OUTPUT_DIR_A_STLDBG))
|
||||
OBJ_A_STLDBG := $(OBJ_STLDBG)
|
||||
DEP_A_STLDBG := $(DEP_STLDBG)
|
||||
else
|
||||
OBJ_A_STLDBG := $(addprefix $(OUTPUT_DIR_A_STLDBG)/,$(ALLOBJS))
|
||||
DEP_A_STLDBG := $(addprefix $(OUTPUT_DIR_A_STLDBG)/,$(ALLDEPS))
|
||||
endif
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
# Time-stamp: <08/06/06 17:34:38 yeti>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
.SUFFIXES:
|
||||
.SCCS_GET:
|
||||
.RCS_GET:
|
||||
|
||||
PHONY ?=
|
||||
|
||||
RULESBASE ?= $(SRCROOT)/Makefiles
|
||||
|
||||
# include file, generated by configure, if available
|
||||
-include ${RULESBASE}/gmake/config.mak
|
||||
|
||||
ifndef COMPILER_NAME
|
||||
# gcc is default compiler, others specify explicitly;
|
||||
COMPILER_NAME := gcc
|
||||
endif
|
||||
|
||||
ifndef LDFLAGS
|
||||
LDFLAGS :=
|
||||
endif
|
||||
|
||||
ifndef ALL_TAGS
|
||||
|
||||
ifndef _NO_SHARED_BUILD
|
||||
ALL_TAGS := release-shared
|
||||
else
|
||||
ALL_TAGS :=
|
||||
endif
|
||||
|
||||
ifdef _STATIC_BUILD
|
||||
ALL_TAGS += release-static
|
||||
endif
|
||||
|
||||
ifndef _NO_DBG_BUILD
|
||||
ifndef _NO_SHARED_BUILD
|
||||
ALL_TAGS += dbg-shared
|
||||
endif
|
||||
ifdef _STATIC_BUILD
|
||||
ALL_TAGS += dbg-static
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef _NO_STLDBG_BUILD
|
||||
ifndef WITHOUT_STLPORT
|
||||
ifndef _NO_SHARED_BUILD
|
||||
ALL_TAGS += stldbg-shared
|
||||
endif
|
||||
ifdef _STATIC_BUILD
|
||||
ALL_TAGS += stldbg-static
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
all: $(OUTPUT_DIRS) $(ALL_TAGS)
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
all-static: release-static dbg-static stldbg-static
|
||||
all-shared: release-shared dbg-shared stldbg-shared
|
||||
else
|
||||
all-static: release-static dbg-static
|
||||
all-shared: release-shared dbg-shared
|
||||
endif
|
||||
|
||||
ifdef WITHOUT_STLPORT
|
||||
NOT_USE_NOSTDLIB := 1
|
||||
endif
|
||||
|
||||
ifndef OSNAME
|
||||
# identify OS and build date
|
||||
include ${RULESBASE}/gmake/sysid.mak
|
||||
endif
|
||||
# OS-specific definitions, like ln, install, etc. (guest host)
|
||||
include ${RULESBASE}/gmake/$(BUILD_OSNAME)/sys.mak
|
||||
# target OS-specific definitions, like ar, etc.
|
||||
include ${RULESBASE}/gmake/$(OSNAME)/targetsys.mak
|
||||
# Extern projects for everyday usage and settings for ones
|
||||
include ${RULESBASE}/gmake/extern.mak
|
||||
# compiler, compiler options
|
||||
include ${RULESBASE}/gmake/$(COMPILER_NAME).mak
|
||||
# rules to make dirs for targets
|
||||
include ${RULESBASE}/gmake/targetdirs.mak
|
||||
|
||||
# os-specific local rules (or other project-specific definitions)
|
||||
-include specific.mak
|
||||
|
||||
LDFLAGS += ${EXTRA_LDFLAGS}
|
||||
|
||||
# derive common targets (*.o, *.d),
|
||||
# build rules (including output catalogs)
|
||||
include ${RULESBASE}/gmake/targets.mak
|
||||
# dependency
|
||||
include ${RULESBASE}/gmake/depend.mak
|
||||
|
||||
# general clean
|
||||
include ${RULESBASE}/gmake/clean.mak
|
||||
|
||||
# if target is library, rules for library
|
||||
ifdef LIBNAME
|
||||
include ${RULESBASE}/gmake/lib/top.mak
|
||||
endif
|
||||
|
||||
# if target is program, rules for executable
|
||||
ifdef PRGNAME
|
||||
include ${RULESBASE}/gmake/app/top.mak
|
||||
else
|
||||
ifdef PRGNAMES
|
||||
include ${RULESBASE}/gmake/app/top.mak
|
||||
endif
|
||||
endif
|
||||
|
||||
.PHONY: $(PHONY)
|
||||
@@ -0,0 +1,85 @@
|
||||
# -*- makefile -*- Time-stamp: <06/11/02 10:37:02 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
DBG_SUFFIX ?= g
|
||||
STLDBG_SUFFIX ?= stl${DBG_SUFFIX}
|
||||
|
||||
# Shared libraries:
|
||||
|
||||
ifndef LIB_MOTIF
|
||||
SO_NAME := lib${LIBNAME}.$(SO)
|
||||
else
|
||||
SO_NAME := lib${LIBNAME}_${LIB_MOTIF}.${SO}
|
||||
endif
|
||||
SO_NAMEx := ${SO_NAME}.${MAJOR}
|
||||
SO_NAMExx := ${SO_NAMEx}.${MINOR}
|
||||
SO_NAMExxx := ${SO_NAMExx}.${PATCH}
|
||||
|
||||
SO_NAME_OUT := $(OUTPUT_DIR)/${SO_NAME}
|
||||
SO_NAME_OUTx := $(OUTPUT_DIR)/${SO_NAMEx}
|
||||
SO_NAME_OUTxx := $(OUTPUT_DIR)/${SO_NAMExx}
|
||||
SO_NAME_OUTxxx := $(OUTPUT_DIR)/${SO_NAMExxx}
|
||||
|
||||
ifndef LIB_MOTIF
|
||||
SO_NAME_DBG := lib${LIBNAME}${DBG_SUFFIX}.$(SO)
|
||||
else
|
||||
SO_NAME_DBG := lib${LIBNAME}${DBG_SUFFIX}_${LIB_MOTIF}.$(SO)
|
||||
endif
|
||||
SO_NAME_DBGx := ${SO_NAME_DBG}.${MAJOR}
|
||||
SO_NAME_DBGxx := ${SO_NAME_DBGx}.${MINOR}
|
||||
SO_NAME_DBGxxx := ${SO_NAME_DBGxx}.${PATCH}
|
||||
|
||||
SO_NAME_OUT_DBG := $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}
|
||||
SO_NAME_OUT_DBGx := $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}
|
||||
SO_NAME_OUT_DBGxx := $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}
|
||||
SO_NAME_OUT_DBGxxx := $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxxx}
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
ifndef LIB_MOTIF
|
||||
SO_NAME_STLDBG := lib${LIBNAME}${STLDBG_SUFFIX}.$(SO)
|
||||
else
|
||||
SO_NAME_STLDBG := lib${LIBNAME}${STLDBG_SUFFIX}_${LIB_MOTIF}.$(SO)
|
||||
endif
|
||||
SO_NAME_STLDBGx := ${SO_NAME_STLDBG}.${MAJOR}
|
||||
SO_NAME_STLDBGxx := ${SO_NAME_STLDBGx}.${MINOR}
|
||||
SO_NAME_STLDBGxxx := ${SO_NAME_STLDBGxx}.${PATCH}
|
||||
|
||||
SO_NAME_OUT_STLDBG := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}
|
||||
SO_NAME_OUT_STLDBGx := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}
|
||||
SO_NAME_OUT_STLDBGxx := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}
|
||||
SO_NAME_OUT_STLDBGxxx := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxxx}
|
||||
# WITHOUT_STLPORT
|
||||
endif
|
||||
|
||||
# Static libraries:
|
||||
|
||||
ifndef LIB_MOTIF
|
||||
A_NAME := lib${LIBNAME}.$(ARCH)
|
||||
else
|
||||
A_NAME := lib${LIBNAME}_${LIB_MOTIF}.$(ARCH)
|
||||
endif
|
||||
A_NAME_OUT := $(OUTPUT_DIR_A)/$(A_NAME)
|
||||
|
||||
ifndef LIB_MOTIF
|
||||
A_NAME_DBG := lib${LIBNAME}${DBG_SUFFIX}.$(ARCH)
|
||||
else
|
||||
A_NAME_DBG := lib${LIBNAME}${DBG_SUFFIX}_${LIB_MOTIF}.$(ARCH)
|
||||
endif
|
||||
A_NAME_OUT_DBG := $(OUTPUT_DIR_A_DBG)/$(A_NAME_DBG)
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
ifndef LIB_MOTIF
|
||||
A_NAME_STLDBG := lib${LIBNAME}${STLDBG_SUFFIX}.$(ARCH)
|
||||
else
|
||||
A_NAME_STLDBG := lib${LIBNAME}${STLDBG_SUFFIX}_${LIB_MOTIF}.$(ARCH)
|
||||
endif
|
||||
A_NAME_OUT_STLDBG := $(OUTPUT_DIR_A_STLDBG)/$(A_NAME_STLDBG)
|
||||
endif
|
||||
@@ -0,0 +1,173 @@
|
||||
# -*- makefile -*- Time-stamp: <07/12/12 01:52:19 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
ifndef INSTALL_TAGS
|
||||
|
||||
ifndef _NO_SHARED_BUILD
|
||||
INSTALL_TAGS := install-release-shared
|
||||
else
|
||||
INSTALL_TAGS :=
|
||||
endif
|
||||
|
||||
ifdef _STATIC_BUILD
|
||||
INSTALL_TAGS += install-release-static
|
||||
endif
|
||||
|
||||
ifndef _NO_DBG_BUILD
|
||||
ifndef _NO_SHARED_BUILD
|
||||
INSTALL_TAGS += install-dbg-shared
|
||||
endif
|
||||
ifdef _STATIC_BUILD
|
||||
INSTALL_TAGS += install-dbg-static
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef _NO_STLDBG_BUILD
|
||||
ifndef WITHOUT_STLPORT
|
||||
ifndef _NO_SHARED_BUILD
|
||||
INSTALL_TAGS += install-stldbg-shared
|
||||
endif
|
||||
ifdef _STATIC_BUILD
|
||||
INSTALL_TAGS += install-stldbg-static
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
|
||||
ifndef INSTALL_STRIP_TAGS
|
||||
|
||||
ifndef _NO_SHARED_BUILD
|
||||
INSTALL_STRIP_TAGS := install-strip-shared
|
||||
else
|
||||
INSTALL_STRIP_TAGS :=
|
||||
endif
|
||||
|
||||
ifdef _STATIC_BUILD
|
||||
INSTALL_STRIP_TAGS += install-release-static
|
||||
endif
|
||||
|
||||
ifndef _NO_DBG_BUILD
|
||||
ifndef _NO_SHARED_BUILD
|
||||
INSTALL_STRIP_TAGS += install-dbg-shared
|
||||
endif
|
||||
ifdef _STATIC_BUILD
|
||||
INSTALL_STRIP_TAGS += install-dbg-static
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef _NO_STLDBG_BUILD
|
||||
ifndef WITHOUT_STLPORT
|
||||
ifndef _NO_SHARED_BUILD
|
||||
INSTALL_STRIP_TAGS += install-stldbg-shared
|
||||
endif
|
||||
ifdef _STATIC_BUILD
|
||||
INSTALL_STRIP_TAGS += install-stldbg-static
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
|
||||
PHONY += install install-strip install-headers $(INSTALL_TAGS) $(INSTALL_STRIP_TAGS)
|
||||
|
||||
install: $(INSTALL_TAGS) install-headers
|
||||
|
||||
install-strip: $(INSTALL_STRIP_TAGS) install-headers
|
||||
|
||||
# Workaround for GNU make 3.80; see comments in rules-so.mak
|
||||
define do_install_so_links
|
||||
$${INSTALL_LIB_DIR$(1)}/$${SO_NAME$(1)xxx}: $${SO_NAME_OUT$(1)xxx}
|
||||
$$(INSTALL_SO) $${SO_NAME_OUT$(1)xxx} $$(INSTALL_LIB_DIR$(1))
|
||||
@$(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)xx},$${SO_NAME$(1)xxx})
|
||||
@$(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)x},$${SO_NAME$(1)xx})
|
||||
@$(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)},$${SO_NAME$(1)x})
|
||||
endef
|
||||
|
||||
# Workaround for GNU make 3.80; see comments in rules-so.mak
|
||||
define do_install_so_links_wk
|
||||
# expand to nothing, if equal
|
||||
ifneq (${INSTALL_LIB_DIR}/${SO_NAMExxx},${INSTALL_LIB_DIR_STLDBG}/${SO_NAME_STLDBGxxx})
|
||||
# expand to nothing, if WITHOUT_STLPORT
|
||||
ifndef WITHOUT_STLPORT
|
||||
$(call do_install_so_links,$(1))
|
||||
endif
|
||||
endif
|
||||
endef
|
||||
|
||||
# Workaround for GNU make 3.80; see comments in rules-so.mak
|
||||
define do_install_so_links_wk2
|
||||
# expand to nothing, if equal
|
||||
ifneq (${INSTALL_LIB_DIR}/${SO_NAMExxx},${INSTALL_LIB_DIR_DBG}/${SO_NAME_DBGxxx})
|
||||
$(call do_install_so_links,$(1))
|
||||
endif
|
||||
endef
|
||||
|
||||
|
||||
$(eval $(call do_install_so_links,))
|
||||
# ifneq (${INSTALL_LIB_DIR}/${SO_NAMExxx},${INSTALL_LIB_DIR_DBG}/${SO_NAME_DBGxxx})
|
||||
# $(eval $(call do_install_so_links,_DBG))
|
||||
$(eval $(call do_install_so_links_wk2,_DBG))
|
||||
# endif
|
||||
# ifneq (${INSTALL_LIB_DIR}/${SO_NAMExxx},${INSTALL_LIB_DIR_STLDBG}/${SO_NAME_STLDBGxxx})
|
||||
# ifndef WITHOUT_STLPORT
|
||||
$(eval $(call do_install_so_links_wk,_STLDBG))
|
||||
# endif
|
||||
# endif
|
||||
|
||||
install-release-shared: release-shared $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR)/${SO_NAMExxx} install-headers
|
||||
${POST_INSTALL}
|
||||
|
||||
install-strip-shared: release-shared $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR)/${SO_NAMExxx} install-headers
|
||||
${STRIP} ${_SO_STRIP_OPTION} $(INSTALL_LIB_DIR)/${SO_NAMExxx}
|
||||
${POST_INSTALL}
|
||||
|
||||
install-dbg-shared: dbg-shared $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxxx}
|
||||
${POST_INSTALL_DBG}
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
install-stldbg-shared: stldbg-shared $(INSTALL_LIB_DIR_STLDBG) $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxxx}
|
||||
${POST_INSTALL_STLDBG}
|
||||
endif
|
||||
|
||||
define do_install_headers
|
||||
if [ ! -d $(INSTALL_HDR_DIR) ]; then \
|
||||
$(INSTALL_D) $(INSTALL_HDR_DIR) || { echo "Can't create $(INSTALL_HDR_DIR)"; exit 1; }; \
|
||||
fi; \
|
||||
for dd in $(HEADERS_BASE); do \
|
||||
d=`dirname $$dd`; \
|
||||
h=`basename $$dd`; \
|
||||
f=`cd $$d; find $$h \( -wholename "*/.svn" -prune \) -o \( -type d -print \)`; \
|
||||
for ddd in $$f; do \
|
||||
if [ ! -d $(INSTALL_HDR_DIR)/$$ddd ]; then \
|
||||
$(INSTALL_D) $(INSTALL_HDR_DIR)/$$ddd || { echo "Can't create $(INSTALL_HDR_DIR)/$$ddd"; exit 1; }; \
|
||||
fi; \
|
||||
done; \
|
||||
f=`find $$dd \( -wholename "*/.svn*" -o -name "*~" -o -name "*.bak" \) -prune -o \( -type f -print \)`; \
|
||||
for ff in $$f; do \
|
||||
h=`echo $$ff | sed -e "s|$$d|$(INSTALL_HDR_DIR)|"`; \
|
||||
$(INSTALL_F) $$ff $$h; \
|
||||
done; \
|
||||
done; \
|
||||
for f in $(HEADERS); do \
|
||||
h=`basename $$f`; \
|
||||
$(INSTALL_F) $$f $(INSTALL_HDR_DIR)/$$h || { echo "Can't install $(INSTALL_HDR_DIR)/$$h"; exit 1; }; \
|
||||
done
|
||||
endef
|
||||
|
||||
# find $$dd \( -type f \( \! \( -wholename "*/.svn*" -o -name "*~" -o -name "*.bak" \) \) \) -print
|
||||
# _HEADERS_FROM = $(shell for dd in $(HEADERS_BASE); do find $$dd \( -type f \( \! \( -wholename "*/.svn/*" -o -name "*~" -o -name "*.bak" \) \) \) -print ; done )
|
||||
# _HEADERS_TO = $(foreach d,$(HEADERS_BASE),$(patsubst $(d)/%,$(BASE_INSTALL_DIR)include/%,$(_HEADERS_FROM)))
|
||||
|
||||
install-headers:
|
||||
@$(do_install_headers)
|
||||
@@ -0,0 +1,76 @@
|
||||
# -*- makefile -*- Time-stamp: <06/12/12 09:43:02 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
# Shared libraries tags
|
||||
|
||||
PHONY += release-shared dbg-shared stldbg-shared
|
||||
|
||||
release-shared: $(EXTRA_PRE) $(OUTPUT_DIR) ${SO_NAME_OUTxxx} $(EXTRA_POST)
|
||||
|
||||
dbg-shared: $(EXTRA_PRE_DBG) $(OUTPUT_DIR_DBG) ${SO_NAME_OUT_DBGxxx} $(EXTRA_POST_DBG)
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
stldbg-shared: $(EXTRA_PRE_STLDBG) $(OUTPUT_DIR_STLDBG) ${SO_NAME_OUT_STLDBGxxx} $(EXTRA_POST_STLDBG)
|
||||
endif
|
||||
|
||||
define do_so_links_1
|
||||
if [ -h $(1)/$(2) ]; then \
|
||||
if [ `readlink $(1)/$(2)` != "$(3)" ]; then \
|
||||
rm $(1)/$(2); \
|
||||
ln -s $(3) $(1)/$(2); \
|
||||
fi; \
|
||||
else \
|
||||
ln -s $(3) $(1)/$(2); \
|
||||
fi;
|
||||
endef
|
||||
|
||||
# Workaround for GNU make 3.80: it fail on 'eval' within 'if'
|
||||
# directive after some level of complexity, i.e. after complex
|
||||
# rules it fails on code:
|
||||
#
|
||||
# $(eval $(call do_so_links,cc,))
|
||||
# $(eval $(call do_so_links,cc,_DBG))
|
||||
# ifndef WITHOUT_STLPORT
|
||||
# $(eval $(call do_so_links,cc,_STLDBG))
|
||||
# endif
|
||||
#
|
||||
# Put 'if' logic into defined macro looks as workaround.
|
||||
#
|
||||
# The GNU make 3.81 free from this problem, but it new...
|
||||
|
||||
define do_so_links
|
||||
$${SO_NAME_OUT$(1)xxx}: $$(OBJ$(1)) $$(LIBSDEP)
|
||||
ifeq ("${_C_SOURCES_ONLY}","")
|
||||
ifneq ($(COMPILER_NAME),bcc)
|
||||
$$(LINK.cc) $$(LINK_OUTPUT_OPTION) $${START_OBJ} $$(OBJ$(1)) $$(LDLIBS) $${STDLIBS} $${END_OBJ}
|
||||
else
|
||||
$$(LINK.cc) $${START_OBJ} $$(OBJ$(1)) $${END_OBJ}, $$(LINK_OUTPUT_OPTION), , $$(LDLIBS) $${STDLIBS}
|
||||
endif
|
||||
else
|
||||
$$(LINK.c) $$(LINK_OUTPUT_OPTION) $$(OBJ$(1)) $$(LDLIBS)
|
||||
endif
|
||||
@$(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)xx},$${SO_NAME$(1)xxx})
|
||||
@$(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)x},$${SO_NAME$(1)xx})
|
||||
@$(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)},$${SO_NAME$(1)x})
|
||||
endef
|
||||
|
||||
define do_so_links_wk
|
||||
# expand to nothing, if WITHOUT_STLPORT
|
||||
ifndef WITHOUT_STLPORT
|
||||
$(call do_so_links,$(1))
|
||||
endif
|
||||
endef
|
||||
|
||||
$(eval $(call do_so_links,))
|
||||
$(eval $(call do_so_links,_DBG))
|
||||
# ifndef WITHOUT_STLPORT
|
||||
$(eval $(call do_so_links_wk,_STLDBG))
|
||||
# endif
|
||||
@@ -0,0 +1,100 @@
|
||||
# Time-stamp: <07/03/08 21:41:52 ptr>
|
||||
#
|
||||
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Portion Copyright (c) 1999-2001
|
||||
# Parallel Graphics Ltd.
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
#INCLUDES = -I$(SRCROOT)/include
|
||||
#INCLUDES :=
|
||||
|
||||
CXX := cl.exe
|
||||
CC := cl.exe
|
||||
LINK := link.exe
|
||||
RC := rc.exe
|
||||
|
||||
DEFS ?=
|
||||
OPT ?=
|
||||
|
||||
# OUTPUT_OPTION = /Fo$@
|
||||
release-shared: OUTPUT_OPTION = /Fo$@
|
||||
release-static: OUTPUT_OPTION = /Fo$@
|
||||
dbg-shared : OUTPUT_OPTION = /Fo$@ /Fd"${OUTPUT_DIR_DBG}"
|
||||
stldbg-shared : OUTPUT_OPTION = /Fo$@ /Fd"${OUTPUT_DIR_STLDBG}"
|
||||
dbg-static : OUTPUT_OPTION = /Fo$@ /Fd"${OUTPUT_DIR_A_DBG}"
|
||||
stldbg-static : OUTPUT_OPTION = /Fo$@ /Fd"${OUTPUT_DIR_A_STLDBG}"
|
||||
LINK_OUTPUT_OPTION = /OUT:$@
|
||||
RC_OUTPUT_OPTION = /fo $@
|
||||
DEFS += /D "WIN32" /D "_WINDOWS"
|
||||
CPPFLAGS = $(DEFS) $(INCLUDES)
|
||||
|
||||
CFLAGS = /nologo /TC /W3 /GR /GX /Zm800 $(OPT)
|
||||
CXXFLAGS = /nologo /TP /W3 /GR /GX /Zm800 $(OPT)
|
||||
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) /c
|
||||
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) /c
|
||||
LINK.cc = $(LINK) /nologo $(LDFLAGS) $(TARGET_ARCH)
|
||||
COMPILE.rc = $(RC) $(RCFLAGS)
|
||||
|
||||
CDEPFLAGS = /FD /E
|
||||
CCDEPFLAGS = /FD /E
|
||||
|
||||
# STLport DEBUG mode specific defines
|
||||
stldbg-static : DEFS += /D_DEBUG /D "_STLP_DEBUG"
|
||||
stldbg-shared : DEFS += /D_DEBUG /D "_STLP_DEBUG"
|
||||
stldbg-static-dep : DEFS += /D_DEBUG /D "_STLP_DEBUG"
|
||||
stldbg-shared-dep : DEFS += /D_DEBUG /D "_STLP_DEBUG"
|
||||
|
||||
dbg-static : DEFS += /D_DEBUG
|
||||
dbg-shared : DEFS += /D_DEBUG
|
||||
dbg-static-dep : DEFS += /D_DEBUG
|
||||
dbg-shared-dep : DEFS += /D_DEBUG
|
||||
|
||||
release-static : DEFS += /DNDEBUG
|
||||
release-shared : DEFS += /DNDEBUG
|
||||
release-static-dep : DEFS += /DNDEBUG
|
||||
release-shared-dep : DEFS += /DNDEBUG
|
||||
|
||||
# optimization and debug compiler flags
|
||||
release-static : OPT += /O2 /Og
|
||||
release-shared : OPT += /O2 /Og
|
||||
|
||||
dbg-static : OPT += /Zi
|
||||
dbg-shared : OPT += /Zi
|
||||
#dbg-static-dep : OPT += -g
|
||||
#dbg-shared-dep : OPT += -g
|
||||
|
||||
stldbg-static : OPT += /Zi
|
||||
stldbg-shared : OPT += /Zi
|
||||
#stldbg-static-dep : OPT += -g
|
||||
#stldbg-shared-dep : OPT += -g
|
||||
|
||||
# dependency output parser (dependencies collector)
|
||||
|
||||
# oh, there VC is no mode has no options to print dependencies
|
||||
# in more-or-less acceptable format. I use VC as preprocessor
|
||||
# and see first line (here VC print file name).
|
||||
|
||||
# bug here: if no dependencies:
|
||||
# ---------------------------------
|
||||
# int main() { return 0; }
|
||||
# ---------------------------------
|
||||
# this sed script produce wrong output
|
||||
# ---------------------------------
|
||||
# obj/vc6/shared/xx.o obj/vc6/shared/xx.d : obj/vc6/shared/xx.cpp \
|
||||
# ---------------------------------
|
||||
# (wrong backslash at eol)
|
||||
|
||||
|
||||
DP_OUTPUT_DIR = | grep "^\#line 1 " | (echo -e 's|\([a-zA-Z]\):|/cygdrive/\1|g\nt next\n: next\n1s|^\#line 1 \(.*\)|$(OUTPUT_DIR)/$*.o $@ : $< \\\\|\nt\n$$s|^\#line 1 "\(.*\)"|\1|g\nt space\ns|^\#line 1 "\(.*\)"|\1\\\\|g\nt space\nd\n: space\ns| |\\\\ |g\ns|^| |\ns|\\\\\\\\|/|g\n' > $(OUTPUT_DIR)/tmp.sed; sed -f $(OUTPUT_DIR)/tmp.sed; rm -f $(OUTPUT_DIR)/tmp.sed ) > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
DP_OUTPUT_DIR_DBG = | grep "^\#line 1 " | (echo -e 's|\([a-zA-Z]\):|/cygdrive/\1|g\nt next\n: next\n1s|^\#line 1 \(.*\)|$(OUTPUT_DIR_DBG)/$*.o $@ : $< \\\\|\nt\n$$s|^\#line 1 "\(.*\)"|\1|g\nt space\ns|^\#line 1 "\(.*\)"|\1\\\\|g\nt space\nd\n: space\ns| |\\\\ |g\ns|^| |\ns|\\\\\\\\|/|g\n' > $(OUTPUT_DIR_DBG)/tmp.sed; sed -f $(OUTPUT_DIR_DBG)/tmp.sed; rm -f $(OUTPUT_DIR_DBG)/tmp.sed ) > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
DP_OUTPUT_DIR_STLDBG = | grep "^\#line 1 " | (echo -e 's|\([a-zA-Z]\):|/cygdrive/\1|g\nt next\n: next\n1s|^\#line 1 \(.*\)|$(OUTPUT_DIR_STLDBG)/$*.o $@ : $< \\\\|\nt\n$$s|^\#line 1 "\(.*\)"|\1|g\nt space\ns|^\#line 1 "\(.*\)"|\1\\\\|g\nt space\nd\n: space\ns| |\\\\ |g\ns|^| |\ns|\\\\\\\\|/|g\n' > $(OUTPUT_DIR_STLDBG)/tmp.sed; sed -f $(OUTPUT_DIR_STLDBG)/tmp.sed; rm -f $(OUTPUT_DIR_STLDBG)/tmp.sed ) > $@; \
|
||||
[ -s $@ ] || rm -f $@
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
# -*- makefile -*- Time-stamp: <03/10/26 16:17:03 ptr>
|
||||
# $Id$
|
||||
|
||||
clobber: clean
|
||||
@if exist $(PRG) del /F /Q $(PRG)
|
||||
@if exist $(PRG_DBG) del /F /Q $(PRG_DBG)
|
||||
@if exist $(PRG_STLDBG) del /F /Q $(PRG_STLDBG)
|
||||
@if exist $(PRG_A) del /F /Q $(PRG_A)
|
||||
@if exist $(PRG_A_DBG) del /F /Q $(PRG_A_DBG)
|
||||
@if exist $(PRG_A_STLDBG) del /F /Q $(PRG_A_STLDBG)
|
||||
@if exist $(PDB_NAME_OUT) del /F /Q $(PDB_NAME_OUT)
|
||||
@if exist $(PDB_NAME_OUT_DBG) del /F /Q $(PDB_NAME_OUT_DBG)
|
||||
@if exist $(PDB_NAME_OUT_STLDBG) del /F /Q $(PDB_NAME_OUT_STLDBG)
|
||||
@if exist $(MANIFEST_NAME_OUT) del /F /Q $(MANIFEST_NAME_OUT)
|
||||
@if exist $(MANIFEST_NAME_OUT_DBG) del /F /Q $(MANIFEST_NAME_OUT_DBG)
|
||||
@if exist $(MANIFEST_NAME_OUT_STLDBG) del /F /Q $(MANIFEST_NAME_OUT_STLDBG)
|
||||
@if exist $(A_PDB_NAME_OUT) del /F /Q $(A_PDB_NAME_OUT)
|
||||
@if exist $(A_PDB_NAME_OUT_DBG) del /F /Q $(A_PDB_NAME_OUT_DBG)
|
||||
@if exist $(A_PDB_NAME_OUT_STLDBG) del /F /Q $(A_PDB_NAME_OUT_STLDBG)
|
||||
@-if exist $(OUTPUT_DIR) rd $(OUTPUT_DIR)
|
||||
@-if exist $(OUTPUT_DIR_DBG) rd $(OUTPUT_DIR_DBG)
|
||||
@-if exist $(OUTPUT_DIR_STLDBG) rd $(OUTPUT_DIR_STLDBG)
|
||||
@-if exist $(OUTPUT_DIR_A) rd $(OUTPUT_DIR_A)
|
||||
@-if exist $(OUTPUT_DIR_A_DBG) rd $(OUTPUT_DIR_A_DBG)
|
||||
@-if exist $(OUTPUT_DIR_A_STLDBG) rd $(OUTPUT_DIR_A_STLDBG)
|
||||
@-if exist $(OUTPUT_TARGET_DIR) rd $(OUTPUT_TARGET_DIR)
|
||||
@-if exist $(OUTPUT_ROOT_DIR) rd $(OUTPUT_ROOT_DIR)
|
||||
|
||||
distclean: clobber
|
||||
@if exist $(INSTALL_BIN_DIR)\$(PRG_NAME_BASE)$(EXE) del /F /Q $(INSTALL_BIN_DIR)\$(PRG_NAME_BASE)$(EXE)
|
||||
@if exist $(INSTALL_BIN_DIR_DBG)\$(PRG_NAME_DBG_BASE)$(EXE) del /F /Q $(INSTALL_BIN_DIR_DBG)\$(PRG_NAME_DBG_BASE)$(EXE)
|
||||
@if exist $(INSTALL_BIN_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE)$(EXE) del /F /Q $(INSTALL_BIN_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE)$(EXE)
|
||||
@if exist $(INSTALL_STATIC_BIN_DIR)\$(PRG_NAME_A_BASE)$(EXE) del /F /Q $(INSTALL_STATIC_BIN_DIR)\$(PRG_NAME_A_BASE)$(EXE)
|
||||
@if exist $(INSTALL_STATIC_BIN_DIR_DBG)\$(PRG_NAME_A_DBG_BASE)$(EXE) del /F /Q $(INSTALL_STATIC_BIN_DIR_DBG)\$(PRG_NAME_A_DBG_BASE)$(EXE)
|
||||
@if exist $(INSTALL_STATIC_BIN_DIR_STLDBG)\$(PRG_NAME_A_STLDBG_BASE)$(EXE) del /F /Q $(INSTALL_STATIC_BIN_DIR_STLDBG)\$(PRG_NAME_A_STLDBG_BASE)$(EXE)
|
||||
@if exist $(INSTALL_BIN_DIR)\$(PRG_NAME_BASE).pdb del /F /Q $(INSTALL_BIN_DIR)\$(PRG_NAME_BASE).pdb
|
||||
@if exist $(INSTALL_BIN_DIR_DBG)\$(PRG_NAME_DBG_BASE).pdb del /F /Q $(INSTALL_BIN_DIR_DBG)\$(PRG_NAME_DBG_BASE).pdb
|
||||
@if exist $(INSTALL_BIN_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE).pdb del /F /Q $(INSTALL_BIN_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE).pdb
|
||||
@if exist $(INSTALL_STATIC_BIN_DIR)\$(PRG_NAME_A_BASE).pdb del /F /Q $(INSTALL_STATIC_BIN_DIR)\$(PRG_NAME_A_BASE).pdb
|
||||
@if exist $(INSTALL_STATIC_BIN_DIR_DBG)\$(PRG_NAME_A_DBG_BASE).pdb del /F /Q $(INSTALL_STATIC_BIN_DIR_DBG)\$(PRG_NAME_A_DBG_BASE).pdb
|
||||
@if exist $(INSTALL_STATIC_BIN_DIR_STLDBG)\$(PRG_NAME_A_STLDBG_BASE).pdb del /F /Q $(INSTALL_STATIC_BIN_DIR_STLDBG)\$(PRG_NAME_A_STLDBG_BASE).pdb
|
||||
@if exist $(INSTALL_BIN_DIR)\$(PRG_NAME_BASE)$(EXE).manifest del /F /Q $(INSTALL_BIN_DIR)\$(PRG_NAME_BASE)$(EXE).manifest
|
||||
@if exist $(INSTALL_BIN_DIR_DBG)\$(PRG_NAME_DBG_BASE)$(EXE).manifest del /F /Q $(INSTALL_BIN_DIR_DBG)\$(PRG_NAME_DBG_BASE)$(EXE).manifest
|
||||
@if exist $(INSTALL_BIN_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE)$(EXE).manifest del /F /Q $(INSTALL_BIN_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE)$(EXE).manifest
|
||||
@-if exist $(INSTALL_BIN_DIR) rd $(INSTALL_BIN_DIR)
|
||||
@-if exist $(INSTALL_BIN_DIR_DBG) rd $(INSTALL_BIN_DIR_DBG)
|
||||
@-if exist $(INSTALL_BIN_DIR_STLDBG) rd $(INSTALL_BIN_DIR_STLDBG)
|
||||
@-if exist $(INSTALL_STATIC_BIN_DIR) rd $(INSTALL_STATIC_BIN_DIR)
|
||||
@-if exist $(INSTALL_STATIC_BIN_DIR_DBG) rd $(INSTALL_STATIC_BIN_DIR_DBG)
|
||||
@-if exist $(INSTALL_STATIC_BIN_DIR_STLDBG) rd $(INSTALL_STATIC_BIN_DIR_STLDBG)
|
||||
@@ -0,0 +1,15 @@
|
||||
# -*- makefile -*- Time-stamp: <04/05/01 00:46:25 ptr>
|
||||
# $Id$
|
||||
|
||||
# missing defines in this file: LDFLAGS_COMMON
|
||||
|
||||
# For CE, the linker by default uses WinMain() as entry point, using this we make it use the standard main()
|
||||
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /entry:"mainACRTStartup"
|
||||
|
||||
!ifndef LDLIBS
|
||||
LDLIBS =
|
||||
!endif
|
||||
|
||||
LDFLAGS_REL = $(LDFLAGS_REL) $(LDFLAGS_COMMON) $(LDSEARCH)
|
||||
LDFLAGS_DBG = $(LDFLAGS_DBG) $(LDFLAGS_COMMON) $(LDSEARCH)
|
||||
LDFLAGS_STLDBG = $(LDFLAGS_STLDBG) $(LDFLAGS_COMMON) $(LDSEARCH)
|
||||
@@ -0,0 +1,7 @@
|
||||
# -*- makefile -*- Time-stamp: <04/05/01 00:46:25 ptr>
|
||||
# $Id$
|
||||
|
||||
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /base:"0x00010000"
|
||||
|
||||
!include evc-common.mak
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# -*- makefile -*- Time-stamp: <04/03/31 08:08:12 ptr>
|
||||
# $Id$
|
||||
|
||||
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /base:"0x00010000"
|
||||
|
||||
!include evc-common.mak
|
||||
@@ -0,0 +1,5 @@
|
||||
# build/Makefiles/nmake/app/evc8.mak
|
||||
|
||||
LDFLAGS_COMMON = $(LDFLAGS_COMMON)
|
||||
|
||||
!include evc-common.mak
|
||||
@@ -0,0 +1,5 @@
|
||||
# build/Makefiles/nmake/app/evc9.mak
|
||||
|
||||
LDFLAGS_COMMON = $(LDFLAGS_COMMON)
|
||||
|
||||
!include evc-common.mak
|
||||
@@ -0,0 +1,2 @@
|
||||
!include vc-common.mak
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# -*- makefile -*- Time-stamp: <03/09/28 17:22:37 ptr>
|
||||
# $Id$
|
||||
|
||||
DBG_SUFFIX = d
|
||||
STLDBG_SUFFIX = stl$(DBG_SUFFIX)
|
||||
|
||||
PRG_NAME_BASE = $(PRGNAME)
|
||||
PRG_NAME_DBG_BASE = $(PRGNAME)$(DBG_SUFFIX)
|
||||
PRG_NAME_STLDBG_BASE = $(PRGNAME)$(STLDBG_SUFFIX)
|
||||
PRG_NAME_A_BASE = $(PRGNAME)_static
|
||||
PRG_NAME_A_DBG_BASE = $(PRGNAME)$(DBG_SUFFIX)_static
|
||||
PRG_NAME_A_STLDBG_BASE = $(PRGNAME)$(STLDBG_SUFFIX)_static
|
||||
|
||||
PRG = $(OUTPUT_DIR)\$(PRG_NAME_BASE)$(EXE)
|
||||
PRG_DBG = $(OUTPUT_DIR_DBG)\$(PRG_NAME_DBG_BASE)$(EXE)
|
||||
PRG_STLDBG = $(OUTPUT_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE)$(EXE)
|
||||
PRG_A = $(OUTPUT_DIR_A)\$(PRG_NAME_A_BASE)$(EXE)
|
||||
PRG_A_DBG = $(OUTPUT_DIR_A_DBG)\$(PRG_NAME_A_DBG_BASE)$(EXE)
|
||||
PRG_A_STLDBG = $(OUTPUT_DIR_A_STLDBG)\$(PRG_NAME_A_STLDBG_BASE)$(EXE)
|
||||
|
||||
PDB_NAME_OUT = $(OUTPUT_DIR)\$(PRG_NAME_BASE).pdb
|
||||
PDB_NAME_OUT_DBG = $(OUTPUT_DIR_DBG)\$(PRG_NAME_DBG_BASE).pdb
|
||||
PDB_NAME_OUT_STLDBG = $(OUTPUT_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE).pdb
|
||||
MANIFEST_NAME_OUT = $(PRG).manifest
|
||||
MANIFEST_NAME_OUT_DBG = $(PRG_DBG).manifest
|
||||
MANIFEST_NAME_OUT_STLDBG = $(PRG_STLDBG).manifest
|
||||
A_PDB_NAME_OUT = $(OUTPUT_DIR_A)\$(PRG_NAME_A_BASE).pdb
|
||||
A_PDB_NAME_OUT_DBG = $(OUTPUT_DIR_A_DBG)\$(PRG_NAME_A_DBG_BASE).pdb
|
||||
A_PDB_NAME_OUT_STLDBG = $(OUTPUT_DIR_A_STLDBG)\$(PRG_NAME_A_STLDBG_BASE).pdb
|
||||
@@ -0,0 +1,29 @@
|
||||
# -*- makefile -*- Time-stamp: <03/10/26 23:11:03 ptr>
|
||||
# $Id$
|
||||
|
||||
release-shared: $(OUTPUT_DIR) $(PRG)
|
||||
release-static: $(OUTPUT_DIR_A) $(PRG_A)
|
||||
|
||||
dbg-shared: $(OUTPUT_DIR_DBG) $(PRG_DBG)
|
||||
dbg-static: $(OUTPUT_DIR_A_DBG) $(PRG_A_DBG)
|
||||
|
||||
stldbg-shared: $(OUTPUT_DIR_STLDBG) $(PRG_STLDBG)
|
||||
stldbg-static: $(OUTPUT_DIR_A_STLDBG) $(PRG_A_STLDBG)
|
||||
|
||||
$(PRG): $(OBJ) $(LIBSDEP)
|
||||
$(LINK_cc_REL) $(LINK_OUTPUT_OPTION) $(OBJ) $(LDLIBS_REL) $(LDLIBS)
|
||||
|
||||
$(PRG_A): $(OBJ_A) $(LIBSDEP)
|
||||
$(LINK_cc_A_REL) $(LINK_OUTPUT_OPTION) $(OBJ_A) $(LDLIBS_A_REL) $(LDLIBS)
|
||||
|
||||
$(PRG_DBG): $(OBJ_DBG) $(LIBSDEP)
|
||||
$(LINK_cc_DBG) $(LINK_OUTPUT_OPTION) $(OBJ_DBG) $(LDLIBS_DBG) $(LDLIBS)
|
||||
|
||||
$(PRG_A_DBG): $(OBJ_A_DBG) $(LIBSDEP)
|
||||
$(LINK_cc_A_DBG) $(LINK_OUTPUT_OPTION) $(OBJ_A_DBG) $(LDLIBS_A_DBG) $(LDLIBS)
|
||||
|
||||
$(PRG_STLDBG): $(OBJ_STLDBG) $(LIBSDEP)
|
||||
$(LINK_cc_STLDBG) $(LINK_OUTPUT_OPTION) $(OBJ_STLDBG) $(LDLIBS_STLDBG) $(LDLIBS)
|
||||
|
||||
$(PRG_A_STLDBG): $(OBJ_A_STLDBG) $(LIBSDEP)
|
||||
$(LINK_cc_A_STLDBG) $(LINK_OUTPUT_OPTION) $(OBJ_A_STLDBG) $(LDLIBS_A_STLDBG) $(LDLIBS)
|
||||
Loaded 100 of 3937 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user