added everything
This commit is contained in:
49
mk/conf.CW6.WIN32.mk
Executable file
49
mk/conf.CW6.WIN32.mk
Executable file
@ -0,0 +1,49 @@
|
||||
|
||||
O=.obj
|
||||
EXT.EXE=$(BUILD_SUFFIX).exe
|
||||
EXT.LIB=$(BUILD_SUFFIX).lib
|
||||
EXT.DLL=$(BUILD_SUFFIX).dll
|
||||
EXT.DLE=$(BUILD_SUFFIX).dle
|
||||
EXT.DEP=.dep
|
||||
|
||||
MKDIR=mkdir $(@:/=)
|
||||
RM=rm -f
|
||||
RMDIR=rm -rf
|
||||
CP=cp
|
||||
LN=cp
|
||||
|
||||
COMPILER.c =mwcc.exe
|
||||
COMPILER.cc =mwcc.exe
|
||||
COMPILER.asm =..\bin\nasm\nasmw.exe
|
||||
COMPILER.rc =rc.exe # codeWarrior does NOT have a commandline resource compiler, use VC++ if exists
|
||||
LINK=mwld.exe
|
||||
|
||||
#-nodefaults
|
||||
CFLAGS.GENERAL =-msgstyle gcc -enum int -align 4 -proc 586 -inst mmx -nosyspath \
|
||||
-warn on -warn nounusedexpr -warn nounusedarg -warn nounusedvar -warn noemptydecl \
|
||||
-maxerrors 10 -maxwarnings 10
|
||||
CFLAGS.RELEASE =-opt full -sym on
|
||||
CFLAGS.DEBUG =-opt level=0 -inline off -sym on -DTORQUE_DEBUG
|
||||
CFLAGS.DEBUGFAST =-opt level=2, schedule -inline smart -sym on
|
||||
|
||||
ASMFLAGS = -f win32
|
||||
|
||||
LFLAGS.GENERAL =
|
||||
LFLAGS.RELEASE =-sym codeview
|
||||
LFLAGS.DEBUG =-sym codeview
|
||||
|
||||
#dxguid.lib dxerr8.lib ole32.lib shell32.lib
|
||||
|
||||
#winmm.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib
|
||||
|
||||
LINK.LIBS.GENERAL = gdi32.lib kernel32.lib user32.lib wsock32.lib comdlg32.lib winmm.lib advapi32.lib uuid.lib vfw32.lib
|
||||
LINK.LIBS.RELEASE = mwcrtl.lib ansiCx86.lib ansiCPPx86.lib
|
||||
LINK.LIBS.DEBUG = mwcrtld.lib ansiCx86d.lib ansiCPPx86d.lib
|
||||
|
||||
PATH.H.SYS =
|
||||
#PATH.H.SYS =-I- -I"$(CWINSTALL)\MSL\MSL_C\MSL_Common\Include" \
|
||||
# -I"$(CWINSTALL)\MSL\MSL_C++\MSL_Common\Include" \
|
||||
# -I"$(CWINSTALL)\Win32-x86 Support\Headers\Win32 SDK" \
|
||||
# -I"$(CWINSTALL)\Win32-x86 Support\Headers\precompiled headers" \
|
||||
# -I"$(CWINSTALL)\MSL\MSL_C\MSL_Win32\Include"
|
||||
|
67
mk/conf.CW6.mk
Executable file
67
mk/conf.CW6.mk
Executable file
@ -0,0 +1,67 @@
|
||||
|
||||
|
||||
CFLAGS = $(CFLAGS.GENERAL) $(CFLAGS.$(BUILD))
|
||||
LFLAGS = $(LFLAGS.GENERAL) $(LFLAGS.$(BUILD))
|
||||
LINK.LIBS = $(LINK.LIBS.GENERAL) $(LINK.LIBS.$(BUILD))
|
||||
|
||||
define DO.COMPILE.C
|
||||
@echo Compiling $<
|
||||
@-mwcc $(CFLAGS) -MMD -I. $(PATH.H.SYS) -c $(<) -o $(dir $@)
|
||||
endef
|
||||
|
||||
define DO.COMPILE.CC
|
||||
@echo Compiling $<
|
||||
@-mwcc $(CFLAGS) -MMD -I. $(PATH.H.SYS) -c $(<) -o $(dir $@)
|
||||
endef
|
||||
|
||||
define DO.COMPILE.ASM
|
||||
@echo Compiling $<
|
||||
nasmw $(ASMFLAGS) $(<) -o $@
|
||||
endef
|
||||
|
||||
define DO.COMPILE.RC
|
||||
# Assumes existance of MSVC environment variable set to the root of the
|
||||
# VC++ install directory typically C:\Program Files\Microsoft Visual Studio\VC98
|
||||
@echo Compiling $<
|
||||
@$(COMPILER.rc) $(RCFLAGS) /i'$(MSVC)\mfc\include' /fo$@ $(<)
|
||||
endef
|
||||
|
||||
|
||||
define DO.LINK.CONSOLE.EXE
|
||||
@echo Linking $@
|
||||
@mwld $(LFLAGS) -application -subsystem console -o $@ \
|
||||
$(addprefix -L, $(LIB.PATH)) \
|
||||
$(addprefix -l, $(LINK.LIBS)) \
|
||||
$(LINK.SOURCES)
|
||||
endef
|
||||
|
||||
define DO.LINK.GUI.EXE
|
||||
@echo Linking $@
|
||||
@mwld $(LFLAGS) -application -subsystem windows -o $@ \
|
||||
$(addprefix -L, $(LIB.PATH)) \
|
||||
$(addprefix -l, $(LINK.LIBS)) \
|
||||
$(LINK.SOURCES)
|
||||
endef
|
||||
|
||||
define DO.LINK.LIB
|
||||
@echo Linking $@
|
||||
@mwld $(LFLAGS) -library -o $@ \
|
||||
$(LINK.SOURCES)
|
||||
endef
|
||||
|
||||
# $(DLLLFLAGS) -osym $(@, R, >.sym) -shared -export dllexport $(DLLXLIBS)
|
||||
# -subsystem windows -o $@ -l$[s," -l",$[t,;," ", $(DLLLIBS)]] $(.SOURCES, M"*.obj")
|
||||
|
||||
|
||||
define DO.LINK.DLL
|
||||
@echo Linking $@
|
||||
mwld $(LFLAGS) -shared -export dllexport \
|
||||
$(addprefix -L, $(LIB.PATH)) \
|
||||
-subsystem windows \
|
||||
-o $@ \
|
||||
$(addprefix -l, $(LINK.LIBS)) \
|
||||
$(LINK.SOURCES) \
|
||||
$(LINK.RESOURCES) \
|
||||
$(patsubst %, -f %, $(LINK.DEFS))
|
||||
endef
|
||||
|
31
mk/conf.GCC.mk
Executable file
31
mk/conf.GCC.mk
Executable file
@ -0,0 +1,31 @@
|
||||
|
||||
|
||||
CFLAGS = $(CFLAGS.GENERAL) $(CFLAGS.$(BUILD))
|
||||
LFLAGS = $(LFLAGS.GENERAL) $(LFLAGS.$(BUILD))
|
||||
LINK.LIBS = $(LINK.LIBS.GENERAL) $(LINK.LIBS.$(BUILD))
|
||||
|
||||
|
||||
define DO.COMPILE.C
|
||||
@echo "--> Compiling $(<)"
|
||||
@$(COMPILER.c) $(CFLAGS) -I. $(PATH.H.SYS) -c -o $(@) $(<)
|
||||
endef
|
||||
|
||||
define DO.COMPILE.CC
|
||||
@echo "--> Compiling $(<)"
|
||||
@$(COMPILER.cc) $(CFLAGS) -I. $(PATH.H.SYS) -c -o $(@) $(<)
|
||||
endef
|
||||
|
||||
define DO.COMPILE.ASM
|
||||
@echo "--> Assembling $(<)"
|
||||
@$(COMPILER.asm) $(ASMFLAGS) -o $@ $(<)
|
||||
endef
|
||||
|
||||
define DO.LINK.CONSOLE.EXE
|
||||
@echo "--> Linking $@"
|
||||
@$(COMPILER.cc) -o $@ $(LFLAGS) $(LINK.SOURCES) $(LINK.LIBS)
|
||||
endef
|
||||
|
||||
define DO.LINK.LIB
|
||||
@echo "Creating library $@"
|
||||
@$(LINK) -cr $@ $(LINK.SOURCES)
|
||||
endef
|
11
mk/conf.GCC2.FreeBSD.mk
Executable file
11
mk/conf.GCC2.FreeBSD.mk
Executable file
@ -0,0 +1,11 @@
|
||||
include ../mk/conf.UNIX.mk
|
||||
|
||||
# override defaults
|
||||
|
||||
CFLAGS.GENERAL = -DUSE_FILE_REDIRECT -I/usr/X11R6/include/ -march=i586 \
|
||||
-mcpu=i686 -ffast-math -fno-exceptions #-fno-check-new
|
||||
|
||||
# GLU must be statically linked, otherwise torque will crash.
|
||||
LINK.LIBS.GENERAL = -Wl,-static -Wl,-lGLU -Wl,-dy -L/usr/X11R6/lib -L/usr/local/lib -lSDL -pthread # -lefence
|
||||
|
||||
LINK.LIBS.SERVER = -pthread
|
6
mk/conf.GCC2.LINUX.mk
Executable file
6
mk/conf.GCC2.LINUX.mk
Executable file
@ -0,0 +1,6 @@
|
||||
include ../mk/conf.UNIX.mk
|
||||
|
||||
# any setting in conf.UNIX.mk can be overridden here. compiler name
|
||||
# is commonly overridden, since it varies depending on the distro.
|
||||
#COMPILER.c =gcc
|
||||
#COMPILER.cc =g++
|
2
mk/conf.GCC2.OpenBSD.mk
Executable file
2
mk/conf.GCC2.OpenBSD.mk
Executable file
@ -0,0 +1,2 @@
|
||||
include ../mk/conf.UNIX.mk
|
||||
|
48
mk/conf.GCC2.WIN32.mk
Executable file
48
mk/conf.GCC2.WIN32.mk
Executable file
@ -0,0 +1,48 @@
|
||||
O=.obj
|
||||
# there is no "exe" for x86 UNIX, but the makefiles need some extension so use this for now.
|
||||
EXT.EXE=$(BUILD_SUFFIX).exe
|
||||
EXT.LIB=$(BUILD_SUFFIX).a
|
||||
PRE.LIBRARY.LIB=../lib/$(DIR.OBJ)/
|
||||
PRE.ENGINE.LIB=../engine/$(DIR.OBJ)/
|
||||
|
||||
# we won't be needing any DLLs, but just leave the def'n in place.
|
||||
EXT.DLL=$(BUILD_SUFFIX).dll
|
||||
EXT.DLE=$(BUILD_SUFFIX).dle
|
||||
EXT.DEP=.d
|
||||
|
||||
MKDIR=mkdir $(@:/=)
|
||||
RM=rm -f
|
||||
RMDIR=rm -rf
|
||||
CP=cp
|
||||
LN=cp
|
||||
|
||||
COMPILER.c =gcc
|
||||
COMPILER.cc =g++
|
||||
COMPILER.asm =../bin/nasm/nasmw.exe
|
||||
LINK =ar
|
||||
LINK.cc =ld
|
||||
|
||||
# NOTE: if the warnings bother you, you can added a -w here to shut them off.
|
||||
# be warned that you will then get no warnings.
|
||||
CFLAGS.GENERAL = -Wno-conversion -MD -march=i586 -fvtable-thunks -fno-exceptions -fpermissive
|
||||
CFLAGS.RELEASE =-O2 -finline-functions -fomit-frame-pointer \
|
||||
# -malign-double -ffast-math # these haven't been tested
|
||||
CFLAGS.DEBUG =-g -DTORQUE_DEBUG
|
||||
|
||||
ASMFLAGS =-f win32
|
||||
|
||||
LFLAGS.GENERAL = -m i386pe
|
||||
LFLAGS.RELEASE =
|
||||
LFLAGS.DEBUG =
|
||||
|
||||
LINK.LIBS.VORBIS = ../lib/vorbis/win32/libogg.a ../lib/vorbis/win32/libvorbis.a ../lib/vorbis/win32/libogg.a
|
||||
LINK.LIBS.GENERAL = -lmingw32 -lcomdlg32 -luser32 -ladvapi32 -lgdi32 -lwinmm -lwsock32 -lvfw32 $(LINK.LIBS.VORBIS)
|
||||
LINK.LIBS.TOOLS = -lmingw32 -lcomdlg32 -luser32 -ladvapi32 -lgdi32 -lwinmm -lwsock32 -lvfw32
|
||||
LINK.LIBS.SERVER =
|
||||
LINK.LIBS.RELEASE =
|
||||
LINK.LIBS.DEBUG =
|
||||
|
||||
PATH.H.SYS =
|
||||
|
||||
COMPILE_D3D=false
|
||||
|
4
mk/conf.GCC2.mk
Executable file
4
mk/conf.GCC2.mk
Executable file
@ -0,0 +1,4 @@
|
||||
include ../mk/conf.GCC.mk
|
||||
|
||||
# Needed for pthreads
|
||||
CFLAGS.GENERAL += -D_GNU_SOURCE
|
6
mk/conf.GCC3.4.LINUX.mk
Executable file
6
mk/conf.GCC3.4.LINUX.mk
Executable file
@ -0,0 +1,6 @@
|
||||
include ../mk/conf.UNIX.mk
|
||||
|
||||
# any setting in conf.UNIX.mk can be overridden here. compiler name
|
||||
# is commonly overridden, since it varies depending on the distro.
|
||||
#COMPILER.c =gcc
|
||||
#COMPILER.cc =g++
|
2
mk/conf.GCC3.4.WIN32.mk
Executable file
2
mk/conf.GCC3.4.WIN32.mk
Executable file
@ -0,0 +1,2 @@
|
||||
#include ../mk/conf.GCC3.WIN32.mk
|
||||
|
14
mk/conf.GCC3.4.mk
Executable file
14
mk/conf.GCC3.4.mk
Executable file
@ -0,0 +1,14 @@
|
||||
include ../mk/conf.GCC.mk
|
||||
|
||||
COMPILER.c =gcc
|
||||
# -Wno-invalid-offsetof is only valid for g++ compilation, had to remove it from the CFLAGS variable seeing that we
|
||||
# pass CFLAGS to both gcc and g++
|
||||
COMPILER.cc =g++ -Wno-invalid-offsetof
|
||||
|
||||
CFLAGS += -mtune=i686
|
||||
|
||||
# turn off -O2 and -O3 optimization: causes executable crash with some
|
||||
# versions of 3.4
|
||||
CFLAGS:=$(subst -O2,-O1,$(CFLAGS))
|
||||
CFLAGS:=$(subst -O3,-O1,$(CFLAGS))
|
||||
|
6
mk/conf.GCC3.LINUX.mk
Executable file
6
mk/conf.GCC3.LINUX.mk
Executable file
@ -0,0 +1,6 @@
|
||||
include ../mk/conf.UNIX.mk
|
||||
|
||||
# any setting in conf.UNIX.mk can be overridden here. compiler name
|
||||
# is commonly overridden, since it varies depending on the distro.
|
||||
#COMPILER.c =gcc
|
||||
#COMPILER.cc =g++
|
5
mk/conf.GCC3.OpenBSD.mk
Executable file
5
mk/conf.GCC3.OpenBSD.mk
Executable file
@ -0,0 +1,5 @@
|
||||
include ../mk/conf.UNIX.mk
|
||||
|
||||
# override compilers
|
||||
COMPILER.c =gcc3
|
||||
COMPILER.cc =g++3
|
48
mk/conf.GCC3.WIN32.mk
Executable file
48
mk/conf.GCC3.WIN32.mk
Executable file
@ -0,0 +1,48 @@
|
||||
O=.obj
|
||||
# there is no "exe" for x86 UNIX, but the makefiles need some extension so use this for now.
|
||||
EXT.EXE=$(BUILD_SUFFIX).exe
|
||||
EXT.LIB=$(BUILD_SUFFIX).a
|
||||
PRE.LIBRARY.LIB=../lib/$(DIR.OBJ)/
|
||||
PRE.ENGINE.LIB=../engine/$(DIR.OBJ)/
|
||||
|
||||
# we won't be needing any DLLs, but just leave the def'n in place.
|
||||
EXT.DLL=$(BUILD_SUFFIX).dll
|
||||
EXT.DLE=$(BUILD_SUFFIX).dle
|
||||
EXT.DEP=.d
|
||||
|
||||
MKDIR=mkdir $(@:/=)
|
||||
RM=rm -f
|
||||
RMDIR=rm -rf
|
||||
CP=cp
|
||||
LN=cp
|
||||
|
||||
COMPILER.c =gcc
|
||||
COMPILER.cc =g++
|
||||
COMPILER.asm =../bin/nasm/nasmw.exe
|
||||
LINK =ar
|
||||
LINK.cc =ld
|
||||
|
||||
# NOTE: if the warnings bother you, you can added a -w here to shut them off.
|
||||
# be warned that you will then get no warnings.
|
||||
CFLAGS.GENERAL = -mwin32 -Wno-conversion -MD -march=i586 -fno-exceptions -fpermissive
|
||||
CFLAGS.RELEASE =-O2 -finline-functions -fomit-frame-pointer \
|
||||
# -malign-double -ffast-math # these haven't been tested
|
||||
CFLAGS.DEBUG =-g -DTORQUE_DEBUG
|
||||
|
||||
ASMFLAGS =-f win32
|
||||
|
||||
LFLAGS.GENERAL = -m i386pe
|
||||
LFLAGS.RELEASE =
|
||||
LFLAGS.DEBUG =
|
||||
|
||||
LINK.LIBS.VORBIS = ../lib/vorbis/win32/libogg.a ../lib/vorbis/win32/libvorbis.a ../lib/vorbis/win32/libogg.a
|
||||
LINK.LIBS.GENERAL = -lcomdlg32 -luser32 -ladvapi32 -lgdi32 -lwinmm -lwsock32 -lvfw32 $(LINK.LIBS.VORBIS)
|
||||
LINK.LIBS.TOOLS = -lcomdlg32 -luser32 -ladvapi32 -lgdi32 -lwinmm -lwsock32 -lvfw32
|
||||
LINK.LIBS.SERVER = -lcomdlg32 -luser32 -ladvapi32 -lgdi32 -lwinmm -lwsock32 -lvfw32
|
||||
LINK.LIBS.RELEASE = -lcomdlg32 -luser32 -ladvapi32 -lgdi32 -lwinmm -lwsock32 -lvfw32
|
||||
LINK.LIBS.DEBUG = -lcomdlg32 -luser32 -ladvapi32 -lgdi32 -lwinmm -lwsock32 -lvfw32
|
||||
|
||||
PATH.H.SYS =
|
||||
|
||||
COMPILE_D3D=false
|
||||
|
1
mk/conf.GCC3.mk
Executable file
1
mk/conf.GCC3.mk
Executable file
@ -0,0 +1 @@
|
||||
include ../mk/conf.GCC.mk
|
6
mk/conf.GCC4.LINUX.mk
Executable file
6
mk/conf.GCC4.LINUX.mk
Executable file
@ -0,0 +1,6 @@
|
||||
include ../mk/conf.UNIX.mk
|
||||
|
||||
# any setting in conf.UNIX.mk can be overridden here. compiler name
|
||||
# is commonly overridden, since it varies depending on the distro.
|
||||
#COMPILER.c =gcc
|
||||
#COMPILER.cc =g++
|
2
mk/conf.GCC4.WIN32.mk
Executable file
2
mk/conf.GCC4.WIN32.mk
Executable file
@ -0,0 +1,2 @@
|
||||
#include ../mk/conf.GCC3.WIN32.mk
|
||||
|
8
mk/conf.GCC4.mk
Executable file
8
mk/conf.GCC4.mk
Executable file
@ -0,0 +1,8 @@
|
||||
include ../mk/conf.GCC.mk
|
||||
|
||||
COMPILER.c =gcc
|
||||
# -Wno-invalid-offsetof is only valid for g++ compilation, had to remove it from the CFLAGS variable seeing that we
|
||||
# pass CFLAGS to both gcc and g++
|
||||
COMPILER.cc =g++ -Wno-invalid-offsetof
|
||||
|
||||
CFLAGS += -mtune=i686
|
78
mk/conf.UNIX.mk
Executable file
78
mk/conf.UNIX.mk
Executable file
@ -0,0 +1,78 @@
|
||||
O=.obj
|
||||
# there is no "exe" for x86 UNIX, but the makefiles need some extension so use this for now.
|
||||
EXT.EXE=$(BUILD_SUFFIX).bin
|
||||
EXT.LIB=$(BUILD_SUFFIX).a
|
||||
PRE.LIBRARY.LIB=../lib/$(DIR.OBJ)/
|
||||
PRE.ENGINE.LIB=../engine/$(DIR.OBJ)/
|
||||
|
||||
# we won't be needing any DLLs, but just leave the def'n in place.
|
||||
EXT.DLL=$(BUILD_SUFFIX).dll
|
||||
EXT.DLE=$(BUILD_SUFFIX).dle
|
||||
EXT.DEP=.d
|
||||
|
||||
MKDIR=mkdir -p $(@:/=)
|
||||
RM=rm -f
|
||||
RMDIR=rm -rf
|
||||
CP=cp
|
||||
LN=cp
|
||||
|
||||
# these compiler names can be overridden on conf.GCC2.LINUX.mk and
|
||||
# conf.GCC3.LINUX.mk. These two files allow you to build the same source
|
||||
# tree with two different compilers without introducing conflicts.
|
||||
COMPILER.c =gcc
|
||||
COMPILER.cc =g++
|
||||
COMPILER.asm =nasm
|
||||
LINK =ar
|
||||
LINK.cc =ld
|
||||
|
||||
# Noteworthy compiler options:
|
||||
|
||||
# -DUSE_FILE_REDIRECT: enable fileio redirection to home directory. The
|
||||
# exact location is ~/.PREF_DIR_ROOT/PREF_DIR_GAME_NAME. These are set in
|
||||
# platformX86UNIX.h. You can disable redirection at run time with the
|
||||
# -nohomedir command line paramater. Files will then be stored in the game
|
||||
# directory, like the windows version.
|
||||
# -MD: generate .d dependency makefiles. These are necessary if you want
|
||||
# to cleanly do partial builds.
|
||||
# -w: disable all warnings
|
||||
# -fno-exceptions is safe to use (if your code doesn't use exceptions),
|
||||
# but it is disabled by default
|
||||
# -fno-check-new is not tested
|
||||
CFLAGS.GENERAL = -DUSE_FILE_REDIRECT -I/usr/X11R6/include/ -MD -march=i586 \
|
||||
`freetype-config --cflags` -mcpu=i686 -ffast-math -pipe
|
||||
|
||||
#-w -fno-exceptions -fno-check-new
|
||||
CFLAGS.RELEASE = -O2 -finline-functions -fomit-frame-pointer
|
||||
CFLAGS.DEBUG = -g -DTORQUE_DEBUG # -DTORQUE_DISABLE_MEMORY_MANAGER
|
||||
CFLAGS.DEBUGFAST = -O -g -finline-functions
|
||||
|
||||
ASMFLAGS = -f elf -dLINUX
|
||||
|
||||
LFLAGS.GENERAL =
|
||||
LFLAGS.RELEASE =
|
||||
LFLAGS.DEBUG =
|
||||
|
||||
# the included vorbis libs are used by default. You
|
||||
# can use your own libs if you want, just comment out the following
|
||||
# variable and uncomment the one after it. Note, the executable will not
|
||||
# automatically use the sdk ogg/vorbis libraries because they are not in the
|
||||
# system path. This means that if you don't have vorbis installed, you will
|
||||
# get runtime errors from the executable unless you use the "runtorque.sh"
|
||||
# script to start it.
|
||||
LINK.LIBS.VORBIS = -L=../lib/xiph/linux -logg -lvorbis -ltheora
|
||||
# the following uses the system libraries
|
||||
#LINK.LIBS.VORBIS = -logg -lvorbis
|
||||
|
||||
# GLU must be statically linked, otherwise torque will crash.
|
||||
# JMQNOTE: aside from gluProject/unProject, GLU doesn't work.
|
||||
# calling a GLU function that calls a GL function will cause a
|
||||
# crash. let me know if you have a fix :)
|
||||
LINK.LIBS.GENERAL = $(LINK.LIBS.VORBIS) -Wl,-static -Wl,-lGLU -Wl,-dy -L/usr/X11R6/lib -lSDL -lpthread -ldl # -lefence
|
||||
|
||||
LINK.LIBS.TOOLS = $(LINK.LIBS.VORBIS) -Wl,-static -Wl,-lGLU -Wl,-dy -L/usr/X11R6/lib -lSDL -lpthread -ldl # -lefence
|
||||
# -lefence is useful for finding memory corruption problems
|
||||
LINK.LIBS.SERVER = $(LINK.LIBS.VORBIS) -lpthread -lSDL -L/usr/X11R6/lib
|
||||
LINK.LIBS.RELEASE = -lXft
|
||||
LINK.LIBS.DEBUG = -lXft
|
||||
|
||||
PATH.H.SYS =
|
47
mk/conf.VC6.WIN32.mk
Executable file
47
mk/conf.VC6.WIN32.mk
Executable file
@ -0,0 +1,47 @@
|
||||
|
||||
O=.obj
|
||||
EXT.EXE=$(BUILD_SUFFIX).exe
|
||||
EXT.LIB=$(BUILD_SUFFIX).lib
|
||||
EXT.DLL=$(BUILD_SUFFIX).dll
|
||||
EXT.DLE=$(BUILD_SUFFIX).dle
|
||||
EXT.DEP=.dep
|
||||
|
||||
MKDIR=mkdir $(@:/=)
|
||||
RM=rm -f
|
||||
RMDIR=rm -rf
|
||||
CP=cp
|
||||
LN=cp
|
||||
|
||||
COMPILER.c =cl.exe
|
||||
COMPILER.cc =cl.exe
|
||||
COMPILER.asm =../bin/nasm/nasmw.exe
|
||||
COMPILER.rc =rc.exe
|
||||
LINK=link.exe
|
||||
|
||||
CFLAGS.GENERAL =/nologo /GR
|
||||
CFLAGS.RELEASE =/Ox /Zi
|
||||
CFLAGS.DEBUG =/Odib0 /Zi -DTORQUE_DEBUG
|
||||
CFLAGS.DEBUGFAST =
|
||||
|
||||
ASMFLAGS = -f win32
|
||||
|
||||
# assumes VC++ LIBPATH variable LIB is set in environment
|
||||
LFLAGS.GENERAL = /nologo /MACHINE:I386
|
||||
LFLAGS.RELEASE =
|
||||
LFLAGS.DEBUG =
|
||||
|
||||
LFLAGS.EXE.RELEASE= /debug
|
||||
LFLAGS.EXE.DEBUG = /debug
|
||||
|
||||
|
||||
# VC++ complains about the /DEBUG flag but if not present it DOES NOT create the associated debugging files
|
||||
|
||||
LINK.LIBS.GENERAL = COMCTL32.LIB COMDLG32.LIB USER32.LIB ADVAPI32.LIB GDI32.LIB WINMM.LIB WSOCK32.LIB vfw32.lib
|
||||
LINK.LIBS.RELEASE =
|
||||
LINK.LIBS.DEBUG =
|
||||
|
||||
PATH.H.SYS =
|
||||
|
||||
|
||||
MSVC=C:\Program Files\Microsoft Visual Studio\VC98
|
||||
|
63
mk/conf.VC6.mk
Executable file
63
mk/conf.VC6.mk
Executable file
@ -0,0 +1,63 @@
|
||||
|
||||
|
||||
CFLAGS = $(CFLAGS.GENERAL) $(CFLAGS.$(BUILD))
|
||||
LFLAGS = $(LFLAGS.GENERAL) $(LFLAGS.$(BUILD))
|
||||
LINK.LIBS = $(LINK.LIBS.GENERAL) $(LINK.LIBS.$(BUILD))
|
||||
|
||||
|
||||
define DO.COMPILE.C
|
||||
@-$(COMPILER.c) $(CFLAGS) -I. $(PATH.H.SYS) /c /FD /Tc$(<) /Fo$(dir $@)
|
||||
endef
|
||||
|
||||
define DO.COMPILE.CC
|
||||
@-$(COMPILER.cc) $(CFLAGS) -I. $(PATH.H.SYS) /c /FD /Tp$(<) /Fo$(dir $@)
|
||||
endef
|
||||
|
||||
define DO.COMPILE.ASM
|
||||
@echo Compiling $<
|
||||
@$(COMPILER.asm) $(ASMFLAGS) $(<) -o $@
|
||||
endef
|
||||
|
||||
define DO.COMPILE.RC
|
||||
# Assumes existance of MSVC environment variable set to the root of the
|
||||
# VC++ install directory typically C:\Program Files\Microsoft Visual Studio\VC98
|
||||
@echo Compiling $<
|
||||
@$(COMPILER.rc) $(RCFLAGS) /i'$(MSVC)\mfc\include' /fo$@ $(<)
|
||||
endef
|
||||
|
||||
|
||||
define DO.LINK.CONSOLE.EXE
|
||||
@echo Linking $@
|
||||
@$(LINK) $(LFLAGS) $(LFLAGS.EXE.$(BUILD)) /SUBSYSTEM:CONSOLE /OUT:$@ \
|
||||
$(patsubst %, /LIBPATH:%, $(LIB.PATH)) \
|
||||
$(LINK.SOURCES) \
|
||||
$(LINK.LIBS)
|
||||
endef
|
||||
|
||||
define DO.LINK.GUI.EXE
|
||||
@echo Linking $@
|
||||
@$(LINK) $(LFLAGS) $(LFLAGS.EXE.$(BUILD)) /SUBSYSTEM:WINDOWS /OUT:$@ \
|
||||
$(patsubst %, /LIBPATH:%, $(LIB.PATH)) \
|
||||
$(LINK.SOURCES) \
|
||||
$(LINK.LIBS)
|
||||
endef
|
||||
|
||||
define DO.LINK.LIB
|
||||
@echo Linking $@
|
||||
@$(LINK) \
|
||||
-LIB $(LFLAGS) /OUT:$@ \
|
||||
$(LINK.SOURCES)
|
||||
endef
|
||||
|
||||
define DO.LINK.DLL
|
||||
@echo Linking $@
|
||||
@$(LINK) \
|
||||
$(LINK.LIBS) \
|
||||
$(patsubst %, /LIBPATH:%, $(LIB.PATH)) \
|
||||
$(LFLAGS) /DLL /SUBSYSTEM:CONSOLE /OUT:$@ \
|
||||
$(LINK.SOURCES) \
|
||||
$(LINK.RESOURCES) \
|
||||
$(patsubst %, /DEF:%, $(LINK.DEFS))
|
||||
endef
|
||||
|
||||
|
39
mk/conf.common.mk
Executable file
39
mk/conf.common.mk
Executable file
@ -0,0 +1,39 @@
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: $(O) $(EXE) $(DLL) .S .c .cc .h .asm .ash .y .cpp
|
||||
|
||||
DIR.LIST=$(DIR.OBJ)/ $(addprefix $(DIR.OBJ)/, $(sort $(dir $(SOURCE.ALL))))
|
||||
|
||||
|
||||
LINK.SOURCES=$(filter %$(O),$^)
|
||||
LINK.RESOURCES=$(filter %.res,$^)
|
||||
LINK.DEFS=$(filter %.def,$^)
|
||||
|
||||
|
||||
.PHONY: dirlist
|
||||
#vpath %$(O) $(DIR.OBJ)
|
||||
|
||||
|
||||
$(DIR.OBJ)/%$O : %.cpp
|
||||
$(DO.COMPILE.CC)
|
||||
|
||||
$(DIR.OBJ)/%$O : %.cc
|
||||
$(DO.COMPILE.CC)
|
||||
$(DIR.OBJ)/%$O : %.c
|
||||
@$(DO.COMPILE.C)
|
||||
|
||||
$(DIR.OBJ)/%$O : %.asm
|
||||
@$(DO.COMPILE.ASM)
|
||||
|
||||
$(DIR.OBJ)/%.res : %.rc
|
||||
@$(DO.COMPILE.RC)
|
||||
|
||||
dirlist: $(DIR.LIST)
|
||||
|
||||
$(DIR.LIST):
|
||||
@$(if $(wildcard $@),, $(MKDIR))
|
||||
|
||||
clean: $(targetsclean)
|
||||
$(RMDIR) $(DIR.OBJ)/
|
||||
|
||||
|
||||
|
77
mk/configure.mk
Executable file
77
mk/configure.mk
Executable file
@ -0,0 +1,77 @@
|
||||
|
||||
COMPILER_OPTIONS=CW6 VC6 GCC2 GCC3 GCC3.4 GCC4
|
||||
BUILD_OPTIONS=DEBUG RELEASE
|
||||
OS_OPTIONS=WIN32 BEOS LINUX OpenBSD FreeBSD Solaris
|
||||
|
||||
OS=
|
||||
DIR.OBJ=out
|
||||
|
||||
-include mk/conf.mk
|
||||
CONFIG_STATUS=VALID
|
||||
|
||||
ifeq ($(findstring $(OS), $(OS_OPTIONS)),)
|
||||
targets += badOS
|
||||
CONFIG_STATUS=INVALID
|
||||
endif
|
||||
|
||||
ifeq ($(findstring $(COMPILER), $(COMPILER_OPTIONS)),)
|
||||
targets +=badCompiler
|
||||
CONFIG_STATUS=INVALID
|
||||
endif
|
||||
|
||||
ifeq ($(findstring $(BUILD), $(BUILD_OPTIONS)),)
|
||||
targets += badBuild
|
||||
CONFIG_STATUS=INVALID
|
||||
endif
|
||||
|
||||
default: $(targets) print save
|
||||
|
||||
badOS:
|
||||
@echo ERROR: OS variable not set or is an illegal value
|
||||
|
||||
badCompiler:
|
||||
@echo ERROR: COMPILER variable not set or is an illegal value
|
||||
|
||||
badBuild:
|
||||
@echo ERROR: BUILD variable not set or is an illegal value
|
||||
|
||||
print:
|
||||
@echo
|
||||
@echo "Current Configuration: this config is $(CONFIG_STATUS)"
|
||||
@echo " OS: $(OS)"
|
||||
@echo " COMPILER: $(COMPILER)"
|
||||
@echo " BUILD: $(BUILD)"
|
||||
@echo " DIR.OBJ: $(DIR.OBJ)"
|
||||
@echo
|
||||
@echo "To change the current configuration type:"
|
||||
@echo
|
||||
@echo "make -f mk/configure.mk {arguments, ...}"
|
||||
@echo
|
||||
@echo "required arguments:"
|
||||
@echo " OS={$(OS_OPTIONS)}"
|
||||
@echo " COMPILER={$(COMPILER_OPTIONS)}"
|
||||
@echo " BUILD={$(BUILD_OPTIONS)}"
|
||||
@echo
|
||||
@echo "optional arguments:"
|
||||
@echo " DIR.OBJ={path to store intermediate obj files}"
|
||||
@echo
|
||||
@echo "Note: all arguments are case sensitive."
|
||||
@echo
|
||||
|
||||
save:
|
||||
@echo OS=$(OS) > mk/conf.mk
|
||||
@echo COMPILER=$(COMPILER) >> mk/conf.mk
|
||||
@echo BUILD=$(BUILD) >> mk/conf.mk
|
||||
|
||||
@echo ifeq \"$(BUILD)\" \"DEBUG\" >> mk/conf.mk
|
||||
@echo BUILD_SUFFIX:=_DEBUG >> mk/conf.mk
|
||||
@echo else >> mk/conf.mk
|
||||
@echo BUILD_SUFFIX:= >> mk/conf.mk
|
||||
@echo endif >> mk/conf.mk
|
||||
|
||||
@echo CONFIG_STATUS=$(CONFIG_STATUS) >> mk/conf.mk
|
||||
@echo DIR.OBJ=$(DIR.OBJ) >> mk/conf.mk
|
||||
|
||||
@echo ifndef COMPILER_OPTIONS >> mk/conf.mk
|
||||
@echo DIR.OBJ:=$(DIR.OBJ).$(COMPILER).$(BUILD) >> mk/conf.mk
|
||||
@echo endif >> mk/conf.mk
|
Reference in New Issue
Block a user