libs/openFrameworksCompiled/project/readme.md
To build the default core openFrameworks libraries on the terminal, navigate to the $(OF_ROOT)/libs/openFrameworksCompiled/Projects folder and run:
make
The makefile there will then examine your system, determine the appropriate platform and architecture, and then choose the appropriate config.core.XXX.default.make file. An example of a platform-specific core configuration file can be found here:
$(OF_ROOT)/libs/openFrameworksCompiled/Projects/linux64/configure.core.linux64.default.make
Platform specific configuration filenames take the form:
configure.core.PLATFORM_ARCH.PLATFORM_VARANT.make
The makefile system also supports special platform variants. Platform variants are useful when a developer wants to build the openFrameworks core with non-standard system libraries or needs to develop platform variants for a standard OS and archiecture (e.g. linux and armv6l) that may be unique to a specific embedded system (e.g. Raspberry Pi). To build platform variant core openFrameworks libraries on the terminal navigate to the $(OF_ROOT)/libs/openFrameworksCompiled/Projects folder and run:
make PLATFORM_VARIANT=raspberrypi
If if you are executing the command on a linuxarmv6l machine, the makefile will configure your settings based on:
$(OF_ROOT)/libs/openFrameworksCompiled/Projects/linuxarmv6l/configure.core.linuxarmv6l.raspberrypi.make
In the case of linuxarmv6l, there is currently no default configuration file, so make must be run with the appropirate PLATFORM_VARIANT set.
make sure that all find commands that may not return results dump errors in to /dev/null
make sure that PLATFORM_REQUIRED_ADDONS are being integrated correctly
check for platform required system libs using pkg-config -- if they do not exist, throw an error that instructs the user how to install them using their package management system.
.
Priority Low: Makefiles need to be consolidated (there are a lot of files in the makefilesCommon directory and most of them can be merged together -- they are currently seprated by function -- so makefiles dont have to reimplement common features). This is low priority.
Priority Medium: Makefiles currently work with linux and linux64, but are not yet configured to replace the android builds. This should be straightforward using the platform-specific configuration files. This will need to be done before any kind of oF core integration will be a possibility. Testing!
Makefile should support cross-compiling. Not sure if they do already, I haven't tried. But we shouldn't have to compile on the board. Normally I compile on my host machine in an smb-share with a board. (need cross compiling workflow tut :)