Initial commit
This commit is contained in:
206
Makefile
Normal file
206
Makefile
Normal file
@@ -0,0 +1,206 @@
|
||||
# Makefile
|
||||
# Author: Patrick Baggett <ptbaggett@762studios.com>
|
||||
# Created: 12/20/2011
|
||||
#
|
||||
# Purpose:
|
||||
#
|
||||
# Main makefile for 762 Studios. Requires GNU Make
|
||||
#
|
||||
# License:
|
||||
#
|
||||
# This program is free software. It comes without any warranty, to
|
||||
# the extent permitted by applicable law. You can redistribute it
|
||||
# and/or modify it under the terms of the Do What The Fuck You Want
|
||||
# To Public License, Version 2, as published by Sam Hocevar. See
|
||||
# http://sam.zoy.org/wtfpl/COPYING for more details.
|
||||
|
||||
ROOTDIR := $(shell pwd)
|
||||
|
||||
.PHONY: atomic concurrency crypto math random os net zutil ztestsuite catandmouse rubeconvert gltest
|
||||
|
||||
# This sets flags for the type of compiler in use.
|
||||
# Sets IS_GCC, IS_ICC or IS_CC.
|
||||
include BuildConfig/DetectCompiler.rules
|
||||
|
||||
#Detect platform (OS + architecture)
|
||||
# -> This sets $OS and $ARCH for us.
|
||||
include BuildConfig/DetectPlatform.rules
|
||||
|
||||
#Include platform specific build rules
|
||||
include BuildConfig/Makefile.$(OS).$(ARCH)
|
||||
|
||||
#Detect libraries associated with this platform
|
||||
LIB_RULES ?=Libs
|
||||
include BuildConfig/Detect$(LIB_RULES).rules
|
||||
|
||||
PLATFORM := $(OS)-$(ARCH)
|
||||
|
||||
#Make distribution folder for libs
|
||||
DIST ?= $(ROOTDIR)/Bin/$(ARCH)
|
||||
$(shell mkdir -p $(DIST))
|
||||
|
||||
override LDFLAGS += $(OS_LDFLAGS)
|
||||
override CXXFLAGS += $(OS_CXXFLAGS) -I$(ROOTDIR)/Include -I$(ROOTDIR)/Lib/Include
|
||||
override CFLAGS += $(OS_CFLAGS) -I$(ROOTDIR)/Include -I$(ROOTDIR)/Lib/Include
|
||||
|
||||
export #Make sure sub-makes get the variables
|
||||
|
||||
release:
|
||||
@echo Building ZEngine in \"Release\" mode for $(PLATFORM)
|
||||
$(MAKE) -C libsst-atomic TARGET=release
|
||||
$(MAKE) -C libsst-concurrency TARGET=release
|
||||
$(MAKE) -C libsst-os TARGET=release
|
||||
$(MAKE) -C libsst-crypto TARGET=release
|
||||
$(MAKE) -C libsst-random TARGET=release
|
||||
$(MAKE) -C libsst-math TARGET=release all
|
||||
$(MAKE) -C libsst-net TARGET=release
|
||||
$(MAKE) -C libsst-glapi TARGET=release
|
||||
$(MAKE) -C libsst-wm TARGET=release
|
||||
$(MAKE) -C ZUtil TARGET=release
|
||||
$(MAKE) -C ZNet TARGET=release
|
||||
$(MAKE) -C ZTestSuite TARGET=release
|
||||
$(MAKE) -C "Test App - LSystem" TARGET=release
|
||||
$(MAKE) -C "Test App - WM" TARGET=release
|
||||
|
||||
debug:
|
||||
@echo Building ZEngine in \"Debug\" mode for $(PLATFORM)
|
||||
$(MAKE) -C libsst-atomic CFLAGS="$(CFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
$(MAKE) -C libsst-concurrency CFLAGS="$(CFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
$(MAKE) -C libsst-os CFLAGS="$(CFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
$(MAKE) -C libsst-crypto CFLAGS="$(CFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
$(MAKE) -C libsst-random CFLAGS="$(CFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
$(MAKE) -C libsst-math CFLAGS="$(CFLAGS) -g -D_DEBUG" TARGET=debug all
|
||||
$(MAKE) -C libsst-net CFLAGS="$(CFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
$(MAKE) -C libsst-glapi CFLAGS="$(CFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
$(MAKE) -C libsst-wm CFLAGS="$(CFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
$(MAKE) -C ZUtil CXXFLAGS="$(CXXFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
$(MAKE) -C ZNet CXXFLAGS="$(CXXFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
$(MAKE) -C ZTestSuite CXXFLAGS="$(CXXFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
$(MAKE) -C "Test App - LSystem" CXXFLAGS="$(CXXFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
$(MAKE) -C "Test App - WM" CFLAGS="$(CFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
|
||||
clean:
|
||||
@echo Cleaning ZEngine.
|
||||
$(MAKE) -C libsst-atomic clean
|
||||
$(MAKE) -C libsst-concurrency clean
|
||||
$(MAKE) -C libsst-os clean
|
||||
$(MAKE) -C libsst-crypto clean
|
||||
$(MAKE) -C libsst-random clean
|
||||
$(MAKE) -C libsst-math clean
|
||||
$(MAKE) -C libsst-net clean
|
||||
$(MAKE) -C libsst-glapi clean
|
||||
$(MAKE) -C libsst-wm clean
|
||||
$(MAKE) -C ZUtil clean
|
||||
$(MAKE) -C ZTestSuite clean
|
||||
$(MAKE) -C ZNet clean
|
||||
$(MAKE) -C "Test App - LSystem" clean
|
||||
$(MAKE) -C "Test App - WM" clean
|
||||
$(MAKE) -C CatAndMouse clean
|
||||
$(MAKE) -C Salvage clean
|
||||
|
||||
cleanall: clean
|
||||
$(MAKE) -C libsst-math code
|
||||
|
||||
math:
|
||||
@echo Building libsst-$@ in \"Debug\" mode for $(PLATFORM)
|
||||
$(MAKE) -C libsst-$@ CFLAGS="$(CFLAGS)" TARGET=release all
|
||||
|
||||
atomic:
|
||||
@echo Building libsst-$@ in \"Debug\" mode for $(PLATFORM)
|
||||
$(MAKE) -C libsst-$@ CFLAGS="$(CFLAGS)" TARGET=release
|
||||
|
||||
os:
|
||||
@echo Building libsst-$@ in \"Debug\" mode for $(PLATFORM)
|
||||
$(MAKE) -C libsst-$@ CFLAGS="$(CFLAGS)" TARGET=release
|
||||
|
||||
crypto:
|
||||
@echo Building libsst-$@ in \"Debug\" mode for $(PLATFORM)
|
||||
$(MAKE) -C libsst-$@ CFLAGS="$(CFLAGS)" TARGET=release
|
||||
|
||||
random:
|
||||
@echo Building libsst-$@ in \"Debug\" mode for $(PLATFORM)
|
||||
$(MAKE) -C libsst-$@ CFLAGS="$(CFLAGS)" TARGET=release
|
||||
|
||||
concurrency:
|
||||
@echo Building libsst-$@ in \"Debug\" mode for $(PLATFORM)
|
||||
$(MAKE) -C libsst-$@ CFLAGS="$(CFLAGS)" TARGET=release
|
||||
|
||||
net:
|
||||
@echo Building libsst-$@ in \"Debug\" mode for $(PLATFORM)
|
||||
$(MAKE) -C libsst-$@ CFLAGS="$(CFLAGS)" TARGET=release
|
||||
|
||||
glapi:
|
||||
@echo Building libsst-$@ in \"Debug\" mode for $(PLATFORM)
|
||||
$(MAKE) -C libsst-$@ CFLAGS="$(CFLAGS)" TARGET=release
|
||||
|
||||
wm:
|
||||
@echo Building libsst-$@ in \"Release\" mode for $(PLATFORM)
|
||||
$(MAKE) -C libsst-$@ CFLAGS="$(CFLAGS)" TARGET=release
|
||||
|
||||
wm-debug: debug
|
||||
@echo Building libsst-wm in \"Debug\" mode for $(PLATFORM)
|
||||
$(MAKE) -C libsst-wm CFLAGS="$(CFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
|
||||
clobber:
|
||||
@echo Cleaning All Auto-Generated Code
|
||||
$(MAKE) -C libsst-math code
|
||||
|
||||
ztestsuite: math atomic os crypto random concurrency net zutil
|
||||
@echo Building $@ in \"Debug\" mode for $(PLATFORM)
|
||||
$(MAKE) -C ZTestSuite CXXFLAGS="$(CXXFLAGS)" TARGET=release
|
||||
|
||||
zutil:
|
||||
@echo Building $@ in \"Release\" mode for $(PLATFORM)
|
||||
$(MAKE) -C ZUtil CFLAGS="$(CFLAGS)" TARGET=release
|
||||
|
||||
znet:
|
||||
@echo Building $@ in \"Release\" mode for $(PLATFORM)
|
||||
$(MAKE) -C ZNet CFLAGS="$(CFLAGS)" TARGET=release
|
||||
|
||||
lsystem:
|
||||
@echo Building $@ in \"Debug\" mode for $(PLATFORM)
|
||||
$(MAKE) -C "Test App - LSystem" CXXFLAGS="$(CXXFLAGS)" TARGET=release
|
||||
|
||||
wm-test:
|
||||
@echo Building $@ in \"Release\" mode for $(PLATFORM)
|
||||
$(MAKE) -C "Test App - WM" TARGET=release
|
||||
|
||||
rubeconvert:
|
||||
@echo "Building RUBEConvert"
|
||||
$(MAKE) -C RUBEConvert TARGET=release
|
||||
|
||||
gltest:
|
||||
@echo "Building gltest"
|
||||
$(MAKE) -C gltest TARGET=release
|
||||
|
||||
gltest-debug: debug
|
||||
@echo "Build gltest debug"
|
||||
$(MAKE) -C gltest CFLAGS="$(CFLAGS) -g -D_DEBUG" TARGET=debug
|
||||
|
||||
cm-debug: debug
|
||||
@echo Building Cat and Mouse Debug Client
|
||||
$(MAKE) -C CatAndMouse TARGET=debug
|
||||
|
||||
cm-release: release
|
||||
@echo Building Cat and Mouse Release Client
|
||||
$(MAKE) -C CatAndMouse TARGET=release
|
||||
|
||||
cm-ded-debug: debug
|
||||
@echo Building Cat and Mouse Debug Dedicated Server
|
||||
$(MAKE) -C CatAndMouse TARGET=ded-debug
|
||||
|
||||
cm-ded-release: release
|
||||
@echo Building Cat and Mouse Release Dedicated Server
|
||||
$(MAKE) -C CatAndMouse TARGET=ded-release
|
||||
|
||||
salvage-debug: debug
|
||||
@echo Building Salvage Debug Mode for $(PLATFORM)
|
||||
$(MAKE) -C Salvage TARGET=debug
|
||||
|
||||
salvage-release: release
|
||||
@echo Building Salvage Release Mode for $(PLATFORM)
|
||||
$(MAKE) -C Salvage TARGET=release
|
||||
|
||||
|
||||
all: release debug
|
||||
|
||||
Reference in New Issue
Block a user