Files
This branch is 6 commits ahead of, 4 commits behind AlericInglewood/3p-colladadom:singularity.
make
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
The makefiles are used when building the DOM for Linux, Mac, or PS3. The makefiles can also be used to build on Windows via the MinGW compiler. Typical usage would simply be to call "make" from the DOM directory, which would build a release version of the DOM for the native architecture of your machine. The build output goes to a folder named 'build'. Build params ------------ os: Specifies the OS you're building for, which isn't necessarily the same as the OS you're building on. Usually you would just accept the default value generated by make (via the uname command), but if you're building for PS3 you need to set os=ps3. Acceptable values are linux, mac, windows, and ps3. arch: The processor architecture you're building for. Some OS's (Mac in particular) support building for multiple architectures. By default this is set to your machine's processor architecture, so if you're on an Intel Mac it'll be set to x86, and if you're on a PowerPC Mac it'll be set to ppc. To build a Mac universal binary supporting both Intel and PowerPC 32-bit Macs, you would set arch='x86 ppc'. Acceptable values are x86 and ppc. i386 is supported as a synonym for x86. project: Valid values are dom, domTest, and all. You can specify to build only a particular project by setting this value. By default, project=all, which will build all projects. conf: Valid values are release, debug, and all. Default is release. colladaVersion: The only valid value is currently 1.4, but other versions will be supported in the future. parser: Valid values are libxml, tinyxml, or all. Default is libxml on Linux, Mac, or Windows, and tinyxml on PS3. Build targets ------------- all: The default target, used for building libs/exes. clean: Removes build files. You could also 'rm -r build' to clean manually. test: Run the automated test suite. If any of the tests fail, make will fail. install: Install the DOM on the host machine. Set prefix=/my/path to specify an install prefix other than the default. On Linux, the default is /usr/local (libs go to /usr/local/lib, headers go to /usr/local/include), and on Mac the default install location is /Library/Frameworks. uninstall: Self explanatory. Usage scenarios --------------- Standard release build: make Build both debug and release versions of the DOM: make conf=all Build _only_ the DOM (don't build domTest): make project=dom Build a Mac universal binary: make arch='x86 ppc' Build _only_ dae.cpp: make file=dae.cpp Build with output messages (perhaps for debugging the makefiles): make verbose=yes Install to the default location: make install Clean all configs make clean conf=all Overriding the defaults ----------------------- The defaults can easily be overriden by setting param=value when calling make. If a particular param has a default that you always want to override, it might be easier to put the overrides in make/customSettings.mk, which gets included by the DOM makefile. For example, I tend to always build Mac universal binaries, but the default is to build for the native architecture only. Instead of always passing arch='x86 ppc' on the command line, I create a file make/customSettings.mk that has 'arch := x86 ppc'. Also, the file ~/.collada-dom/customSettings.mk serves the same purpose as make/customSettings.mk, except that it's more useful when you're working with multiple branches of the DOM and you want your customized settings to apply to all branches. Mac Notes --------- The only officially supported Mac version is OS X Leopard, but it's been reported that the DOM works fine on other versions of OS X, as long as you're using make 3.81. Linux Notes ----------- The Linux build has been tested with Ubuntu Gutsy. You need to have libxml, PCRE, and boost filesystem development files installed on your machine to build the DOM. The Ubuntu packages are named libxml2-dev, libpcre3-dev, and libboost-filesystem-dev. It should be easy to get the DOM building on other versions of Linux, but you'll need to figure out what packages to install for libxml, PCRE, and boost filesystem. Windows Notes ------------- Building on Windows via the makefiles only works when using MinGW as the compiler. Visual Studio project files are provided for building with Visual Studio. You'll need to have MinGW set up on your machine as well as a Unix environment with GNU make 3.81. MinGW provides MSYS which can be used as the Unix environment for building the DOM. You could also use the MinGW compiler with Cygwin instead of MSYS.