Jerome Gardou:
- Add STLport 5.2.1 (yes, STLport, the c++ stl implementation) to build. For now, it works only in user mode.
- Link some c++ executables to it
- sol.exe : one step towards a complete and modern OS.
- Dedicated to Amine for his patience and his help.
- Might Break Things! (tm)

svn path=/branches/cmake-bringup/; revision=49046
This commit is contained in:
Amine Khaldi 2010-10-07 22:09:31 +00:00
parent 4553cddf93
commit 4efda499f7
891 changed files with 149679 additions and 161 deletions

View file

@ -92,6 +92,8 @@ include_directories(include/ndk)
include_directories(include/reactos)
include_directories(include/reactos/libs)
include_directories(BEFORE lib/3rdparty/stlport/stlport)
add_subdirectory(include/psdk)
add_subdirectory(include/dxsdk)
add_subdirectory(include/reactos/idl)

View file

@ -9,7 +9,8 @@ add_executable(sol
solitaire.cpp
rsrc.rc)
target_link_libraries(sol cardlib)
target_link_libraries(sol stlport cardlib)
set_module_type(sol win32gui)
add_importlibs(sol advapi32 comctl32 user32 gdi32 stdc++ gcc mingw32 msvcrt)
add_importlibs(sol advapi32 comctl32 user32 gdi32 msvcrt)

View file

@ -22,6 +22,8 @@ add_executable(telnet
src/ttelhndl.cpp
telnet.rc)
target_link_libraries(telnet stlport)
set_module_type(telnet win32cui)
add_importlibs(telnet ws2_32 user32 msvcrt)

View file

@ -10,6 +10,8 @@ add_executable(sndrec32
sndrec32.cpp
rsrc.rc)
target_link_libraries(sndrec32 stlport)
set_module_type(sndrec32 win32gui)
add_importlibs(sndrec32 winmm user32 msacm32 comctl32 comdlg32 gdi32 msvcrt)

286
gcc.cmake
View file

@ -1,136 +1,150 @@
if(NOT CMAKE_CROSSCOMPILING)
add_definitions(-fshort-wchar)
else()
# Linking
link_directories("${REACTOS_SOURCE_DIR}/importlibs" ${REACTOS_BINARY_DIR}/lib/3rdparty/mingw)
set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> -lstdc++ -lsupc++ -lgcc -lmingwex -lmingw32 <LINK_LIBRARIES>")
set(CMAKE_EXE_LINKER_FLAGS "-nodefaultlibs -nostdlib -Wl,--enable-auto-image-base -Wl,--kill-at")
# -Wl,-T,${REACTOS_SOURCE_DIR}/global.lds
# Compiler Core
add_definitions(-pipe -fms-extensions)
set(CMAKE_C_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
set(CMAKE_RC_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
# Debugging (Note: DWARF-4 on 4.5.1 when we ship)
#add_definitions(-gdwarf-2 -g2 -femit-struct-debug-detailed=none -feliminate-unused-debug-types)
# Tuning
add_definitions(-march=pentium -mtune=i686)
# Warnings
add_definitions(-Wall -Wno-char-subscripts -Wpointer-arith -Wno-multichar -Wno-error=uninitialized -Wno-unused-value -Winvalid-pch)
# Optimizations
add_definitions(-Os -fno-strict-aliasing -ftracer -momit-leaf-frame-pointer -mpreferred-stack-boundary=2 -fno-set-stack-executable -fno-optimize-sibling-calls)
# Macros
macro(set_entrypoint MODULE ENTRYPOINT)
if(${ENTRYPOINT} STREQUAL "0")
set(NEW_LINKER_FLAGS "-Wl,-entry,0")
else()
set(NEW_LINKER_FLAGS "-Wl,-entry,_${ENTRYPOINT}")
endif()
get_target_property(LINKER_FLAGS ${MODULE} LINK_FLAGS)
if(LINKER_FLAGS)
set(NEW_LINKER_FLAGS "${LINKER_FLAGS} ${NEW_LINKER_FLAGS}")
endif()
set_target_properties(${MODULE} PROPERTIES LINK_FLAGS ${NEW_LINKER_FLAGS})
endmacro()
macro(set_subsystem MODULE SUBSYSTEM)
set(NEW_LINKER_FLAGS "-Wl,--subsystem,${SUBSYSTEM}")
get_target_property(LINKER_FLAGS ${MODULE} LINK_FLAGS)
if(LINKER_FLAGS)
set(NEW_LINKER_FLAGS "${LINKER_FLAGS} ${NEW_LINKER_FLAGS}")
endif()
set_target_properties(${MODULE} PROPERTIES LINK_FLAGS ${NEW_LINKER_FLAGS})
endmacro()
macro(add_importlibs MODULE)
foreach(LIB ${ARGN})
target_link_libraries(${MODULE} ${LIB}.a)
endforeach()
endmacro()
macro(set_module_type MODULE TYPE)
add_dependencies(${MODULE} psdk buildno_header)
if(${TYPE} MATCHES nativecui)
set_subsystem(${MODULE} native)
set_entrypoint(${MODULE} NtProcessStartup@4)
endif()
if(${TYPE} MATCHES win32gui)
set_subsystem(${MODULE} windows)
set_entrypoint(${MODULE} WinMainCRTStartup)
if(NOT IS_UNICODE)
target_link_libraries(${MODULE} mingw_main)
else()
target_link_libraries(${MODULE} mingw_wmain)
endif(NOT IS_UNICODE)
target_link_libraries(${MODULE} mingw_common)
endif()
if(${TYPE} MATCHES win32cui)
set_subsystem(${MODULE} console)
set_entrypoint(${MODULE} mainCRTStartup)
if(NOT IS_UNICODE)
target_link_libraries(${MODULE} mingw_main)
else()
target_link_libraries(${MODULE} mingw_wmain)
endif(NOT IS_UNICODE)
target_link_libraries(${MODULE} mingw_common)
endif()
if(${TYPE} MATCHES win32dll)
set_entrypoint(${MODULE} DllMain@12)
endif()
if(${TYPE} MATCHES win32ocx)
set_entrypoint(${MODULE} DllMain@12)
set_target_properties(${MODULE} PROPERTIES SUFFIX ".ocx")
endif()
endmacro()
endif()
macro(set_unicode)
add_definitions(-DUNICODE -D_UNICODE)
set(IS_UNICODE 1)
endmacro()
# Workaround lack of mingw RC support in cmake
macro(set_rc_compiler)
get_directory_property(defines COMPILE_DEFINITIONS)
get_directory_property(includes INCLUDE_DIRECTORIES)
foreach(arg ${defines})
set(result_defs "${result_defs} -D${arg}")
endforeach(arg ${defines})
foreach(arg ${includes})
set(result_incs "-I${arg} ${result_incs}")
endforeach(arg ${includes})
set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> ${result_defs} ${result_incs} -i <SOURCE> -O coff -o <OBJECT>")
endmacro()
#typelib support
macro(ADD_TYPELIB TARGET)
foreach(SOURCE ${ARGN})
get_filename_component(FILE ${SOURCE} NAME_WE)
set(OBJECT ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.tlb)
add_custom_command(OUTPUT ${OBJECT}
COMMAND native-widl -I${REACTOS_SOURCE_DIR}/include/dxsdk -I. -I${REACTOS_SOURCE_DIR}/include -I${REACTOS_SOURCE_DIR}/include/psdk -m32 --win32 -t -T ${OBJECT} ${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}
DEPENDS native-widl)
list(APPEND OBJECTS ${OBJECT})
endforeach()
add_custom_target(${TARGET} ALL DEPENDS ${OBJECTS})
endmacro()
if(NOT CMAKE_CROSSCOMPILING)
add_definitions(-fshort-wchar)
else()
# Linking
link_directories("${REACTOS_SOURCE_DIR}/importlibs" ${REACTOS_BINARY_DIR}/lib/3rdparty/mingw)
set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
set(CMAKE_EXE_LINKER_FLAGS "-nodefaultlibs -nostdlib -Wl,--enable-auto-image-base -Wl,--kill-at")
# -Wl,-T,${REACTOS_SOURCE_DIR}/global.lds
# Compiler Core
add_definitions(-pipe -fms-extensions)
# stlport special
add_definitions(-D_STLP_GCC_USES_GNU_LD)
set(CMAKE_C_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
set(CMAKE_RC_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
# Debugging (Note: DWARF-4 on 4.5.1 when we ship)
#add_definitions(-gdwarf-2 -g2 -femit-struct-debug-detailed=none -feliminate-unused-debug-types)
# Tuning
add_definitions(-march=pentium -mtune=i686)
# Warnings
add_definitions(-Wall -Wno-char-subscripts -Wpointer-arith -Wno-multichar -Wno-error=uninitialized -Wno-unused-value -Winvalid-pch)
# Optimizations
add_definitions(-Os -fno-strict-aliasing -ftracer -momit-leaf-frame-pointer -mpreferred-stack-boundary=2 -fno-set-stack-executable -fno-optimize-sibling-calls)
# Macros
macro(set_entrypoint MODULE ENTRYPOINT)
if(${ENTRYPOINT} STREQUAL "0")
set(NEW_LINKER_FLAGS "-Wl,-entry,0")
else()
set(NEW_LINKER_FLAGS "-Wl,-entry,_${ENTRYPOINT}")
endif()
get_target_property(LINKER_FLAGS ${MODULE} LINK_FLAGS)
if(LINKER_FLAGS)
set(NEW_LINKER_FLAGS "${LINKER_FLAGS} ${NEW_LINKER_FLAGS}")
endif()
set_target_properties(${MODULE} PROPERTIES LINK_FLAGS ${NEW_LINKER_FLAGS})
endmacro()
macro(set_subsystem MODULE SUBSYSTEM)
set(NEW_LINKER_FLAGS "-Wl,--subsystem,${SUBSYSTEM}")
get_target_property(LINKER_FLAGS ${MODULE} LINK_FLAGS)
if(LINKER_FLAGS)
set(NEW_LINKER_FLAGS "${LINKER_FLAGS} ${NEW_LINKER_FLAGS}")
endif()
set_target_properties(${MODULE} PROPERTIES LINK_FLAGS ${NEW_LINKER_FLAGS})
endmacro()
macro(add_importlibs MODULE)
foreach(LIB ${ARGN})
target_link_libraries(${MODULE} ${LIB}.dll.a)
endforeach()
endmacro()
macro(set_module_type MODULE TYPE)
add_dependencies(${MODULE} psdk buildno_header)
if(${TYPE} MATCHES nativecui)
set_subsystem(${MODULE} native)
set_entrypoint(${MODULE} NtProcessStartup@4)
endif()
if(${TYPE} MATCHES win32gui)
set_subsystem(${MODULE} windows)
set_entrypoint(${MODULE} WinMainCRTStartup)
if(NOT IS_UNICODE)
target_link_libraries(${MODULE} mingw_main)
else()
target_link_libraries(${MODULE} mingw_wmain)
endif(NOT IS_UNICODE)
target_link_libraries(${MODULE} mingw_common)
endif()
if(${TYPE} MATCHES win32cui)
set_subsystem(${MODULE} console)
set_entrypoint(${MODULE} mainCRTStartup)
if(NOT IS_UNICODE)
target_link_libraries(${MODULE} mingw_main)
else()
target_link_libraries(${MODULE} mingw_wmain)
endif(NOT IS_UNICODE)
target_link_libraries(${MODULE} mingw_common)
endif()
if(${TYPE} MATCHES win32dll)
set_entrypoint(${MODULE} DllMain@12)
endif()
if(${TYPE} MATCHES win32ocx)
set_entrypoint(${MODULE} DllMain@12)
set_target_properties(${MODULE} PROPERTIES SUFFIX ".ocx")
endif()
endmacro()
endif()
macro(set_unicode)
add_definitions(-DUNICODE -D_UNICODE)
set(IS_UNICODE 1)
endmacro()
# Workaround lack of mingw RC support in cmake
macro(set_rc_compiler)
get_directory_property(defines COMPILE_DEFINITIONS)
get_directory_property(includes INCLUDE_DIRECTORIES)
foreach(arg ${defines})
set(result_defs "${result_defs} -D${arg}")
endforeach(arg ${defines})
foreach(arg ${includes})
set(result_incs "-I${arg} ${result_incs}")
endforeach(arg ${includes})
set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> ${result_defs} ${result_incs} -i <SOURCE> -O coff -o <OBJECT>")
endmacro()
#typelib support
macro(ADD_TYPELIB TARGET)
foreach(SOURCE ${ARGN})
get_filename_component(FILE ${SOURCE} NAME_WE)
set(OBJECT ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.tlb)
add_custom_command(OUTPUT ${OBJECT}
COMMAND native-widl -I${REACTOS_SOURCE_DIR}/include/dxsdk -I. -I${REACTOS_SOURCE_DIR}/include -I${REACTOS_SOURCE_DIR}/include/psdk -m32 --win32 -t -T ${OBJECT} ${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}
DEPENDS native-widl)
list(APPEND OBJECTS ${OBJECT})
endforeach()
add_custom_target(${TARGET} ALL DEPENDS ${OBJECTS})
endmacro()
#linkage hell...
add_library(msvcrt_imp SHARED IMPORTED)
set_target_properties(msvcrt_imp PROPERTIES IMPORTED_IMPLIB ${REACTOS_SOURCE_DIR}/importlibs/libmsvcrt.a)
add_library(gcc STATIC IMPORTED)
set_target_properties(gcc PROPERTIES IMPORTED_LOCATION ${REACTOS_SOURCE_DIR}/importlibs/libgcc.a
IMPORTED_LINK_INTERFACE_LIBRARIES "mingw_common -lkernel32")
add_library(supc++ STATIC IMPORTED)
set_target_properties(supc++ PROPERTIES IMPORTED_LOCATION ${REACTOS_SOURCE_DIR}/importlibs/libsupc++.a
IMPORTED_LINK_INTERFACE_LIBRARIES "gcc -lmsvcrt")

View file

@ -13,13 +13,7 @@
extern "C" {
#endif
#ifndef _CRT_ERRNO_DEFINED
#define _CRT_ERRNO_DEFINED
_CRTIMP extern int *__cdecl _errno(void);
#define errno (*_errno())
errno_t __cdecl _set_errno(int _Value);
errno_t __cdecl _get_errno(int *_Value);
#endif
#include <errno.h>
_CRTIMP extern unsigned long __cdecl __threadid(void);
#define _threadid (__threadid())

View file

@ -1850,8 +1850,8 @@ VOID WINAPI InitializeSRWLock(PSRWLOCK);
LONG WINAPI InterlockedOr(IN OUT LONG volatile *,LONG);
LONG WINAPI InterlockedAnd(IN OUT LONG volatile *,LONG);
LONG WINAPI InterlockedCompareExchange(IN OUT LONG volatile *,LONG,LONG);
LONG WINAPI InterlockedDecrement(IN OUT LONG volatile *);
LONG WINAPI InterlockedExchange(IN OUT LONG volatile *,LONG);
WINBASEAPI LONG WINAPI InterlockedDecrement(IN OUT LONG volatile *);
WINBASEAPI LONG WINAPI InterlockedExchange(IN OUT LONG volatile *,LONG);
#if defined(_WIN64)
/* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */
#define InterlockedExchangePointer(t,v) \
@ -1871,7 +1871,7 @@ LONG WINAPI InterlockedExchangeAdd(IN OUT LONG volatile *,LONG);
#if (_WIN32_WINNT >= 0x0501)
PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER);
#endif
LONG WINAPI InterlockedIncrement(IN OUT LONG volatile *);
WINBASEAPI LONG WINAPI InterlockedIncrement(IN OUT LONG volatile *);
#if (_WIN32_WINNT >= 0x0501)
PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER);
PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY);
@ -2063,8 +2063,8 @@ HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD);
BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
void WINAPI OutputDebugStringA(LPCSTR);
void WINAPI OutputDebugStringW(LPCWSTR);
WINBASEAPI void WINAPI OutputDebugStringA(LPCSTR);
WINBASEAPI void WINAPI OutputDebugStringW(LPCWSTR);
BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD);
BOOL WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,ULONG_PTR,LPOVERLAPPED);
DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL);
@ -2243,7 +2243,7 @@ BOOL WINAPI SetVolumeMountPointW(LPCWSTR,LPCWSTR);
BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,PVOID,BOOL);
DWORD WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL);
DWORD WINAPI SizeofResource(HINSTANCE,HRSRC);
void WINAPI Sleep(DWORD);
WINBASEAPI void WINAPI Sleep(DWORD);
#if (_WIN32_WINNT >= 0x0600)
BOOL WINAPI SleepConditionVariableCS(PCONDITION_VARIABLE,PCRITICAL_SECTION,DWORD);
BOOL WINAPI SleepConditionVariableSRW(PCONDITION_VARIABLE,PSRWLOCK,DWORD,ULONG);

View file

@ -47,11 +47,6 @@ BOOL WINAPI EncryptionDisable (
BOOL
);
BOOL WINAPI FileEncryptionStatus (
LPCTSTR,
LPDWORD
);
DWORD WINAPI QueryUsersOnEncryptedFile (
LPCWSTR,
PENCRYPTION_CERTIFICATE_HASH_LIST*

View file

@ -11,4 +11,5 @@ add_subdirectory(libsamplerate)
add_subdirectory(libwine)
add_subdirectory(libxml2)
add_subdirectory(mingw)
add_subdirectory(stlport)
add_subdirectory(zlib)

View file

@ -41,8 +41,9 @@ list(APPEND MINGW_COMMON_SOURCE
add_library(mingw_common ${MINGW_COMMON_SOURCE})
if(NOT MSVC)
target_link_libraries(mingw_common oldnames)
add_importlibs(mingw_common kernel32 ntdll)
target_link_libraries(mingw_common)
add_importlibs(mingw_common kernel32 ntdll oldnames)
add_dependencies(mingw_common oldnames)
endif(NOT MSVC)
set_target_properties(mingw_common PROPERTIES COMPILE_DEFINITIONS _M_CEE_PURE)
@ -56,6 +57,10 @@ add_library(mingw_wmain crt0_w.c crtexe.c dllargv.c)
set_property(TARGET mingw_wmain PROPERTY COMPILE_DEFINITIONS WPRFLAG UNICODE _UNICODE)
add_dependencies(mingw_wmain psdk)
#hack : this way, every executable will be linked to libgcc
target_link_libraries(mingw_main gcc)
target_link_libraries(mingw_wmain gcc)
add_library(mingw_dllmain crtdll.c dllargv.c)
add_dependencies(mingw_dllmain psdk)

47
lib/3rdparty/stlport/CMakeLists.txt vendored Normal file
View file

@ -0,0 +1,47 @@
#uncomment this if you want to test c++ compilation
#add_subdirectory(test)
add_definitions(-D_STLP_USE_EXCEPTIONS)
list(APPEND SOURCE
src/allocators.cpp
src/bitset.cpp
src/codecvt.cpp
src/collate.cpp
src/complex.cpp
src/complex_io.cpp
src/complex_trig.cpp
src/ctype.cpp
src/dll_main.cpp
src/facets_byname.cpp
src/fstream.cpp
src/ios.cpp
src/iostream.cpp
src/istream.cpp
src/locale.cpp
src/locale_catalog.cpp
src/locale_impl.cpp
src/messages.cpp
src/monetary.cpp
src/num_get.cpp
src/num_get_float.cpp
src/num_put.cpp
src/num_put_float.cpp
src/numpunct.cpp
src/ostream.cpp
src/sstream.cpp
src/stdio_streambuf.cpp
src/string.cpp
src/strstream.cpp
src/time_facets.cpp
src/c_locale.c
src/cxa.c)
add_library(stlport ${SOURCE})
if(NOT MSVC)
#those are mandatory to get correctly ordered linked libraries.
target_link_libraries(stlport supc++ msvcrt.dll.a)
add_importlibs(stlport msvcrt)
endif()

166
lib/3rdparty/stlport/INSTALL vendored Normal file
View file

@ -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!

120
lib/3rdparty/stlport/INSTALL.unixes vendored Normal file
View file

@ -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!

26
lib/3rdparty/stlport/Makefile vendored Normal file
View file

@ -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

64
lib/3rdparty/stlport/README vendored Normal file
View file

@ -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.
*
**********************************************************************

View file

@ -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 $@

View file

@ -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 $@

View file

@ -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
#

View file

@ -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
#

View file

@ -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)

View file

@ -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)

View file

@ -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

View file

@ -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
#

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 $@

View file

@ -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

View file

@ -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}

View file

@ -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)

View file

@ -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)/

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 = $@

View file

@ -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)

View file

@ -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 $@

View file

@ -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

View file

@ -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

View file

@ -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 = $@

View file

@ -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 $@

View file

@ -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

View file

@ -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 = $@

View file

@ -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 $@

View file

@ -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 }' > $@

View file

@ -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)

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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 = $@

View file

@ -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

View file

@ -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 = $@

View file

@ -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

View file

@ -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

View file

@ -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 = $@

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -0,0 +1,99 @@
# 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 $@

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type='text/xsl' href='_UpgradeReport_Files/UpgradeReport.xslt'?><UpgradeLog>
<Properties><Property Name="Solution" Value="targets">
</Property><Property Name="Fichier solution" Value="D:\Programmation\reactos_cmake\lib\3rdparty\stlport\build\Makefiles\nmake\targets.sln">
</Property><Property Name="Date" Value="vendredi 1 octobre 2010">
</Property><Property Name="Time" Value="11:21:33">
</Property></Properties><Event ErrorLevel="0" Project="targets" Source="targets.mak" Description="Converting project file 'D:\Programmation\reactos_cmake\lib\3rdparty\stlport\build\Makefiles\nmake\targets.mak'.">
</Event><Event ErrorLevel="2" Project="D:\Programmation\reactos_cmake\lib\3rdparty\stlport\build\Makefiles\nmake\targets.mak" Source="" Description="The following error has occurred during XML parsing:&#xA;&#xA;File: D:\Programmation\reactos_cmake\lib\3rdparty\stlport\build\Makefiles\nmake\targets.mak&#xA;Line: 1&#xA;Column: 1&#xA;Error Message:&#xA;Syntaxe de document incorrecte.&#xA;&#xA;The file 'D:\Programmation\reactos_cmake\lib\3rdparty\stlport\build\Makefiles\nmake\targets.mak' has failed to load.">
</Event><Event ErrorLevel="2" Project="targets" Source="targets.mak" Description="La balise de fin xs:choice ne correspond pas à la balise de début xs:sequence.&#xA;">
</Event><Event ErrorLevel="2" Project="targets" Source="targets.mak" Description="La mise à niveau du projet a échoué.">
</Event><Event ErrorLevel="3" Project="targets" Source="targets.mak" Description="Non convertie">
</Event><Event ErrorLevel="2" Project="" Source="targets.mak" Description="La mise à niveau du projet a échoué.">
</Event></UpgradeLog>

View file

@ -0,0 +1,207 @@
BODY
{
BACKGROUND-COLOR: white;
FONT-FAMILY: "Verdana", sans-serif;
FONT-SIZE: 100%;
MARGIN-LEFT: 0px;
MARGIN-TOP: 0px
}
P
{
FONT-FAMILY: "Verdana", sans-serif;
FONT-SIZE: 70%;
LINE-HEIGHT: 12pt;
MARGIN-BOTTOM: 0px;
MARGIN-LEFT: 10px;
MARGIN-TOP: 10px
}
.note
{
BACKGROUND-COLOR: #ffffff;
COLOR: #336699;
FONT-FAMILY: "Verdana", sans-serif;
FONT-SIZE: 100%;
MARGIN-BOTTOM: 0px;
MARGIN-LEFT: 0px;
MARGIN-TOP: 0px;
PADDING-RIGHT: 10px
}
.infotable
{
BACKGROUND-COLOR: #f0f0e0;
BORDER-BOTTOM: #ffffff 0px solid;
BORDER-COLLAPSE: collapse;
BORDER-LEFT: #ffffff 0px solid;
BORDER-RIGHT: #ffffff 0px solid;
BORDER-TOP: #ffffff 0px solid;
FONT-SIZE: 70%;
MARGIN-LEFT: 10px
}
.issuetable
{
BACKGROUND-COLOR: #ffffe8;
BORDER-COLLAPSE: collapse;
COLOR: #000000;
FONT-SIZE: 100%;
MARGIN-BOTTOM: 10px;
MARGIN-LEFT: 13px;
MARGIN-TOP: 0px
}
.issuetitle
{
BACKGROUND-COLOR: #ffffff;
BORDER-BOTTOM: #dcdcdc 1px solid;
BORDER-TOP: #dcdcdc 1px;
COLOR: #003366;
FONT-WEIGHT: normal
}
.header
{
BACKGROUND-COLOR: #cecf9c;
BORDER-BOTTOM: #ffffff 1px solid;
BORDER-LEFT: #ffffff 1px solid;
BORDER-RIGHT: #ffffff 1px solid;
BORDER-TOP: #ffffff 1px solid;
COLOR: #000000;
FONT-WEIGHT: bold
}
.issuehdr
{
BACKGROUND-COLOR: #E0EBF5;
BORDER-BOTTOM: #dcdcdc 1px solid;
BORDER-TOP: #dcdcdc 1px solid;
COLOR: #000000;
FONT-WEIGHT: normal
}
.issuenone
{
BACKGROUND-COLOR: #ffffff;
BORDER-BOTTOM: 0px;
BORDER-LEFT: 0px;
BORDER-RIGHT: 0px;
BORDER-TOP: 0px;
COLOR: #000000;
FONT-WEIGHT: normal
}
.content
{
BACKGROUND-COLOR: #e7e7ce;
BORDER-BOTTOM: #ffffff 1px solid;
BORDER-LEFT: #ffffff 1px solid;
BORDER-RIGHT: #ffffff 1px solid;
BORDER-TOP: #ffffff 1px solid;
PADDING-LEFT: 3px
}
.issuecontent
{
BACKGROUND-COLOR: #ffffff;
BORDER-BOTTOM: #dcdcdc 1px solid;
BORDER-TOP: #dcdcdc 1px solid;
PADDING-LEFT: 3px
}
A:link
{
COLOR: #cc6633;
TEXT-DECORATION: underline
}
A:visited
{
COLOR: #cc6633;
}
A:active
{
COLOR: #cc6633;
}
A:hover
{
COLOR: #cc3300;
TEXT-DECORATION: underline
}
H1
{
BACKGROUND-COLOR: #003366;
BORDER-BOTTOM: #336699 6px solid;
COLOR: #ffffff;
FONT-SIZE: 130%;
FONT-WEIGHT: normal;
MARGIN: 0em 0em 0em -20px;
PADDING-BOTTOM: 8px;
PADDING-LEFT: 30px;
PADDING-TOP: 16px
}
H2
{
COLOR: #000000;
FONT-SIZE: 80%;
FONT-WEIGHT: bold;
MARGIN-BOTTOM: 3px;
MARGIN-LEFT: 10px;
MARGIN-TOP: 20px;
PADDING-LEFT: 0px
}
H3
{
COLOR: #000000;
FONT-SIZE: 80%;
FONT-WEIGHT: bold;
MARGIN-BOTTOM: -5px;
MARGIN-LEFT: 10px;
MARGIN-TOP: 20px
}
H4
{
COLOR: #000000;
FONT-SIZE: 70%;
FONT-WEIGHT: bold;
MARGIN-BOTTOM: 0px;
MARGIN-TOP: 15px;
PADDING-BOTTOM: 0px
}
UL
{
COLOR: #000000;
FONT-SIZE: 70%;
LIST-STYLE: square;
MARGIN-BOTTOM: 0pt;
MARGIN-TOP: 0pt
}
OL
{
COLOR: #000000;
FONT-SIZE: 70%;
LIST-STYLE: square;
MARGIN-BOTTOM: 0pt;
MARGIN-TOP: 0pt
}
LI
{
LIST-STYLE: square;
MARGIN-LEFT: 0px
}
.expandable
{
CURSOR: hand
}
.expanded
{
color: black
}
.collapsed
{
DISPLAY: none
}
.foot
{
BACKGROUND-COLOR: #ffffff;
BORDER-BOTTOM: #cecf9c 1px solid;
BORDER-TOP: #cecf9c 2px solid
}
.settings
{
MARGIN-LEFT: 25PX;
}
.help
{
TEXT-ALIGN: right;
margin-right: 10px;
}

View file

@ -0,0 +1,232 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:key name="ProjectKey" match="Event" use="@Project"/>
<xsl:template match="Events" mode="createProjects">
<projects>
<xsl:for-each select="Event">
<!--xsl:sort select="@Project" order="descending"/-->
<xsl:if test="(1=position()) or (preceding-sibling::*[1]/@Project != @Project)">
<xsl:variable name="ProjectName" select="@Project"/>
<project>
<xsl:attribute name="name">
<xsl:value-of select="@Project"/>
</xsl:attribute>
<xsl:if test="@Project=''">
<xsl:attribute name="solution">
<xsl:value-of select="@Solution"/>
</xsl:attribute>
</xsl:if>
<xsl:for-each select="key('ProjectKey', $ProjectName)">
<!--xsl:sort select="@Source" /-->
<xsl:if test="(1=position()) or (preceding-sibling::*[1]/@Source != @Source)">
<source>
<xsl:attribute name="name">
<xsl:value-of select="@Source"/>
</xsl:attribute>
<xsl:variable name="Source">
<xsl:value-of select="@Source"/>
</xsl:variable>
<xsl:for-each select="key('ProjectKey', $ProjectName)[ @Source = $Source ]">
<event>
<xsl:attribute name="error-level">
<xsl:value-of select="@ErrorLevel"/>
</xsl:attribute>
<xsl:attribute name="description">
<xsl:value-of select="@Description"/>
</xsl:attribute>
</event>
</xsl:for-each>
</source>
</xsl:if>
</xsl:for-each>
</project>
</xsl:if>
</xsl:for-each>
</projects>
</xsl:template>
<xsl:template match="projects">
<xsl:for-each select="project">
<xsl:sort select="@Name" order="ascending"/>
<h2>
<xsl:if test="@solution"><a _locID="Solution">Solution</a>: <xsl:value-of select="@solution"/></xsl:if>
<xsl:if test="not(@solution)"><a _locID="Project">Projet</a>: <xsl:value-of select="@name"/>
<xsl:for-each select="source">
<xsl:variable name="Hyperlink" select="@name"/>
<xsl:for-each select="event[@error-level='4']">
<A class="note"><xsl:attribute name="HREF"><xsl:value-of select="$Hyperlink"/></xsl:attribute><xsl:value-of select="@description"/></A>
</xsl:for-each>
</xsl:for-each>
</xsl:if>
</h2>
<table cellpadding="2" cellspacing="0" width="98%" border="1" bordercolor="white" class="infotable">
<tr>
<td nowrap="1" class="header" _locID="Filename">Nom de fichier</td>
<td nowrap="1" class="header" _locID="Status">État</td>
<td nowrap="1" class="header" _locID="Errors">Erreurs</td>
<td nowrap="1" class="header" _locID="Warnings">Avertissements</td>
</tr>
<xsl:for-each select="source">
<xsl:sort select="@name" order="ascending"/>
<xsl:variable name="source-id" select="generate-id(.)"/>
<xsl:if test="count(event)!=count(event[@error-level='4'])">
<tr class="row">
<td class="content">
<A HREF="javascript:"><xsl:attribute name="onClick">javascript:document.images['<xsl:value-of select="$source-id"/>'].click()</xsl:attribute><IMG border="0" _locID="IMG.alt" _locAttrData="alt" alt="développer/réduire la section" class="expandable" height="11" onclick="changepic()" src="_UpgradeReport_Files/UpgradeReport_Plus.gif" width="9"><xsl:attribute name="name"><xsl:value-of select="$source-id"/></xsl:attribute><xsl:attribute name="child">src<xsl:value-of select="$source-id"/></xsl:attribute></IMG></A> <xsl:value-of select="@name"/>
</td>
<td class="content">
<xsl:if test="count(event[@error-level='3'])=1">
<xsl:for-each select="event[@error-level='3']">
<xsl:if test="@description='Converted'"><a _locID="Converted1">Converti</a></xsl:if>
<xsl:if test="@description!='Converted'"><xsl:value-of select="@description"/></xsl:if>
</xsl:for-each>
</xsl:if>
<xsl:if test="count(event[@error-level='3'])!=1 and count(event[@error-level='3' and @description='Converted'])!=0"><a _locID="Converted2">Converti</a>
</xsl:if>
</td>
<td class="content"><xsl:value-of select="count(event[@error-level='2'])"/></td>
<td class="content"><xsl:value-of select="count(event[@error-level='1'])"/></td>
</tr>
<tr class="collapsed" bgcolor="#ffffff">
<xsl:attribute name="id">src<xsl:value-of select="$source-id"/></xsl:attribute>
<td colspan="7">
<table width="97%" border="1" bordercolor="#dcdcdc" rules="cols" class="issuetable">
<tr>
<td colspan="7" class="issuetitle" _locID="ConversionIssues">Rapport de conversion - <xsl:value-of select="@name"/>:</td>
</tr>
<xsl:for-each select="event[@error-level!='3']">
<xsl:if test="@error-level!='4'">
<tr>
<td class="issuenone" style="border-bottom:solid 1 lightgray">
<xsl:value-of select="@description"/>
</td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</td>
</tr>
</xsl:if>
</xsl:for-each>
<tr valign="top">
<td class="foot">
<xsl:if test="count(source)!=1">
<xsl:value-of select="count(source)"/><a _locID="file1"> fichiers</a>
</xsl:if>
<xsl:if test="count(source)=1">
<a _locID="file2">1 fichier</a>
</xsl:if>
</td>
<td class="foot">
<a _locID="Converted3">Converti</a>: <xsl:value-of select="count(source/event[@error-level='3' and @description='Converted'])"/><BR/>
<a _locID="NotConverted">Non converti</a>: <xsl:value-of select="count(source) - count(source/event[@error-level='3' and @description='Converted'])"/>
</td>
<td class="foot"><xsl:value-of select="count(source/event[@error-level='2'])"/></td>
<td class="foot"><xsl:value-of select="count(source/event[@error-level='1'])"/></td>
</tr>
</table>
</xsl:for-each>
</xsl:template>
<xsl:template match="Property">
<xsl:if test="@Name!='Date' and @Name!='Time' and @Name!='LogNumber' and @Name!='Solution'">
<tr><td nowrap="1"><b><xsl:value-of select="@Name"/>: </b><xsl:value-of select="@Value"/></td></tr>
</xsl:if>
</xsl:template>
<xsl:template match="UpgradeLog">
<html>
<head>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" href="_UpgradeReport_Files\UpgradeReport.css"/>
<title _locID="ConversionReport0">Rapport de conversion
<xsl:if test="Properties/Property[@Name='LogNumber']">
<xsl:value-of select="Properties/Property[@Name='LogNumber']/@Value"/>
</xsl:if>
</title>
<script language="javascript">
function outliner () {
oMe = window.event.srcElement
//get child element
var child = document.all[event.srcElement.getAttribute("child",false)];
//if child element exists, expand or collapse it.
if (null != child)
child.className = child.className == "collapsed" ? "expanded" : "collapsed";
}
function changepic() {
uMe = window.event.srcElement;
var check = uMe.src.toLowerCase();
if (check.lastIndexOf("upgradereport_plus.gif") != -1)
{
uMe.src = "_UpgradeReport_Files/UpgradeReport_Minus.gif"
}
else
{
uMe.src = "_UpgradeReport_Files/UpgradeReport_Plus.gif"
}
}
</script>
</head>
<body topmargin="0" leftmargin="0" rightmargin="0" onclick="outliner();">
<h1 _locID="ConversionReport">Rapport de conversion - <xsl:value-of select="Properties/Property[@Name='Solution']/@Value"/></h1>
<p><span class="note">
<b _locID="TimeOfConversion">Heure de la conversion :</b> <xsl:value-of select="Properties/Property[@Name='Date']/@Value"/> <xsl:value-of select="Properties/Property[@Name='Time']/@Value"/><br/>
</span></p>
<xsl:variable name="SortedEvents">
<Events>
<xsl:for-each select="Event">
<xsl:sort select="@Project" order="ascending"/>
<xsl:sort select="@Source" order="ascending"/>
<xsl:sort select="@ErrorLevel" order="ascending"/>
<Event>
<xsl:attribute name="Project"><xsl:value-of select="@Project"/> </xsl:attribute>
<xsl:attribute name="Solution"><xsl:value-of select="/UpgradeLog/Properties/Property[@Name='Solution']/@Value"/> </xsl:attribute>
<xsl:attribute name="Source"><xsl:value-of select="@Source"/> </xsl:attribute>
<xsl:attribute name="ErrorLevel"><xsl:value-of select="@ErrorLevel"/> </xsl:attribute>
<xsl:attribute name="Description"><xsl:value-of select="@Description"/> </xsl:attribute>
</Event>
</xsl:for-each>
</Events>
</xsl:variable>
<xsl:variable name="Projects">
<xsl:apply-templates select="msxsl:node-set($SortedEvents)/*" mode="createProjects"/>
</xsl:variable>
<xsl:apply-templates select="msxsl:node-set($Projects)/*"/>
<p></p><p>
<table class="note">
<tr>
<td nowrap="1">
<b _locID="ConversionSettings">Paramètres de conversion</b>
</td>
</tr>
<xsl:apply-templates select="Properties"/>
</table></p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

View file

@ -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)

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,5 @@
# build/Makefiles/nmake/app/evc8.mak
LDFLAGS_COMMON = $(LDFLAGS_COMMON)
!include evc-common.mak

View file

@ -0,0 +1,5 @@
# build/Makefiles/nmake/app/evc9.mak
LDFLAGS_COMMON = $(LDFLAGS_COMMON)
!include evc-common.mak

View file

@ -0,0 +1,2 @@
!include vc-common.mak

View file

@ -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

View file

@ -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)

View file

@ -0,0 +1,16 @@
# Time-stamp: <03/10/17 19:29:26 ptr>
# $Id$
install-static: install-release-static install-dbg-static install-stldbg-static
install-release-static: release-static $(INSTALL_STATIC_BIN_DIR)
$(INSTALL_A) $(PRG_A) $(INSTALL_STATIC_BIN_DIR)
@if exist $(A_PDB_NAME_OUT) $(INSTALL_A) $(A_PDB_NAME_OUT) $(INSTALL_STATIC_BIN_DIR)
install-dbg-static: dbg-static $(INSTALL_STATIC_BIN_DIR_DBG)
$(INSTALL_A) $(PRG_A_DBG) $(INSTALL_STATIC_BIN_DIR_DBG)
@if exist $(A_PDB_NAME_OUT_DBG) $(INSTALL_A) $(A_PDB_NAME_OUT_DBG) $(INSTALL_STATIC_BIN_DIR_DBG)
install-stldbg-static: stldbg-static $(INSTALL_STATIC_BIN_DIR_STLDBG)
$(INSTALL_A) $(PRG_A_STLDBG) $(INSTALL_STATIC_BIN_DIR_STLDBG)
@if exist $(A_PDB_NAME_OUT_STLDBG) $(INSTALL_A) $(A_PDB_NAME_OUT_STLDBG) $(INSTALL_STATIC_BIN_DIR_STLDBG)

View file

@ -0,0 +1,23 @@
# Time-stamp: <03/10/26 16:42:14 ptr>
# $Id$
!ifndef INSTALL_TAGS
INSTALL_TAGS= install-shared install-static
!endif
install: $(INSTALL_TAGS)
install-release-shared: release-shared $(INSTALL_BIN_DIR)
$(INSTALL_SO) $(PRG) $(INSTALL_BIN_DIR)
$(INSTALL_SO) $(PDB_NAME_OUT) $(INSTALL_BIN_DIR)
@if exist $(MANIFEST_NAME_OUT) $(INSTALL_SO) $(MANIFEST_NAME_OUT) $(INSTALL_BIN_DIR)
install-dbg-shared: dbg-shared $(INSTALL_BIN_DIR_DBG)
$(INSTALL_SO) $(PRG_DBG) $(INSTALL_BIN_DIR_DBG)
$(INSTALL_SO) $(PDB_NAME_OUT_DBG) $(INSTALL_BIN_DIR_DBG)
@if exist $(MANIFEST_NAME_OUT_DBG) $(INSTALL_SO) $(MANIFEST_NAME_OUT_DBG) $(INSTALL_BIN_DIR_DBG)
install-stldbg-shared: stldbg-shared $(INSTALL_BIN_DIR_STLDBG)
$(INSTALL_SO) $(PRG_STLDBG) $(INSTALL_BIN_DIR_STLDBG)
$(INSTALL_SO) $(PDB_NAME_OUT_STLDBG) $(INSTALL_BIN_DIR_STLDBG)
@if exist $(MANIFEST_NAME_OUT_STLDBG) $(INSTALL_SO) $(MANIFEST_NAME_OUT_STLDBG) $(INSTALL_BIN_DIR_STLDBG)

View file

@ -0,0 +1,15 @@
# -*- makefile -*- Time-stamp: <03/09/28 18:46:10 ptr>
# $Id$
!ifndef LDFLAGS
LDFLAGS =
!endif
!include $(RULESBASE)/$(USE_MAKE)/app/macro.mak
!include $(RULESBASE)/$(USE_MAKE)/app/$(COMPILER_NAME).mak
!include $(RULESBASE)/$(USE_MAKE)/app/rules-exe-$(OSNAME).mak
!include $(RULESBASE)/$(USE_MAKE)/app/rules-install-so.mak
!include $(RULESBASE)/$(USE_MAKE)/app/rules-install-a.mak
!include $(RULESBASE)/$(USE_MAKE)/app/clean.mak

View file

@ -0,0 +1,13 @@
# -*- makefile -*- Time-stamp: <03/09/28 17:34:35 ptr>
# $Id$
!ifndef LDLIBS
LDLIBS =
!endif
#LDSEARCH = $(LDSEARCH) /LIBPATH:"$(MSVC_LIB_DIR)"
LDFLAGS_REL = $(LDFLAGS_REL) $(LDSEARCH)
LDFLAGS_A_REL = $(LDFLAGS_A_REL) $(LDSEARCH)
LDFLAGS_DBG = $(LDFLAGS_DBG) $(LDSEARCH)
LDFLAGS_STLDBG = $(LDFLAGS_STLDBG) $(LDSEARCH)

View file

@ -0,0 +1,4 @@
OPT_STLDBG = $(OPT_STLDBG) /Zm800
OPT_STATIC_STLDBG = $(OPT_STATIC_STLDBG) /Zm800
!include vc-common.mak

View file

@ -0,0 +1,2 @@
!include vc-common.mak

View file

@ -0,0 +1,3 @@
!include vc-common.mak

View file

@ -0,0 +1,3 @@
!include vc-common.mak

View file

@ -0,0 +1,3 @@
!include vc-common.mak

View file

@ -0,0 +1,16 @@
# -*- makefile -*- Time-stamp: <03/10/29 22:20:01 ptr>
# $Id$
clean:
@if exist $(OUTPUT_DIR)\*.o del /F /Q $(OUTPUT_DIR)\*.o
@if exist $(OUTPUT_DIR_DBG)\*.o del /F /Q $(OUTPUT_DIR_DBG)\*.o
@if exist $(OUTPUT_DIR_STLDBG)\*.o del /F /Q $(OUTPUT_DIR_STLDBG)\*.o
@if exist $(OUTPUT_DIR_A)\*.o del /F /Q $(OUTPUT_DIR_A)\*.o
@if exist $(OUTPUT_DIR_A_DBG)\*.o del /F /Q $(OUTPUT_DIR_A_DBG)\*.o
@if exist $(OUTPUT_DIR_A_STLDBG)\*.o del /F /Q $(OUTPUT_DIR_A_STLDBG)\*.o
@if exist $(OUTPUT_DIR)\*.obj del /F /Q $(OUTPUT_DIR)\*.obj
@if exist $(OUTPUT_DIR_DBG)\*.obj del /F /Q $(OUTPUT_DIR_DBG)\*.obj
@if exist $(OUTPUT_DIR_STLDBG)\*.obj del /F /Q $(OUTPUT_DIR_STLDBG)\*.obj
@if exist $(OUTPUT_DIR_A)\*.obj del /F /Q $(OUTPUT_DIR_A)\*.obj
@if exist $(OUTPUT_DIR_A_DBG)\*.obj del /F /Q $(OUTPUT_DIR_A_DBG)\*.obj
@if exist $(OUTPUT_DIR_A_STLDBG)\*.obj del /F /Q $(OUTPUT_DIR_A_STLDBG)\*.obj

View file

@ -0,0 +1,92 @@
# Time-stamp: <04/04/30 23:36:48 ptr>
# $Id$
# stuff not defined here: CXX, CC, DEFS_COMMON, CFLAGS_*, CXXFLAGS_*, OPT_COMMON
LINK = link.exe
RC = rc.exe
!ifdef DEFS
DEFS_REL = $(DEFS) $(DEFS_REL)
DEFS_DBG = $(DEFS) $(DEFS_DBG)
DEFS_STLDBG = $(DEFS) $(DEFS_STLDBG)
DEFS_STATIC_REL = $(DEFS) $(DEFS_STATIC_REL)
DEFS_STATIC_DBG = $(DEFS) $(DEFS_STATIC_DBG)
DEFS_STATIC_STLDBG = $(DEFS) $(DEFS_STATIC_STLDBG)
!endif
!ifdef OPT
OPT_REL = $(OPT) $(OPT_REL)
OPT_DBG = $(OPT) $(OPT_DBG)
OPT_STLDBG = $(OPT) $(OPT_STLDBG)
OPT_STATIC_REL = $(OPT) $(OPT_STATIC_REL)
OPT_STATIC_DBG = $(OPT) $(OPT_STATIC_DBG)
OPT_STATIC_STLDBG = $(OPT) $(OPT_STATIC_STLDBG)
!endif
OUTPUT_OPTION = /Fo$@ /Fd"$(PDB_NAME_OUT)"
OUTPUT_OPTION_DBG = /Fo$@ /Fd"$(PDB_NAME_OUT_DBG)"
OUTPUT_OPTION_STLDBG = /Fo$@ /Fd"$(PDB_NAME_OUT_STLDBG)"
OUTPUT_OPTION_STATIC = /Fo$@ /Fd"$(A_PDB_NAME_OUT)"
OUTPUT_OPTION_STATIC_DBG = /Fo$@ /Fd"$(A_PDB_NAME_OUT_DBG)"
OUTPUT_OPTION_STATIC_STLDBG = /Fo$@ /Fd"$(A_PDB_NAME_OUT_STLDBG)"
LINK_OUTPUT_OPTION = /OUT:$@
RC_OUTPUT_OPTION = /fo $@
RC_OUTPUT_OPTION_DBG = /fo $@
RC_OUTPUT_OPTION_STLDBG = /fo $@
DEFS_REL = $(DEFS_REL) $(DEFS_COMMON)
DEFS_STATIC_REL = $(DEFS_STATIC_REL) $(DEFS_COMMON)
DEFS_DBG = $(DEFS_DBG) $(DEFS_COMMON)
DEFS_STATIC_DBG = $(DEFS_STATIC_DBG) $(DEFS_COMMON)
DEFS_STLDBG = $(DEFS_STLDBG) $(DEFS_COMMON)
DEFS_STATIC_STLDBG = $(DEFS_STATIC_STLDBG) $(DEFS_COMMON)
CPPFLAGS_REL = $(DEFS_REL) $(INCLUDES)
CPPFLAGS_STATIC_REL = $(DEFS_STATIC_REL) $(INCLUDES)
CPPFLAGS_DBG = $(DEFS_DBG) $(INCLUDES)
CPPFLAGS_STATIC_DBG = $(DEFS_STATIC_DBG) $(INCLUDES)
CPPFLAGS_STLDBG = $(DEFS_STLDBG) $(INCLUDES)
CPPFLAGS_STATIC_STLDBG = $(DEFS_STATIC_STLDBG) $(INCLUDES)
COMPILE_c_REL = $(CC) $(CFLAGS_REL) $(CPPFLAGS_REL) $(TARGET_ARCH) /c
COMPILE_c_STATIC_REL = $(CC) $(CFLAGS_STATIC_REL) $(CPPFLAGS_STATIC_REL) $(TARGET_ARCH) /c
COMPILE_c_DBG = $(CC) $(CFLAGS_DBG) $(CPPFLAGS_DBG) $(TARGET_ARCH) /c
COMPILE_c_STATIC_DBG = $(CC) $(CFLAGS_STATIC_DBG) $(CPPFLAGS_STATIC_DBG) $(TARGET_ARCH) /c
COMPILE_c_STLDBG = $(CC) $(CFLAGS_STLDBG) $(CPPFLAGS_STLDBG) $(TARGET_ARCH) /c
COMPILE_c_STATIC_STLDBG = $(CC) $(CFLAGS_STATIC_STLDBG) $(CPPFLAGS_STATIC_STLDBG) $(TARGET_ARCH) /c
COMPILE_cc_REL = $(CXX) $(CXXFLAGS_REL) $(CPPFLAGS_REL) $(TARGET_ARCH) /c
COMPILE_cc_STATIC_REL = $(CXX) $(CXXFLAGS_STATIC_REL) $(CPPFLAGS_STATIC_REL) $(TARGET_ARCH) /c
COMPILE_cc_DBG = $(CXX) $(CXXFLAGS_DBG) $(CPPFLAGS_DBG) $(TARGET_ARCH) /c
COMPILE_cc_STATIC_DBG = $(CXX) $(CXXFLAGS_STATIC_DBG) $(CPPFLAGS_STATIC_DBG) $(TARGET_ARCH) /c
COMPILE_cc_STLDBG = $(CXX) $(CXXFLAGS_STLDBG) $(CPPFLAGS_STLDBG) $(TARGET_ARCH) /c
COMPILE_cc_STATIC_STLDBG = $(CXX) $(CXXFLAGS_STATIC_STLDBG) $(CPPFLAGS_STATIC_STLDBG) $(TARGET_ARCH) /c
COMPILE_rc_REL = $(RC) $(RC_FLAGS_REL) /D "BUILD_INFOS=$(CPPFLAGS_REL)"
COMPILE_rc_STATIC_REL = $(RC) $(RC_FLAGS_REL) /D "BUILD_INFOS=$(CPPFLAGS_STATIC_REL)"
COMPILE_rc_DBG = $(RC) $(RC_FLAGS_DBG) /DBUILD=d /D "BUILD_INFOS=$(CPPFLAGS_DBG)"
COMPILE_rc_STATIC_DBG = $(RC) $(RC_FLAGS_DBG) /DBUILD=d /D "BUILD_INFOS=$(CPPFLAGS_STATIC_DBG)"
COMPILE_rc_STLDBG = $(RC) $(RC_FLAGS_STLDBG) /DBUILD=stld /D "BUILD_INFOS=$(CPPFLAGS_STLDBG) /D_STLP_DEBUG"
COMPILE_rc_STATIC_STLDBG = $(RC) $(RC_FLAGS_STLDBG) /DBUILD=stld /D "BUILD_INFOS=$(CPPFLAGS_STATIC_STLDBG) /D_STLP_DEBUG"
LINK_cc_REL = $(LINK) /nologo /incremental:no /debug /pdb:"$(PDB_NAME_OUT)" $(LDFLAGS_REL)
LINK_cc_DBG = $(LINK) /nologo /incremental:no /debug /pdb:"$(PDB_NAME_OUT_DBG)" $(LDFLAGS_DBG)
LINK_cc_STLDBG = $(LINK) /nologo /incremental:no /debug /pdb:"$(PDB_NAME_OUT_STLDBG)" $(LDFLAGS_STLDBG)
LINK_cc_A_REL = $(LINK) /nologo /incremental:no /debug /pdb:"$(A_PDB_NAME_OUT)" $(LDFLAGS_REL)
LINK_cc_A_DBG = $(LINK) /nologo /incremental:no /debug /pdb:"$(A_PDB_NAME_OUT_DBG)" $(LDFLAGS_DBG)
LINK_cc_A_STLDBG = $(LINK) /nologo /incremental:no /debug /pdb:"$(A_PDB_NAME_OUT_STLDBG)" $(LDFLAGS_STLDBG)
CDEPFLAGS = /FD /E
CCDEPFLAGS = /FD /E
# STLport DEBUG mode specific defines
DEFS_STLDBG = $(DEFS_STLDBG) /D_DEBUG /D_STLP_DEBUG /DDEBUG
DEFS_DBG = $(DEFS_DBG) /D_DEBUG /DDEBUG
DEFS_REL = $(DEFS_REL) /DNDEBUG
DEFS_STATIC_STLDBG = $(DEFS_STATIC_STLDBG) /D_DEBUG /D_STLP_DEBUG /DDEBUG /D_STLP_NO_FORCE_INSTANTIATE
DEFS_STATIC_DBG = $(DEFS_STATIC_DBG) /D_DEBUG /DDEBUG /D_STLP_NO_FORCE_INSTANTIATE
DEFS_STATIC_REL = $(DEFS_STATIC_REL) /DNDEBUG /D_STLP_NO_FORCE_INSTANTIATE
# optimization and debug compiler flags
OPT_REL = $(OPT_REL) /Zi /O2 $(OPT_COMMON)
OPT_DBG = $(OPT_DBG) /Zi /Od $(OPT_COMMON)
OPT_STLDBG = $(OPT_STLDBG) /Zi /Od $(OPT_COMMON)
OPT_STATIC_REL = $(OPT_STATIC_REL) /Zi /O2 $(OPT_COMMON)
OPT_STATIC_DBG = $(OPT_STATIC_DBG) /Zi /Od $(OPT_COMMON)
OPT_STATIC_STLDBG = $(OPT_STATIC_STLDBG) /Zi /Od $(OPT_COMMON)

View file

@ -0,0 +1,83 @@
# Time-stamp: <04/04/30 23:36:48 ptr>
# $Id$
!if "$(TARGET_PROC)" == ""
!error No target processor configured! Please rerun configure.bat!
!endif
!if "$(CC)" == ""
!error CC not set, run the proper WCE*.bat from this shell to set it!
!endif
# All the batchfiles to setup the environment yield different
# compilers which they put into CC.
CXX = $(CC)
DEFS_COMMON = $(DEFS_COMMON) /D _WIN32_WCE=$(CEVERSION) /D UNDER_CE=$(CEVERSION) /D "UNICODE"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) coredll.lib corelibc.lib /nodefaultlib:LIBC.lib /nodefaultlib:"oldnames.lib"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /stack:0x10000,0x1000 /subsystem:WINDOWSCE /align:"4096"
# increase compiler memory in order to compile deeply nested template code
OPT_STLDBG = $(OPT_STLDBG) /Zm800
OPT_STATIC_STLDBG = $(OPT_STATIC_STLDBG) /Zm800
# activate global (whole program) optimizations
OPT_REL = $(OPT_REL) /Og
OPT_STATIC_REL = $(OPT_STATIC_REL) /Og
# ARM specific settings
!if "$(TARGET_PROC)" == "arm"
DEFS_COMMON = $(DEFS_COMMON) /D "ARM" /D "_ARM_"
OPT_COMMON = $(OPT_COMMON)
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:ARM
!endif
# x86 specific settings
!if "$(TARGET_PROC)" == "x86"
DEFS_COMMON = $(DEFS_COMMON) /D "x86" /D "_X86_"
OPT_COMMON = $(OPT_COMMON)
!if "$(TARGET_PROC_SUBTYPE)" == "emulator"
DEFS_COMMON = $(DEFS_COMMON) /D "_STLP_WCE_TARGET_PROC_SUBTYPE_EMULATOR"
!endif
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:X86 $(CEx86Corelibc)
!endif
# MIPS specific settings
!if "$(TARGET_PROC)" == "mips"
DEFS_COMMON = $(DEFS_COMMON) /D "_MIPS_" /D "MIPS" /D "$(TARGET_PROC_SUBTYPE)"
OPT_COMMON = $(OPT_COMMON)
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:MIPS
!endif
# SH3 specific settings
!if "$(TARGET_PROC)" == "sh3"
DEFS_COMMON = $(DEFS_COMMON) /D "SH3" /D "_SH3_" /D "SHx"
OPT_COMMON = $(OPT_COMMON)
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:SH3
!endif
# SH4 specific settings
!if "$(TARGET_PROC)" == "sh4"
DEFS_COMMON = $(DEFS_COMMON) /D "SH4" /D "_SH4_" /D "SHx"
OPT_COMMON = $(OPT_COMMON) /Qsh4
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:SH4
!endif
# without exceptions
CFLAGS_COMMON = /nologo /TC /W4 /GF
CFLAGS_REL = $(CFLAGS_COMMON) $(OPT_REL)
CFLAGS_STATIC_REL = $(CFLAGS_COMMON) $(OPT_STATIC_REL)
CFLAGS_DBG = $(CFLAGS_COMMON) $(OPT_DBG)
CFLAGS_STATIC_DBG = $(CFLAGS_COMMON) $(OPT_STATIC_DBG)
CFLAGS_STLDBG = $(CFLAGS_COMMON) $(OPT_STLDBG)
CFLAGS_STATIC_STLDBG = $(CFLAGS_COMMON) $(OPT_STATIC_STLDBG)
CXXFLAGS_COMMON = /nologo /TP /W4 /GF
CXXFLAGS_REL = $(CXXFLAGS_COMMON) $(OPT_REL)
CXXFLAGS_STATIC_REL = $(CXXFLAGS_COMMON) $(OPT_STATIC_REL)
CXXFLAGS_DBG = $(CXXFLAGS_COMMON) $(OPT_DBG)
CXXFLAGS_STATIC_DBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_DBG)
CXXFLAGS_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STLDBG)
CXXFLAGS_STATIC_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_STLDBG)
!include evc-common.mak

View file

@ -0,0 +1,116 @@
# Time-stamp: <04/03/31 07:55:19 ptr>
# $Id$
!if "$(TARGET_PROC)" == ""
!error No target processor configured! Please rerun configure.bat!
!endif
!if "$(CC)" == ""
!error CC not set, run the proper WCE*.bat from this shell to set it!
!endif
# All the batchfiles to setup the environment yield different
# compilers which they put into CC.
CXX = $(CC)
DEFS_COMMON = $(DEFS_COMMON) /D _WIN32_WCE=$(CEVERSION) /D UNDER_CE=$(CEVERSION) /D "UNICODE"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) coredll.lib corelibc.lib /nodefaultlib:LIBC.lib /nodefaultlib:OLDNAMES.lib
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /stack:0x10000,0x1000 /subsystem:WINDOWSCE /align:"4096"
# increase compiler memory in order to compile deeply nested template code
OPT_STLDBG = $(OPT_STLDBG) /Zm800
OPT_STATIC_STLDBG = $(OPT_STATIC_STLDBG) /Zm800
# activate global (whole program) optimizations
OPT_REL = $(OPT_REL) /Og
OPT_STATIC_REL = $(OPT_STATIC_REL) /Og
# ARM specific settings
!if "$(TARGET_PROC)" == "arm"
DEFS_COMMON = $(DEFS_COMMON) /D "ARM" /D "_ARM_" /D "ARMV4"
OPT_STATIC_STLDBG = $(OPT_STATIC_STLDBG) /Zm800
OPT_COMMON = $(OPT_COMMON)
# TODO: eVC4 IDE uses ARM for ARMV4 and THUMB for ARMV4I and ARMV4T
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:ARM
# RTTI patch for PPC2003 SDK
!if "$(PLATFORM)" == "POCKET PC 2003"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) ccrtrtti.lib
!endif
!endif
# x86 specific settings
!if "$(TARGET_PROC)" == "x86"
DEFS_COMMON = $(DEFS_COMMON) /D "x86" /D "_X86_" /D "_i386_"
OPT_COMMON = $(OPT_COMMON) /Gs8192
LDFLAGS_COMMON = $(LDFLAGS_COMMON) $(CEx86Corelibc) /MACHINE:X86
!if "$(TARGET_PROC_SUBTYPE)" == "emulator"
DEFS_COMMON = $(DEFS_COMMON) /D "_STLP_WCE_TARGET_PROC_SUBTYPE_EMULATOR"
!endif
!if "$(PLATFORM)" == "POCKET PC 2003"
# RTTI patch for PPC2003 SDK
LDFLAGS_COMMON = $(LDFLAGS_COMMON) ccrtrtti.lib
!endif
!endif
# MIPS specific settings
!if "$(TARGET_PROC)" == "mips"
DEFS_COMMON = $(DEFS_COMMON) /D "_MIPS_" /D "MIPS" /D "$(TARGET_PROC_SUBTYPE)"
OPT_COMMON = $(OPT_COMMON)
# Note: one might think that MIPSII_FP and MIPSIV_FP should use /MACHINE:MIPSFPU
# while MIPSII and MIPSIV should use /MACHINE:MIPS, but this is exactly how the
# eVC4 IDE does it.
!if "$(TARGET_PROC_SUBTYPE)" == ""
!error "MIPS subtype not set"
!elseif "$(TARGET_PROC_SUBTYPE)" == "MIPS16"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:MIPS
!elseif "$(TARGET_PROC_SUBTYPE)" == "MIPSII"
OPT_COMMON = $(OPT_COMMON) /QMmips2 /QMFPE
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:MIPS
!elseif "$(TARGET_PROC_SUBTYPE)" == "MIPSII_FP"
OPT_COMMON = $(OPT_COMMON) /QMmips2 /QMFPE-
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:MIPS
!elseif "$(TARGET_PROC_SUBTYPE)" == "MIPSIV"
OPT_COMMON = $(OPT_COMMON) /QMmips4 /QMn32 /QMFPE
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:MIPSFPU
!elseif "$(TARGET_PROC_SUBTYPE)" == "MIPSIV_FP"
OPT_COMMON = $(OPT_COMMON) /QMmips4 /QMn32 /QMFPE-
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:MIPSFPU
!else
!error "unknown MIPS subtype"
!endif
!endif
# SH3 specific settings
!if "$(TARGET_PROC)" == "sh3"
DEFS_COMMON = $(DEFS_COMMON) /D "SH3" /D "_SH3_" /D "SHx"
OPT_COMMON = $(OPT_COMMON)
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:SH3
!endif
# SH4 specific settings
!if "$(TARGET_PROC)" == "sh4"
DEFS_COMMON = $(DEFS_COMMON) /D "SH4" /D "_SH4_" /D "SHx"
OPT_COMMON = $(OPT_COMMON) /Qsh4
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:SH4
!endif
# exception handling support
CFLAGS_COMMON = /nologo /TC /W4 /GF /GR /GX
CFLAGS_REL = $(CFLAGS_COMMON) $(OPT_REL)
CFLAGS_STATIC_REL = $(CFLAGS_COMMON) $(OPT_STATIC_REL)
CFLAGS_DBG = $(CFLAGS_COMMON) $(OPT_DBG)
CFLAGS_STATIC_DBG = $(CFLAGS_COMMON) $(OPT_STATIC_DBG)
CFLAGS_STLDBG = $(CFLAGS_COMMON) $(OPT_STLDBG)
CFLAGS_STATIC_STLDBG = $(CFLAGS_COMMON) $(OPT_STATIC_STLDBG)
CXXFLAGS_COMMON = /nologo /TP /W4 /GF /GR /GX
CXXFLAGS_REL = $(CXXFLAGS_COMMON) $(OPT_REL)
CXXFLAGS_STATIC_REL = $(CXXFLAGS_COMMON) $(OPT_STATIC_REL)
CXXFLAGS_DBG = $(CXXFLAGS_COMMON) $(OPT_DBG)
CXXFLAGS_STATIC_DBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_DBG)
CXXFLAGS_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STLDBG)
CXXFLAGS_STATIC_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_STLDBG)
!include evc-common.mak

View file

@ -0,0 +1,102 @@
# build/Makefiles/nmake/evc8.mak
# Note: _WIN32_WCE is defined as 420 for CE 4.2 but as 0x500 for CE 5.0!
DEFS_COMMON = $(DEFS_COMMON) /D _WIN32_WCE=0x$(CEVERSION) /D UNDER_CE=1 /D "UNICODE"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) coredll.lib corelibc.lib /nodefaultlib:LIBC.lib /nodefaultlib:OLDNAMES.lib
!if "$(PLATFORM)" == "POCKET PC 2003"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /subsystem:windowsce,4.20
!else
# TODO: the subsystem settings will have to be adjusted for CE5.01...
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /subsystem:windowsce,5.00
!endif
!if "$(TARGET_PROC)" == ""
!error No target processor configured! Please rerun configure.bat!
!endif
!if "$(CC)" == ""
CC=cl.exe
!endif
CXX = $(CC)
# activate global optimisations (aka Link Time Code Generation)
OPT_REL = $(OPT_REL) /GL
LDFLAGS_REL = $(LDFLAGS_REL) /LTCG
# make the compiler display absolute paths in diagnostics
# While this is not necessary for STLport in any way, it is convenient when using
# the VC8 IDE for building things because then you can click on diagnostics in
# order to warp to the exact place in the code.
OPT_COMMON = $(OPT_COMMON) /FC
# ARM specific settings
!if "$(TARGET_PROC)" == "arm"
DEFS_COMMON = $(DEFS_COMMON) /D "ARM" /D "_ARM_" /D "$(TARGET_PROC_SUBTYPE)"
OPT_COMMON = $(OPT_COMMON)
!if "$(PLATFORM)" == "POCKET PC 2003"
DEFS_COMMON = $(DEFS_COMMON) /DWIN32_PLATFORM_PSPC
# Pocket PC 2003 doesn't support THUMB.
LDFLAGS_COMMON = $(LDFLAGS_COMMON) ccrtrtti.lib secchk.lib /machine:ARM
!endif
!endif
# x86 specific settings
!if "$(TARGET_PROC)" == "x86"
DEFS_COMMON = $(DEFS_COMMON) /D "x86" /D "_X86_"
OPT_COMMON = $(OPT_COMMON)
!endif
# MIPS specific settings
!if "$(TARGET_PROC)" == "mips"
DEFS_COMMON = $(DEFS_COMMON) /D "MIPS" /D "_MIPS_" /D "$(TARGET_PROC_SUBTYPE)"
!if "$(TARGET_PROC_SUBTYPE)" == ""
!error "MIPS subtype not set"
!elseif "$(TARGET_PROC_SUBTYPE)" == "MIPSII"
OPT_COMMON = $(OPT_COMMON) /QMmips2
!else
!error "unknown MIPS subtype"
!endif
!endif
# SH4 specific settings
!if "$(TARGET_PROC)" == "sh4"
DEFS_COMMON = $(DEFS_COMMON) /D "SHx" /D "_SHX_" /D "SH4"
OPT_COMMON = $(OPT_COMMON)
!endif
# Note: /GX for MSC<14 has been replaced with /EHsc
CFLAGS_COMMON = /nologo /TC /W4 /GF /GR /EHsc
CFLAGS_REL = $(CFLAGS_COMMON) $(OPT_REL)
CFLAGS_STATIC_REL = $(CFLAGS_COMMON) $(OPT_STATIC_REL)
CFLAGS_DBG = $(CFLAGS_COMMON) $(OPT_DBG)
CFLAGS_STATIC_DBG = $(CFLAGS_COMMON) $(OPT_STATIC_DBG)
CFLAGS_STLDBG = $(CFLAGS_COMMON) $(OPT_STLDBG)
CFLAGS_STATIC_STLDBG = $(CFLAGS_COMMON) $(OPT_STATIC_STLDBG)
CXXFLAGS_COMMON = /nologo /TP /W4 /GF /GR /EHsc
CXXFLAGS_REL = $(CXXFLAGS_COMMON) $(OPT_REL)
CXXFLAGS_STATIC_REL = $(CXXFLAGS_COMMON) $(OPT_STATIC_REL)
CXXFLAGS_DBG = $(CXXFLAGS_COMMON) $(OPT_DBG)
CXXFLAGS_STATIC_DBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_DBG)
CXXFLAGS_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STLDBG)
CXXFLAGS_STATIC_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_STLDBG)
# setup proper runtime (static/dynamic, debug/release)
!ifdef WITH_STATIC_RTL
OPT_DBG = $(OPT_DBG) /MTd
OPT_STLDBG = $(OPT_STLDBG) /MTd
OPT_REL = $(OPT_REL) /MT
DEFS_REL = $(DEFS_REL) /D_STLP_USE_DYNAMIC_LIB
DEFS_DBG = $(DEFS_DBG) /D_STLP_USE_DYNAMIC_LIB
DEFS_STLDBG = $(DEFS_STLDBG) /D_STLP_USE_DYNAMIC_LIB
!else
OPT_DBG = $(OPT_DBG) /MDd
OPT_STLDBG = $(OPT_STLDBG) /MDd
OPT_REL = $(OPT_REL) /MD
!endif
!include evc-common.mak

View file

@ -0,0 +1,102 @@
# build/Makefiles/nmake/evc9.mak
# Note: _WIN32_WCE is defined as 420 for CE 4.2 but as 0x500 for CE 5.0!
DEFS_COMMON = $(DEFS_COMMON) /D _WIN32_WCE=0x$(CEVERSION) /D UNDER_CE=1 /D "UNICODE"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) coredll.lib corelibc.lib /nodefaultlib:LIBC.lib /nodefaultlib:OLDNAMES.lib
!if "$(PLATFORM)" == "POCKET PC 2003"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /subsystem:windowsce,4.20
!else
# TODO: the subsystem settings will have to be adjusted for CE5.01...
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /subsystem:windowsce,5.00
!endif
!if "$(TARGET_PROC)" == ""
!error No target processor configured! Please rerun configure.bat!
!endif
!if "$(CC)" == ""
CC=cl.exe
!endif
CXX = $(CC)
# activate global optimisations (aka Link Time Code Generation)
OPT_REL = $(OPT_REL) /GL
LDFLAGS_REL = $(LDFLAGS_REL) /LTCG
# make the compiler display absolute paths in diagnostics
# While this is not necessary for STLport in any way, it is convenient when using
# the VC8 IDE for building things because then you can click on diagnostics in
# order to warp to the exact place in the code.
OPT_COMMON = $(OPT_COMMON) /FC
# ARM specific settings
!if "$(TARGET_PROC)" == "arm"
DEFS_COMMON = $(DEFS_COMMON) /D "ARM" /D "_ARM_" /D "$(TARGET_PROC_SUBTYPE)"
OPT_COMMON = $(OPT_COMMON)
!if "$(PLATFORM)" == "POCKET PC 2003"
DEFS_COMMON = $(DEFS_COMMON) /DWIN32_PLATFORM_PSPC
# Pocket PC 2003 doesn't support THUMB.
LDFLAGS_COMMON = $(LDFLAGS_COMMON) ccrtrtti.lib secchk.lib /machine:ARM
!endif
!endif
# x86 specific settings
!if "$(TARGET_PROC)" == "x86"
DEFS_COMMON = $(DEFS_COMMON) /D "x86" /D "_X86_"
OPT_COMMON = $(OPT_COMMON)
!endif
# MIPS specific settings
!if "$(TARGET_PROC)" == "mips"
DEFS_COMMON = $(DEFS_COMMON) /D "MIPS" /D "_MIPS_" /D "$(TARGET_PROC_SUBTYPE)"
!if "$(TARGET_PROC_SUBTYPE)" == ""
!error "MIPS subtype not set"
!elseif "$(TARGET_PROC_SUBTYPE)" == "MIPSII"
OPT_COMMON = $(OPT_COMMON) /QMmips2
!else
!error "unknown MIPS subtype"
!endif
!endif
# SH4 specific settings
!if "$(TARGET_PROC)" == "sh4"
DEFS_COMMON = $(DEFS_COMMON) /D "SHx" /D "_SHX_" /D "SH4"
OPT_COMMON = $(OPT_COMMON)
!endif
# Note: /GX for MSC<14 has been replaced with /EHsc
CFLAGS_COMMON = /nologo /TC /WX /GF /GR /EHsc
CFLAGS_REL = $(CFLAGS_COMMON) $(OPT_REL)
CFLAGS_STATIC_REL = $(CFLAGS_COMMON) $(OPT_STATIC_REL)
CFLAGS_DBG = $(CFLAGS_COMMON) $(OPT_DBG)
CFLAGS_STATIC_DBG = $(CFLAGS_COMMON) $(OPT_STATIC_DBG)
CFLAGS_STLDBG = $(CFLAGS_COMMON) $(OPT_STLDBG)
CFLAGS_STATIC_STLDBG = $(CFLAGS_COMMON) $(OPT_STATIC_STLDBG)
CXXFLAGS_COMMON = /nologo /TP /WX /GF /GR /EHsc
CXXFLAGS_REL = $(CXXFLAGS_COMMON) $(OPT_REL)
CXXFLAGS_STATIC_REL = $(CXXFLAGS_COMMON) $(OPT_STATIC_REL)
CXXFLAGS_DBG = $(CXXFLAGS_COMMON) $(OPT_DBG)
CXXFLAGS_STATIC_DBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_DBG)
CXXFLAGS_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STLDBG)
CXXFLAGS_STATIC_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_STLDBG)
# setup proper runtime (static/dynamic, debug/release)
!ifdef WITH_STATIC_RTL
OPT_DBG = $(OPT_DBG) /MTd
OPT_STLDBG = $(OPT_STLDBG) /MTd
OPT_REL = $(OPT_REL) /MT
DEFS_REL = $(DEFS_REL) /D_STLP_USE_DYNAMIC_LIB
DEFS_DBG = $(DEFS_DBG) /D_STLP_USE_DYNAMIC_LIB
DEFS_STLDBG = $(DEFS_STLDBG) /D_STLP_USE_DYNAMIC_LIB
!else
OPT_DBG = $(OPT_DBG) /MDd
OPT_STLDBG = $(OPT_STLDBG) /MDd
OPT_REL = $(OPT_REL) /MD
!endif
!include evc-common.mak

View file

@ -0,0 +1,91 @@
# Time-stamp: <03/09/28 13:44:57 ptr>
# $Id$
#!ifndef MSVC_LIB_DIR
#MSVC_LIB_DIR = $(MSVC_DIR)\Lib
#!endif
!ifndef SOAP_DIR
SOAP_DIR = /opt/gSOAP-2.2.3
!endif
!ifndef BOOST_DIR
BOOST_DIR = $(SRCROOT)/../extern/boost
!endif
!ifndef STLPORT_DIR
STLPORT_DIR = ../../stlport
!endif
!ifndef CoMT_DIR
CoMT_DIR = $(SRCROOT)
!endif
# This is Complement project (really not extern):
!ifndef CoMT_LIB_DIR
CoMT_LIB_DIR = $(INSTALL_LIB_DIR)
!endif
!ifndef CoMT_LIB_DIR_DBG
CoMT_LIB_DIR_DBG = $(INSTALL_LIB_DIR_DBG)
!endif
!ifndef CoMT_LIB_DIR_STLDBG
CoMT_LIB_DIR_STLDBG = $(INSTALL_LIB_DIR_STLDBG)
!endif
!ifndef CoMT_BIN_DIR
CoMT_BIN_DIR = $(INSTALL_BIN_DIR)
!endif
!ifndef CoMT_BIN_DIR_DBG
CoMT_BIN_DIR_DBG = $(INSTALL_BIN_DIR_DBG)
!endif
!ifndef CoMT_BIN_DIR_STLDBG
CoMT_BIN_DIR_STLDBG = $(INSTALL_BIN_DIR_STLDBG)
!endif
!ifndef CoMT_INCLUDE_DIR
CoMT_INCLUDE_DIR = $(CoMT_DIR)/include
!endif
# This file reflect versions of third-party libraries that
# used in projects
# STLport library
!ifndef STLPORT_LIB_DIR
!ifdef CROSS_COMPILING
STLPORT_LIB_DIR = $(STLPORT_DIR)\lib\$(TARGET_NAME)
!else
STLPORT_LIB_DIR = $(STLPORT_DIR)\lib
!endif
!endif
!ifndef STLPORT_INCLUDE_DIR
STLPORT_INCLUDE_DIR = $(STLPORT_DIR)/stlport
!endif
!ifndef STLPORT_VER
STLPORT_VER = 4.5.5
!endif
# 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)
!ifdef STLP_BUILD_BOOST_PATH
INCLUDES=$(INCLUDES) /I$(STLP_BUILD_BOOST_PATH)
!endif
# This file reflect versions of third-party libraries that
# used in projects, with make-depend style

Some files were not shown because too many files have changed in this diff Show more