Skip to content

Simple cross platform / cross compiler build system based on gnu make

License

Notifications You must be signed in to change notification settings

sanyaade-webdev/deftbuild

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

//------------------------------------------------------------------
// Required
//------------------------------------------------------------------

Command line versions of svn, cvs, git, bunzip2, gunzip, unzip

//------------------------------------------------------------------
// Platform
//------------------------------------------------------------------

The commands below are simply 'deftbuild' you should substitute the
following...

Windows		- deftbuild or deftbuild.bat
Linux		- ./deftbuild.sh
Mac			- ./deftbuild.sh

deftbuild has the following basic command line structure

deftbuild [idx] [command] [groups] [projects] [ext]

command = build, checkout, compile, diff, archive, makepatch, applypatch

	build		- checkout, applypatch, compile
	checkout	- Checks out the specified projects
	compile		- Compiles and links the specified projects
	diff		- Creates diffs of the working directories
	archive		- Creates arechives of the working directories
	makepatch	- Makes patches of the working directories
	applypatch	- applies patches made with makepatch to the working directories

//------------------------------------------------------------------
// To use
//------------------------------------------------------------------

// To get started, do something like the following

mkdir buildroot
cd buildroot
git clone git://github.com/wheresjames/deftbuild.git
cd deftbuild
deftbuild 3 checkout core,img -
deftbuild 3 applypatch - -
cd v1
make DIDX=3 [DBG=1] [UNICODE=1]

// To update, do this from the deftbuild directory

deftbuild update - -

//------------------------------------------------------------------
// Directory structure
//------------------------------------------------------------------

Following directory structure is assumed

-- [any directory]
	|
	+---[deftbuild]		- This project
	|
	+---[lib]			- The libs will go here
	|
	+---[bin]			- Compiled code will go here
	|
	+---[dnl]			- Downloaded archive files
	|
	+---[arc]			- Archives


//------------------------------------------------------------------
// checkout - Examples for checkout script
//------------------------------------------------------------------

// To checkout default projects

	deftbuild 3 checkout

// To checkout all projects

	deftbuild 3 checkout - -

// Checkout specific project

	deftbuild 3 checkout - libpng

// Chcekout specific project version

	deftbuild 3 checkout - poco:1300

// Multiple projects

	deftbuild 3 checkout - libpng,ffmpeg,poco:1300

// Checkout group

	deftbuild 3 checkout 3d

// Multiple groups

	deftbuild 3 checkout 3d,scripting

# Typical Dependencies
#./deftbuild.sh 3 res - poco,mingw64,libssh2,libevent,libusb,openssl,nsis,curl,bzip2,zlib
#./deftbuild.sh 3 res - CxImage,jpeg,png,tiff,j2k,gdchart
#./deftbuild.sh 3 res - ffmpeg,x264,live555
#./deftbuild.sh 3 res - SqPlus,swig,v8,v8-juice
#./deftbuild.sh 3 res - ftgl,irrlicht,bullet,freetype2
#./deftbuild.sh 3 res - libfreenect,portaudio,opencv,fftw,cell,haru,sqlite,tinyxml,mysql

//------------------------------------------------------------------
// Linux dependencies
//------------------------------------------------------------------

// Tools
	sudo apt-get screen git-core wine

// Building
	sudo apt-get build-essential gcc gcc-multilib yasmy

// OpenGL / X11
	sudo apt-get install mesa-common-dev xorg-dev xlibmesa-glu-dev ( x11proto-gl-dev | xlibmesa-gl-dev )

// CURL	
	sudo apt-get install libldap-dev 
	
// ALSA
	sudo apt-get install libasound2-dev

About

Simple cross platform / cross compiler build system based on gnu make

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published