2013-03-27 21:18:29 -07:00
#
2014-02-10 22:18:39 -08:00
# Copyright 2011-2014 Branimir Karadzic. All rights reserved.
2013-03-27 21:18:29 -07:00
# License: http://www.opensource.org/licenses/BSD-2-Clause
#
2014-03-02 21:27:22 -08:00
UNAME := $( shell uname)
i f e q ( $( UNAME ) , $( filter $ ( UNAME ) ,Linux Darwin ) )
i f e q ( $( UNAME ) , $( filter $ ( UNAME ) ,Darwin ) )
OS = darwin
e l s e
OS = linux
e n d i f
e l s e
OS = windows
e n d i f
PREMAKE4 = ../bx/tools/bin/$( OS) /premake4
2013-03-27 21:18:29 -07:00
all :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua vs2008
$( PREMAKE4) --file= premake/premake4.lua vs2010
$( PREMAKE4) --file= premake/premake4.lua vs2012
$( PREMAKE4) --file= premake/premake4.lua --gcc= android-arm gmake
$( PREMAKE4) --file= premake/premake4.lua --gcc= android-mips gmake
$( PREMAKE4) --file= premake/premake4.lua --gcc= android-x86 gmake
$( PREMAKE4) --file= premake/premake4.lua --gcc= nacl gmake
$( PREMAKE4) --file= premake/premake4.lua --gcc= nacl-arm gmake
$( PREMAKE4) --file= premake/premake4.lua --gcc= pnacl gmake
$( PREMAKE4) --file= premake/premake4.lua --gcc= mingw gmake
$( PREMAKE4) --file= premake/premake4.lua --gcc= linux-gcc gmake
$( PREMAKE4) --file= premake/premake4.lua --gcc= osx gmake
$( PREMAKE4) --file= premake/premake4.lua --gcc= ios-arm gmake
$( PREMAKE4) --file= premake/premake4.lua --gcc= ios-simulator gmake
$( PREMAKE4) --file= premake/premake4.lua xcode4
2013-03-27 21:18:29 -07:00
2013-11-22 19:14:50 -08:00
.build/projects/gmake-android-arm :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua --gcc= android-arm gmake
2013-11-22 19:14:50 -08:00
android-arm-debug : .build /projects /gmake -android -arm
2013-04-15 23:10:32 -07:00
make -R -C .build/projects/gmake-android-arm config = debug
2013-11-22 19:14:50 -08:00
android-arm-release : .build /projects /gmake -android -arm
2013-04-15 23:10:32 -07:00
make -R -C .build/projects/gmake-android-arm config = release
android-arm : android -arm -debug android -arm -release
2013-11-22 19:14:50 -08:00
.build/projects/gmake-android-mips :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua --gcc= android-mips gmake
2013-11-22 19:14:50 -08:00
android-mips-debug : .build /projects /gmake -android -mips
2013-11-09 10:52:19 -08:00
make -R -C .build/projects/gmake-android-mips config = debug
2013-11-22 19:14:50 -08:00
android-mips-release : .build /projects /gmake -android -mips
2013-11-09 10:52:19 -08:00
make -R -C .build/projects/gmake-android-mips config = release
android-mips : android -mips -debug android -mips -release
2013-11-22 19:14:50 -08:00
.build/projects/gmake-android-x86 :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua --gcc= android-x86 gmake
2013-11-22 19:14:50 -08:00
android-x86-debug : .build /projects /gmake -android -x 86
2013-11-09 10:52:19 -08:00
make -R -C .build/projects/gmake-android-x86 config = debug
2013-11-22 19:14:50 -08:00
android-x86-release : .build /projects /gmake -android -x 86
2013-11-09 10:52:19 -08:00
make -R -C .build/projects/gmake-android-x86 config = release
android-x86 : android -x 86-debug android -x 86-release
2013-11-22 19:14:50 -08:00
.build/projects/gmake-linux :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua --gcc= linux-gcc gmake
2013-11-22 19:14:50 -08:00
linux-debug32 : .build /projects /gmake -linux
2013-03-27 21:18:29 -07:00
make -R -C .build/projects/gmake-linux config = debug32
2013-11-22 19:14:50 -08:00
linux-release32 : .build /projects /gmake -linux
2013-03-27 21:18:29 -07:00
make -R -C .build/projects/gmake-linux config = release32
2013-11-22 19:14:50 -08:00
linux-debug64 : .build /projects /gmake -linux
2013-03-27 21:18:29 -07:00
make -R -C .build/projects/gmake-linux config = debug64
2013-11-22 19:14:50 -08:00
linux-release64 : .build /projects /gmake -linux
2013-03-27 21:18:29 -07:00
make -R -C .build/projects/gmake-linux config = release64
linux : linux -debug 32 linux -release 32 linux -debug 64 linux -release 64
2013-11-22 19:14:50 -08:00
.build/projects/gmake-mingw :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua --gcc= mingw gmake
2013-11-22 19:14:50 -08:00
mingw-debug32 : .build /projects /gmake -mingw
2013-03-27 21:18:29 -07:00
make -R -C .build/projects/gmake-mingw config = debug32
2013-11-22 19:14:50 -08:00
mingw-release32 : .build /projects /gmake -mingw
2013-03-27 21:18:29 -07:00
make -R -C .build/projects/gmake-mingw config = release32
2013-11-22 19:14:50 -08:00
mingw-debug64 : .build /projects /gmake -mingw
2013-03-27 21:18:29 -07:00
make -R -C .build/projects/gmake-mingw config = debug64
2013-11-22 19:14:50 -08:00
mingw-release64 : .build /projects /gmake -mingw
2013-03-27 21:18:29 -07:00
make -R -C .build/projects/gmake-mingw config = release64
mingw : mingw -debug 32 mingw -release 32 mingw -debug 64 mingw -release 64
2013-11-22 19:14:50 -08:00
.build/projects/vs2008 :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua vs2008
2013-03-27 21:18:29 -07:00
vs2008-debug32 :
devenv .build/projects/vs2008/bgfx.sln /Build "Debug|Win32"
vs2008-release32 :
devenv .build/projects/vs2008/bgfx.sln /Build "Release|Win32"
vs2008-debug64 :
devenv .build/projects/vs2008/bgfx.sln /Build "Debug|x64"
vs2008-release64 :
devenv .build/projects/vs2008/bgfx.sln /Build "Release|x64"
vs2008 : vs 2008-debug 32 vs 2008-release 32 vs 2008-debug 64 vs 2008-release 64
2013-11-22 19:14:50 -08:00
.build/projects/vs2010 :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua vs2010
2013-11-22 19:14:50 -08:00
2013-11-26 09:56:03 -08:00
.build/projects/vs2012 :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua vs2012
2013-11-26 09:56:03 -08:00
2013-11-22 19:14:50 -08:00
.build/projects/gmake-nacl :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua --gcc= nacl gmake
2013-11-22 19:14:50 -08:00
nacl-debug32 : .build /projects /gmake -nacl
2013-03-27 21:18:29 -07:00
make -R -C .build/projects/gmake-nacl config = debug32
2013-11-22 19:14:50 -08:00
nacl-release32 : .build /projects /gmake -nacl
2013-03-27 21:18:29 -07:00
make -R -C .build/projects/gmake-nacl config = release32
2013-11-22 19:14:50 -08:00
nacl-debug64 : .build /projects /gmake -nacl
2013-03-27 21:18:29 -07:00
make -R -C .build/projects/gmake-nacl config = debug64
2013-11-22 19:14:50 -08:00
nacl-release64 : .build /projects /gmake -nacl
2013-03-27 21:18:29 -07:00
make -R -C .build/projects/gmake-nacl config = release64
nacl : nacl -debug 32 nacl -release 32 nacl -debug 64 nacl -release 64
2013-11-22 19:14:50 -08:00
.build/projects/gmake-nacl-arm :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua --gcc= nacl-arm gmake
2013-11-22 19:14:50 -08:00
nacl-arm-debug : .build /projects /gmake -nacl -arm
2013-04-13 00:26:41 -07:00
make -R -C .build/projects/gmake-nacl-arm config = debug
2013-11-22 19:14:50 -08:00
nacl-arm-release : .build /projects /gmake -nacl -arm
2013-04-13 00:26:41 -07:00
make -R -C .build/projects/gmake-nacl-arm config = release
2013-03-27 21:18:29 -07:00
nacl-arm : nacl -arm -debug 32 nacl -arm -release 32
2013-11-22 19:14:50 -08:00
.build/projects/gmake-pnacl :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua --gcc= pnacl gmake
2013-11-22 19:14:50 -08:00
pnacl-debug : .build /projects /gmake -pnacl
2013-04-13 00:26:41 -07:00
make -R -C .build/projects/gmake-pnacl config = debug
2013-11-22 19:14:50 -08:00
pnacl-release : .build /projects /gmake -pnacl
2013-04-13 00:26:41 -07:00
make -R -C .build/projects/gmake-pnacl config = release
2013-03-27 21:18:29 -07:00
pnacl : pnacl -debug pnacl -release
2013-11-22 19:14:50 -08:00
.build/projects/gmake-osx :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua --gcc= osx gmake
2013-11-22 19:14:50 -08:00
osx-debug32 : .build /projects /gmake -osx
2013-03-27 21:18:29 -07:00
make -C .build/projects/gmake-osx config = debug32
2013-11-22 19:14:50 -08:00
osx-release32 : .build /projects /gmake -osx
2013-03-27 21:18:29 -07:00
make -C .build/projects/gmake-osx config = release32
2013-11-22 19:14:50 -08:00
osx-debug64 : .build /projects /gmake -osx
2013-03-27 21:18:29 -07:00
make -C .build/projects/gmake-osx config = debug64
2013-11-22 19:14:50 -08:00
osx-release64 : .build /projects /gmake -osx
2013-03-27 21:18:29 -07:00
make -C .build/projects/gmake-osx config = release64
osx : osx -debug 32 osx -release 32 osx -debug 64 osx -release 64
2013-11-22 19:14:50 -08:00
.build/projects/gmake-ios-arm :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua --gcc= ios-arm gmake
2013-11-22 19:14:50 -08:00
ios-arm-debug : .build /projects /gmake -ios -arm
2013-07-21 14:44:53 -07:00
make -R -C .build/projects/gmake-ios-arm config = debug
2013-11-22 19:14:50 -08:00
ios-arm-release : .build /projects /gmake -ios -arm
2013-07-21 14:44:53 -07:00
make -R -C .build/projects/gmake-ios-arm config = release
ios-arm : ios -arm -debug ios -arm -release
2013-11-22 19:14:50 -08:00
.build/projects/gmake-ios-simulator :
2014-03-02 21:27:22 -08:00
$( PREMAKE4) --file= premake/premake4.lua --gcc= ios-simulator gmake
2013-11-22 19:14:50 -08:00
ios-simulator-debug : .build /projects /gmake -ios -simulator
2013-07-21 14:44:53 -07:00
make -R -C .build/projects/gmake-ios-simulator config = debug
2013-11-22 19:14:50 -08:00
ios-simulator-release : .build /projects /gmake -ios -simulator
2013-07-21 14:44:53 -07:00
make -R -C .build/projects/gmake-ios-simulator config = release
ios-simulator : ios -simulator -debug ios -simulator -release
2013-07-14 13:14:48 -07:00
2013-03-27 21:18:29 -07:00
rebuild-shaders :
2013-04-13 00:26:41 -07:00
make -R -C examples rebuild
2013-03-27 21:18:29 -07:00
2013-08-11 19:01:17 -07:00
analyze :
cppcheck src/
cppcheck examples/
2013-03-27 21:18:29 -07:00
docs :
2013-05-05 10:47:30 -07:00
doxygen premake/bgfx.doxygen
2013-03-27 21:18:29 -07:00
markdown README.md > .build/docs/readme.html
clean :
@echo Cleaning...
2013-10-18 08:29:11 -07:00
-@rm -rf .build
2014-02-09 18:59:49 -08:00
###
SILENT ?= @
UNAME := $( shell uname)
i f e q ( $( UNAME ) , $( filter $ ( UNAME ) ,Linux Darwin ) )
i f e q ( $( UNAME ) , $( filter $ ( UNAME ) ,Darwin ) )
OS = darwin
BUILD_PROJECT_DIR = gmake-osx
2014-02-09 19:05:33 -08:00
BUILD_OUTPUT_DIR = osx64_gcc
BUILD_TOOLS_CONFIG = release64
2014-02-09 18:59:49 -08:00
EXE =
e l s e
OS = linux
BUILD_PROJECT_DIR = gmake-linux
2014-02-09 19:05:33 -08:00
BUILD_OUTPUT_DIR = linux64_gcc
BUILD_TOOLS_CONFIG = release64
2014-02-09 18:59:49 -08:00
EXE =
e n d i f
e l s e
OS = windows
BUILD_PROJECT_DIR = gmake-mingw
BUILD_OUTPUT_DIR = win32_mingw
BUILD_TOOLS_CONFIG = release32
EXE = .exe
e n d i f
.build/$(BUILD_OUTPUT_DIR)/bin/shadercRelease$(EXE) : .build /projects /$( BUILD_PROJECT_DIR )
$( SILENT) make -C .build/projects/$( BUILD_PROJECT_DIR) -f shaderc.make config = $( BUILD_TOOLS_CONFIG)
tools/bin/$(OS)/shaderc$(EXE) : .build /$( BUILD_OUTPUT_DIR ) /bin /shadercRelease $( EXE )
$( SILENT) cp $( <) $( @)
.build/$(BUILD_OUTPUT_DIR)/bin/geometrycRelease$(EXE) : .build /projects /$( BUILD_PROJECT_DIR )
$( SILENT) make -C .build/projects/$( BUILD_PROJECT_DIR) -f geometryc.make config = $( BUILD_TOOLS_CONFIG)
tools/bin/$(OS)/geometryc$(EXE) : .build /$( BUILD_OUTPUT_DIR ) /bin /geometrycRelease $( EXE )
$( SILENT) cp $( <) $( @)
tools : tools /bin /$( OS ) /shaderc $( EXE ) tools /bin /$( OS ) /geometryc $( EXE )