Thread: How to Compile/Produce a .exe in Ubuntu
ok
need compile/produce .exe work in windows(32-bit).
right im using ubuntu(32-bit).
i've installed mingw: + of addons (just in-case)
there cross-make-mingw.sh(in source files):code:sudo apt-get install mingw32
and makefile reads:code:#!/bin/sh export cc=i586-mingw32msvc-gcc export windres=i586-mingw32msvc-windres export platform=mingw32 exec make $*
this first time trying this, , hope can compile .execode:# # quake3 unix makefile # # nov '98 zoid <zoid@idsoftware.com> # # loki hacking bernd kreimeier # , little more ryan c. gordon. # , little more rafael barrero # , little more ioq3 cr3w # , little more woekele iourbanterror :) # # gnu make required # compile_platform=$(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]') ifeq ($(compile_platform),darwin) # apple things little differently... compile_arch=$(shell uname -p | sed -e s/i.86/i386/) else compile_arch=$(shell uname -m | sed -e s/i.86/i386/) endif ifeq ($(compile_platform),mingw32) ifeq ($(compile_arch),i386) compile_arch=x86 endif endif build_client =1 build_client_smp =0 build_server =0 build_game_so =0 build_game_qvm =0 optimize =1 use_sdl =1 use_openal =0 use_curl =1 use_codec_vorbis =0 ifeq ($(v),1) echo_cmd=@: q= else echo_cmd=@echo q=@ endif ############################################################################# # # if require different configuration defaults below, create # new file named "makefile.local" in same directory file , define # parameters there. allows change configuration without # causing problems keeping date repository. # ############################################################################# -include makefile.local ifndef platform platform=$(compile_platform) endif export platform ifndef arch arch=$(compile_arch) endif ifeq ($(arch),powerpc) arch=ppc endif export arch ifneq ($(platform),$(compile_platform)) cross_compiling=1 else cross_compiling=0 ifneq ($(arch),$(compile_arch)) cross_compiling=1 endif endif export cross_compiling ifndef copydir copydir="/usr/local/games/quake3" endif ifndef mount_dir mount_dir=code endif ifndef build_dir build_dir=build endif ifndef generate_dependencies generate_dependencies=1 endif ifndef use_ccache use_ccache=0 endif export use_ccache ifndef use_sdl use_sdl=1 endif ifndef use_openal use_openal=1 endif ifndef use_openal_dlopen use_openal_dlopen=0 endif ifndef use_curl use_curl=1 endif ifndef use_curl_dlopen ifeq ($(platform),mingw32) use_curl_dlopen=0 else use_curl_dlopen=1 endif endif ifndef use_codec_vorbis use_codec_vorbis=0 endif ifndef use_local_headers use_local_headers=1 endif ############################################################################# bd=$(build_dir)/debug-$(platform)-$(arch) br=$(build_dir)/release-$(platform)-$(arch) cdir=$(mount_dir)/client sdir=$(mount_dir)/server rdir=$(mount_dir)/renderer cmdir=$(mount_dir)/qcommon udir=$(mount_dir)/unix w32dir=$(mount_dir)/win32 gdir=$(mount_dir)/game cgdir=$(mount_dir)/cgame blibdir=$(mount_dir)/botlib ndir=$(mount_dir)/null uidir=$(mount_dir)/ui q3uidir=$(mount_dir)/q3_ui jpdir=$(mount_dir)/jpeg-6 toolsdir=$(mount_dir)/tools lokisetupdir=$(udir)/setup sdlhdir=$(mount_dir)/sdl12 libsdir=$(mount_dir)/libs # extract version info version=$(shell grep "\#define q3_version" $(cmdir)/q_shared.h | \ sed -e 's/.*".* \([^ ]*\)"/\1/') #use_svn= #ifeq ($(wildcard .svn),.svn) # svn_rev=$(shell lang=c svnversion .) # ifneq ($(svn_rev),) # svn_version=$(version)_svn$(svn_rev) # use_svn=1 # endif #endif #ifneq ($(use_svn),1) # svn_version=$(version) #endif ############################################################################# # setup , build -- linux ############################################################################# ## defaults lib=lib install=install mkdir=mkdir ifeq ($(platform),linux) ifeq ($(arch),alpha) arch=axp else ifeq ($(arch),x86_64) lib=lib64 else ifeq ($(arch),ppc64) lib=lib64 else ifeq ($(arch),s390x) lib=lib64 endif endif endif endif base_cflags = -wall -fno-strict-aliasing -wimplicit -wstrict-prototypes -pipe ifeq ($(use_openal),1) base_cflags += -duse_openal=1 ifeq ($(use_openal_dlopen),1) base_cflags += -duse_openal_dlopen=1 endif endif ifeq ($(use_curl),1) base_cflags += -duse_curl=1 ifeq ($(use_curl_dlopen),1) base_cflags += -duse_curl_dlopen=1 endif endif ifeq ($(use_codec_vorbis),1) base_cflags += -duse_codec_vorbis=1 endif ifeq ($(use_sdl),1) base_cflags += -duse_sdl_video=1 -duse_sdl_sound=1 $(shell sdl-config --cflags) else base_cflags += -i/usr/x11r6/include endif optimize = -o3 -ffast-math -funroll-loops -fomit-frame-pointer ifeq ($(arch),x86_64) optimize = -o3 -fomit-frame-pointer -ffast-math -funroll-loops \ -falign-loops=2 -falign-jumps=2 -falign-functions=2 \ -fstrength-reduce # experimental x86_64 jit compiler! need gnu have_vm_compiled = true else ifeq ($(arch),i386) optimize = -o3 -march=i586 -fomit-frame-pointer -ffast-math \ -funroll-loops -falign-loops=2 -falign-jumps=2 \ -falign-functions=2 -fstrength-reduce have_vm_compiled=true else ifeq ($(arch),ppc) base_cflags += -maltivec have_vm_compiled=false endif endif endif ifneq ($(have_vm_compiled),true) base_cflags += -dno_vm_compiled endif debug_cflags = $(base_cflags) -g -o0 release_cflags=$(base_cflags) -dndebug $(optimize) shlibext=so shlibcflags=-fpic shlibldflags=-shared $(ldflags) thread_ldflags=-lpthread ldflags=-ldl -lm ifeq ($(use_sdl),1) client_ldflags=$(shell sdl-config --libs) else client_ldflags=-l/usr/x11r6/$(lib) -lx11 -lxext -lxxf86dga -lxxf86vm endif ifeq ($(use_openal),1) ifneq ($(use_openal_dlopen),1) client_ldflags += -lopenal endif endif ifeq ($(use_curl),1) ifneq ($(use_curl_dlopen),1) client_ldflags += -lcurl endif endif ifeq ($(use_codec_vorbis),1) client_ldflags += -lvorbisfile -lvorbis -logg endif ifeq ($(arch),i386) # linux32 make ... base_cflags += -m32 ldflags+=-m32 endif else # ifeq linux ############################################################################# # setup , build -- mac os x ############################################################################# ifeq ($(platform),darwin) have_vm_compiled=true base_cflags= client_ldflags= ldflags= optimize= ifeq ($(build_macosx_ub),ppc) cc=gcc-3.3 base_cflags += -arch ppc -dsmp \ -dmac_os_x_version_min_required=1020 -nostdinc \ -f/developer/sdks/macosx10.2.8.sdk/system/library/frameworks \ -i/developer/sdks/macosx10.2.8.sdk/usr/include/gcc/darwin/3.3 \ -isystem /developer/sdks/macosx10.2.8.sdk/usr/include # when using 10.2 sdk not allowed two-level namespace # in order openal dlopen() stuff work without major # modifications, controversial -m linker flag must used. # throws ton of multiply defined errors cannot suppressed. ldflags += -arch ppc \ -l/developer/sdks/macosx10.2.8.sdk/usr/lib/gcc/darwin/3.3 \ -f/developer/sdks/macosx10.2.8.sdk/system/library/frameworks \ -wl,-syslibroot,/developer/sdks/macosx10.2.8.sdk,-m arch=ppc # os x 10.2 sdk lacks dlopen() ded need libsdl anyway build_server=0 # because of problem linking on 10.2 generate multiply # defined symbol errors. errors can turned warnings # -m linker flag, can't shut warnings use_openal_dlopen=1 else ifeq ($(build_macosx_ub),i386) cc=gcc-4.0 base_cflags += -arch i386 -dsmp \ -mmacosx-version-min=10.4 \ -dmac_os_x_version_min_required=1040 -nostdinc \ -f/developer/sdks/macosx10.4u.sdk/system/library/frameworks \ -i/developer/sdks/macosx10.4u.sdk/usr/lib/gcc/i686-apple-darwin8/4.0.1/include \ -isystem /developer/sdks/macosx10.4u.sdk/usr/include ldflags = -arch i386 -mmacosx-version-min=10.4 \ -l/developer/sdks/macosx10.4u.sdk/usr/lib/gcc/i686-apple-darwin8/4.0.1 \ -f/developer/sdks/macosx10.4u.sdk/system/library/frameworks \ -wl,-syslibroot,/developer/sdks/macosx10.4u.sdk arch=i386 build_server=0 else # whatever reason using headers in macosx sdks tend throw # errors though identical system ones don't # therefore shut warning flags when running universal build # script as possible. base_cflags += -wall -wimplicit -wstrict-prototypes endif endif ifeq ($(arch),ppc) optimize += -faltivec -o3 endif ifeq ($(arch),i386) optimize += -march=prescott -mfpmath=sse # x86 vm crash without -mstackrealign since mmx instructions # used no matter , corrupt frame pointer in vm calls base_cflags += -mstackrealign endif base_cflags += -fno-strict-aliasing -dmacos_x -fno-common -pipe # include debug symbols...you can strip binary later... base_cflags += -gfull ifeq ($(use_openal),1) base_cflags += -duse_openal=1 ifneq ($(use_openal_dlopen),1) client_ldflags += -framework openal else base_cflags += -duse_openal_dlopen=1 endif endif ifeq ($(use_curl),1) base_cflags += -duse_curl=1 ifneq ($(use_curl_dlopen),1) client_ldflags += -lcurl else base_cflags += -duse_curl_dlopen=1 endif endif ifeq ($(use_codec_vorbis),1) base_cflags += -duse_codec_vorbis=1 client_ldflags += -lvorbisfile -lvorbis -logg endif ifeq ($(use_sdl),1) base_cflags += -duse_sdl_video=1 -duse_sdl_sound=1 -d_thread_safe=1 \ -i$(sdlhdir)/include # copy sdlmain before ranlib'ing subversion doesn't think # file has been modified each build. libsdlmain=$(b)/libsdlmain.a libsdlmainsrc=$(libsdir)/macosx/libsdlmain.a client_ldflags += -framework cocoa -framework iokit -framework opengl \ $(libsdir)/macosx/libsdl-1.2.0.dylib else # !!! fixme: frameworks: opengl, carbon, etc... #client_ldflags += -l/usr/x11r6/$(lib) -lx11 -lxext -lxxf86dga -lxxf86vm endif optimize += -ffast-math -falign-loops=16 ifneq ($(have_vm_compiled),true) base_cflags += -dno_vm_compiled endif debug_cflags = $(base_cflags) -g -o0 release_cflags=$(base_cflags) -dndebug $(optimize) shlibext=dylib shlibcflags=-fpic -fno-common shlibldflags=-dynamiclib $(ldflags) notshlibcflags=-mdynamic-no-pic else # ifeq darwin ############################################################################# # setup , build -- mingw32 ############################################################################# ifeq ($(platform),mingw32) ifndef windres windres=windres endif arch=x86 base_cflags = -wall -fno-strict-aliasing -wimplicit -wstrict-prototypes ifeq ($(use_openal),1) base_cflags += -duse_openal=1 -duse_openal_dlopen=1 endif ifeq ($(use_curl),1) base_cflags += -duse_curl=1 ifneq ($(use_curl_dlopen),1) base_cflags += -dcurl_staticlib endif endif ifeq ($(use_codec_vorbis),1) base_cflags += -duse_codec_vorbis=1 endif optimize = -o3 -march=i586 -fomit-frame-pointer -ffast-math -falign-loops=2 \ -funroll-loops -falign-jumps=2 -falign-functions=2 -fstrength-reduce have_vm_compiled = true debug_cflags=$(base_cflags) -g -o0 release_cflags=$(base_cflags) -dndebug $(optimize) shlibext=dll shlibcflags= shlibldflags=-shared $(ldflags) binext=.exe ldflags= -mwindows -lwsock32 -lgdi32 -lwinmm -lole32 client_ldflags= ifeq ($(use_curl),1) ifneq ($(use_curl_dlopen),1) client_ldflags += $(libsdir)/win32/libcurl.a endif endif ifeq ($(use_codec_vorbis),1) client_ldflags += -lvorbisfile -lvorbis -logg endif ifeq ($(arch),x86) # build 32bit base_cflags += -m32 ldflags+=-m32 endif build_server = 0 build_client_smp = 0 else # ifeq mingw32 ############################################################################# # setup , build -- freebsd ############################################################################# ifeq ($(platform),freebsd) ifneq (,$(findstring alpha,$(shell uname -m))) arch=axp else #default i386 arch=i386 endif #alpha test base_cflags = -wall -fno-strict-aliasing -wimplicit -wstrict-prototypes \ -i/usr/x11r6/include debug_cflags=$(base_cflags) -g ifeq ($(use_openal),1) base_cflags += -duse_openal=1 ifeq ($(use_openal_dlopen),1) base_cflags += -duse_openal_dlopen=1 endif endif ifeq ($(use_codec_vorbis),1) base_cflags += -duse_codec_vorbis=1 endif ifeq ($(use_sdl),1) base_cflags += $(shell sdl-config --cflags) -duse_sdl_video=1 -duse_sdl_sound=1 endif ifeq ($(arch),axp) base_cflags += -dno_vm_compiled release_cflags=$(base_cflags) -dndebug -o3 -ffast-math -funroll-loops \ -fomit-frame-pointer -fexpensive-optimizations else ifeq ($(arch),i386) release_cflags=$(base_cflags) -dndebug -o3 -mtune=pentiumpro \ -march=pentium -fomit-frame-pointer -pipe -ffast-math \ -falign-loops=2 -falign-jumps=2 -falign-functions=2 \ -funroll-loops -fstrength-reduce have_vm_compiled=true else base_cflags += -dno_vm_compiled endif endif shlibext=so shlibcflags=-fpic shlibldflags=-shared $(ldflags) thread_ldflags=-lpthread # don't need -ldl (freebsd) ldflags=-lm client_ldflags = ifeq ($(use_sdl),1) client_ldflags += $(shell sdl-config --libs) else client_ldflags += -l/usr/x11r6/$(lib) -lgl -lx11 -lxext -lxxf86dga -lxxf86vm endif ifeq ($(use_openal),1) ifneq ($(use_openal_dlopen),1) client_ldflags += $(thread_ldflags) -lopenal endif endif ifeq ($(use_codec_vorbis),1) client_ldflags += -lvorbisfile -lvorbis -logg endif else # ifeq freebsd ############################################################################# # setup , build -- netbsd ############################################################################# ifeq ($(platform),netbsd) ifeq ($(shell uname -m),i386) arch=i386 endif ldflags=-lm shlibext=so shlibcflags=-fpic shlibldflags=-shared $(ldflags) thread_ldflags=-lpthread base_cflags = -wall -fno-strict-aliasing -wimplicit -wstrict-prototypes debug_cflags=$(base_cflags) -g ifneq ($(arch),i386) base_cflags += -dno_vm_compiled endif build_client = 0 build_game_qvm = 0 else # ifeq netbsd ############################################################################# # setup , build -- irix ############################################################################# ifeq ($(platform),irix) arch=mips #default mips base_cflags=-dstricmp=strcasecmp -xcpluscomm -woff 1185 -mips3 \ -nostdinc -i. -i$(root)/usr/include -dno_vm_compiled release_cflags=$(base_cflags) -o3 debug_cflags=$(base_cflags) -g shlibext=so shlibcflags= shlibldflags=-shared ldflags=-ldl -lm client_ldflags=-l/usr/x11/$(lib) -lgl -lx11 -lxext -lm else # ifeq irix ############################################################################# # setup , build -- sunos ############################################################################# ifeq ($(platform),sunos) cc=gcc install=ginstall mkdir=gmkdir copydir="/usr/local/share/games/quake3" ifneq (,$(findstring i86pc,$(shell uname -m))) arch=i386 else #default sparc arch=sparc endif ifneq ($(arch),i386) ifneq ($(arch),sparc) $(error arch $(arch) not supported) endif endif base_cflags = -wall -fno-strict-aliasing -wimplicit -wstrict-prototypes -pipe ifeq ($(use_sdl),1) base_cflags += -duse_sdl_sound=1 $(shell sdl-config --cflags) else base_cflags += -i/usr/openwin/include endif optimize = -o3 -ffast-math -funroll-loops ifeq ($(arch),sparc) optimize = -o3 -ffast-math -falign-loops=2 \ -falign-jumps=2 -falign-functions=2 -fstrength-reduce \ -mtune=ultrasparc -mv8plus -mno-faster-structs \ -funroll-loops else ifeq ($(arch),i386) optimize = -o3 -march=i586 -fomit-frame-pointer -ffast-math \ -funroll-loops -falign-loops=2 -falign-jumps=2 \ -falign-functions=2 -fstrength-reduce have_vm_compiled=true base_cflags += -m32 ldflags += -m32 base_cflags += -i/usr/x11/include/nvidia endif endif ifneq ($(have_vm_compiled),true) base_cflags += -dno_vm_compiled endif debug_cflags = $(base_cflags) -ggdb -o0 release_cflags=$(base_cflags) -dndebug $(optimize) shlibext=so shlibcflags=-fpic shlibldflags=-shared $(ldflags) thread_ldflags=-lpthread ldflags=-lsocket -lnsl -ldl -lm botcflags=-o0 ifeq ($(use_sdl),1) client_ldflags=$(shell sdl-config --libs) -l/usr/x11/lib -lglu -lx11 -lxext else client_ldflags=-l/usr/openwin/$(lib) -l/usr/x11/lib -lglu -lx11 -lxext endif else # ifeq sunos ############################################################################# # setup , build -- generic ############################################################################# base_cflags=-dno_vm_compiled debug_cflags=$(base_cflags) -g release_cflags=$(base_cflags) -dndebug -o3 shlibext=so shlibcflags=-fpic shlibldflags=-shared endif #linux endif #darwin endif #mingw32 endif #freebsd endif #netbsd endif #irix endif #sunos targets = ifneq ($(build_server),0) targets += $(b)/iourtded.$(arch)$(binext) endif ifneq ($(build_client),0) targets += $(b)/iourbanterror.$(arch)$(binext) ifneq ($(build_client_smp),0) targets += $(b)/iourbanterror-smp.$(arch)$(binext) endif endif ifneq ($(build_game_so),0) targets += \ $(b)/baseq3/cgame$(arch).$(shlibext) \ $(b)/baseq3/qagame$(arch).$(shlibext) \ $(b)/baseq3/ui$(arch).$(shlibext) \ $(b)/missionpack/cgame$(arch).$(shlibext) \ $(b)/missionpack/qagame$(arch).$(shlibext) \ $(b)/missionpack/ui$(arch).$(shlibext) endif ifneq ($(build_game_qvm),0) ifneq ($(cross_compiling),1) targets += \ $(b)/baseq3/vm/cgame.qvm \ $(b)/baseq3/vm/qagame.qvm \ $(b)/baseq3/vm/ui.qvm \ $(b)/missionpack/vm/qagame.qvm \ $(b)/missionpack/vm/cgame.qvm \ $(b)/missionpack/vm/ui.qvm endif endif ifeq ($(use_ccache),1) cc := ccache $(cc) endif ifdef default_basedir base_cflags += -ddefault_basedir=\\\"$(default_basedir)\\\" endif ifeq ($(use_local_headers),1) base_cflags += -duse_local_headers=1 endif ifeq ($(generate_dependencies),1) base_cflags += -mmd endif ifeq ($(use_svn),1) base_cflags += -dsvn_version=\\\"$(svn_version)\\\" endif define do_cc $(echo_cmd) "cc $<" $(q)$(cc) $(notshlibcflags) $(cflags) -o $@ -c $< endef define do_smp_cc $(echo_cmd) "smp_cc $<" $(q)$(cc) $(notshlibcflags) $(cflags) -dsmp -o $@ -c $< endef define do_bot_cc $(echo_cmd) "bot_cc $<" $(q)$(cc) $(notshlibcflags) $(cflags) $(botcflags) -dbotlib -o $@ -c $< endef ifeq ($(generate_dependencies),1) do_qvm_dep=cat $(@:%.o=%.d) | sed -e 's/\.o/\.asm/g' >> $(@:%.o=%.d) endif define do_shlib_cc $(echo_cmd) "shlib_cc $<" $(q)$(cc) $(cflags) $(shlibcflags) -o $@ -c $< $(q)$(do_qvm_dep) endef define do_shlib_cc_missionpack $(echo_cmd) "shlib_cc_missionpack $<" $(q)$(cc) -dmissionpack $(cflags) $(shlibcflags) -o $@ -c $< $(q)$(do_qvm_dep) endef define do_as $(echo_cmd) "as $<" $(q)$(cc) $(cflags) -delf -x assembler-with-cpp -o $@ -c $< endef define do_ded_cc $(echo_cmd) "ded_cc $<" $(q)$(cc) $(notshlibcflags) -ddedicated $(cflags) -o $@ -c $< endef define do_windres $(echo_cmd) "windres $<" $(q)$(windres) -i $< -o $@ endef ############################################################################# # main targets ############################################################################# default: release all: debug release debug: @$(make) targets b=$(bd) cflags="$(cflags) $(debug_cflags)" v=$(v) release: @$(make) targets b=$(br) cflags="$(cflags) $(release_cflags)" v=$(v) # create build directories , tools, print out # informational message, start building targets: makedirs tools @echo "" @echo "building iourbanterror in $(b):" @echo " platform: $(platform)" @echo " arch: $(arch)" @echo " compile_platform: $(compile_platform)" @echo " compile_arch: $(compile_arch)" @echo " cc: $(cc)" @echo "" @echo " cflags:" @for in $(cflags); \ do \ echo " $$i"; \ done @echo "" @echo " output:" @for in $(targets); \ do \ echo " $$i"; \ done @echo "" @$(make) $(targets) v=$(v) makedirs: @if [ ! -d $(build_dir) ];then $(mkdir) $(build_dir);fi @if [ ! -d $(b) ];then $(mkdir) $(b);fi @if [ ! -d $(b)/client ];then $(mkdir) $(b)/client;fi @if [ ! -d $(b)/clientsmp ];then $(mkdir) $(b)/clientsmp;fi @if [ ! -d $(b)/ded ];then $(mkdir) $(b)/ded;fi @if [ ! -d $(b)/baseq3 ];then $(mkdir) $(b)/baseq3;fi @if [ ! -d $(b)/baseq3/cgame ];then $(mkdir) $(b)/baseq3/cgame;fi @if [ ! -d $(b)/baseq3/game ];then $(mkdir) $(b)/baseq3/game;fi @if [ ! -d $(b)/baseq3/ui ];then $(mkdir) $(b)/baseq3/ui;fi @if [ ! -d $(b)/baseq3/qcommon ];then $(mkdir) $(b)/baseq3/qcommon;fi @if [ ! -d $(b)/baseq3/vm ];then $(mkdir) $(b)/baseq3/vm;fi @if [ ! -d $(b)/missionpack ];then $(mkdir) $(b)/missionpack;fi @if [ ! -d $(b)/missionpack/cgame ];then $(mkdir) $(b)/missionpack/cgame;fi @if [ ! -d $(b)/missionpack/game ];then $(mkdir) $(b)/missionpack/game;fi @if [ ! -d $(b)/missionpack/ui ];then $(mkdir) $(b)/missionpack/ui;fi @if [ ! -d $(b)/missionpack/qcommon ];then $(mkdir) $(b)/missionpack/qcommon;fi @if [ ! -d $(b)/missionpack/vm ];then $(mkdir) $(b)/missionpack/vm;fi ############################################################################# # qvm build tools ############################################################################# q3lcc=$(toolsdir)/q3lcc$(binext) q3asm=$(toolsdir)/q3asm$(binext) ifeq ($(cross_compiling),1) tools: @echo qvm tools not built when cross-compiling else tools: $(make) -c $(toolsdir)/lcc install $(make) -c $(toolsdir)/asm install endif define do_q3lcc $(echo_cmd) "q3lcc $<" $(q)$(q3lcc) -o $@ $< endef define do_q3lcc_missionpack $(echo_cmd) "q3lcc_missionpack $<" $(q)$(q3lcc) -dmissionpack -o $@ $< endef ############################################################################# # client/server ############################################################################# q3obj = \ $(b)/client/cl_cgame.o \ $(b)/client/cl_cin.o \ $(b)/client/cl_console.o \ $(b)/client/cl_input.o \ $(b)/client/cl_keys.o \ $(b)/client/cl_main.o \ $(b)/client/cl_net_chan.o \ $(b)/client/cl_parse.o \ $(b)/client/cl_scrn.o \ $(b)/client/cl_ui.o \ $(b)/client/cl_avi.o \ \ $(b)/client/cm_load.o \ $(b)/client/cm_patch.o \ $(b)/client/cm_polylib.o \ $(b)/client/cm_test.o \ $(b)/client/cm_trace.o \ \ $(b)/client/cmd.o \ $(b)/client/common.o \ $(b)/client/cvar.o \ $(b)/client/files.o \ $(b)/client/md4.o \ $(b)/client/md5.o \ $(b)/client/msg.o \ $(b)/client/net_chan.o \ $(b)/client/net_ip.o \ $(b)/client/huffman.o \ \ $(b)/client/snd_adpcm.o \ $(b)/client/snd_dma.o \ $(b)/client/snd_mem.o \ $(b)/client/snd_mix.o \ $(b)/client/snd_wavelet.o \ \ $(b)/client/snd_main.o \ $(b)/client/snd_codec.o \ $(b)/client/snd_codec_wav.o \ $(b)/client/snd_codec_ogg.o \ \ $(b)/client/qal.o \ $(b)/client/snd_openal.o \ \ $(b)/client/cl_curl.o \ \ $(b)/client/sv_bot.o \ $(b)/client/sv_ccmds.o \ $(b)/client/sv_client.o \ $(b)/client/sv_game.o \ $(b)/client/sv_init.o \ $(b)/client/sv_main.o \ $(b)/client/sv_net_chan.o \ $(b)/client/sv_snapshot.o \ $(b)/client/sv_world.o \ \ $(b)/client/q_math.o \ $(b)/client/q_shared.o \ \ $(b)/client/unzip.o \ $(b)/client/puff.o \ $(b)/client/vm.o \ $(b)/client/vm_interpreted.o \ \ $(b)/client/be_aas_bspq3.o \ $(b)/client/be_aas_cluster.o \ $(b)/client/be_aas_debug.o \ $(b)/client/be_aas_entity.o \ $(b)/client/be_aas_file.o \ $(b)/client/be_aas_main.o \ $(b)/client/be_aas_move.o \ $(b)/client/be_aas_optimize.o \ $(b)/client/be_aas_reach.o \ $(b)/client/be_aas_route.o \ $(b)/client/be_aas_routealt.o \ $(b)/client/be_aas_sample.o \ $(b)/client/be_ai_char.o \ $(b)/client/be_ai_chat.o \ $(b)/client/be_ai_gen.o \ $(b)/client/be_ai_goal.o \ $(b)/client/be_ai_move.o \ $(b)/client/be_ai_weap.o \ $(b)/client/be_ai_weight.o \ $(b)/client/be_ea.o \ $(b)/client/be_interface.o \ $(b)/client/l_crc.o \ $(b)/client/l_libvar.o \ $(b)/client/l_log.o \ $(b)/client/l_memory.o \ $(b)/client/l_precomp.o \ $(b)/client/l_script.o \ $(b)/client/l_struct.o \ \ $(b)/client/jcapimin.o \ $(b)/client/jchuff.o \ $(b)/client/jcinit.o \ $(b)/client/jccoefct.o \ $(b)/client/jccolor.o \ $(b)/client/jfdctflt.o \ $(b)/client/jcdctmgr.o \ $(b)/client/jcphuff.o \ $(b)/client/jcmainct.o \ $(b)/client/jcmarker.o \ $(b)/client/jcmaster.o \ $(b)/client/jcomapi.o \ $(b)/client/jcparam.o \ $(b)/client/jcprepct.o \ $(b)/client/jcsample.o \ $(b)/client/jdapimin.o \ $(b)/client/jdapistd.o \ $(b)/client/jdatasrc.o \ $(b)/client/jdcoefct.o \ $(b)/client/jdcolor.o \ $(b)/client/jddctmgr.o \ $(b)/client/jdhuff.o \ $(b)/client/jdinput.o \ $(b)/client/jdmainct.o \ $(b)/client/jdmarker.o \ $(b)/client/jdmaster.o \ $(b)/client/jdpostct.o \ $(b)/client/jdsample.o \ $(b)/client/jdtrans.o \ $(b)/client/jerror.o \ $(b)/client/jidctflt.o \ $(b)/client/jmemmgr.o \ $(b)/client/jmemnobs.o \ $(b)/client/jutils.o \ \ $(b)/client/tr_animation.o \ $(b)/client/tr_backend.o \ $(b)/client/tr_bsp.o \ $(b)/client/tr_cmds.o \ $(b)/client/tr_curve.o \ $(b)/client/tr_flares.o \ $(b)/client/tr_font.o \ $(b)/client/tr_image.o \ $(b)/client/tr_init.o \ $(b)/client/tr_light.o \ $(b)/client/tr_main.o \ $(b)/client/tr_marks.o \ $(b)/client/tr_mesh.o \ $(b)/client/tr_model.o \ $(b)/client/tr_noise.o \ $(b)/client/tr_scene.o \ $(b)/client/tr_shade.o \ $(b)/client/tr_shade_calc.o \ $(b)/client/tr_shader.o \ $(b)/client/tr_shadows.o \ $(b)/client/tr_sky.o \ $(b)/client/tr_surface.o \ $(b)/client/tr_world.o \ ifeq ($(arch),i386) q3obj += \ $(b)/client/snd_mixa.o \ $(b)/client/matha.o \ $(b)/client/ftola.o \ $(b)/client/snapvectora.o endif ifeq ($(arch),x86) q3obj += \ $(b)/client/snd_mixa.o \ $(b)/client/matha.o \ $(b)/client/ftola.o \ $(b)/client/snapvectora.o endif ifeq ($(have_vm_compiled),true) ifeq ($(arch),i386) q3obj += $(b)/client/vm_x86.o endif ifeq ($(arch),x86) q3obj += $(b)/client/vm_x86.o endif ifeq ($(arch),x86_64) q3obj += $(b)/client/vm_x86_64.o $(b)/client/vm_x86_64_assembler.o endif ifeq ($(arch),ppc) q3obj += $(b)/client/vm_ppc.o endif endif ifeq ($(platform),mingw32) q3obj += \ $(b)/client/win_gamma.o \ $(b)/client/win_glimp.o \ $(b)/client/win_input.o \ $(b)/client/win_main.o \ $(b)/client/win_qgl.o \ $(b)/client/win_shared.o \ $(b)/client/win_snd.o \ $(b)/client/win_syscon.o \ $(b)/client/win_wndproc.o \ $(b)/client/win_resource.o else q3obj += \ $(b)/client/unix_main.o \ $(b)/client/unix_shared.o \ $(b)/client/linux_signals.o \ $(b)/client/linux_qgl.o \ $(b)/client/linux_snd.o \ $(b)/client/sdl_snd.o ifeq ($(platform),linux) q3obj += $(b)/client/linux_joystick.o endif ifeq ($(use_sdl),1) ifneq ($(platform),darwin) build_client_smp = 0 endif endif q3pobj = \ $(b)/client/linux_glimp.o \ $(b)/client/sdl_glimp.o q3pobj_smp = \ $(b)/clientsmp/linux_glimp.o \ $(b)/clientsmp/sdl_glimp.o endif $(b)/iourbanterror.$(arch)$(binext): $(q3obj) $(q3pobj) $(libsdlmain) $(echo_cmd) "ld $@" $(q)$(cc) -o $@ $(q3obj) $(q3pobj) $(client_ldflags) \ $(ldflags) $(libsdlmain) $(b)/iourbanterror-smp.$(arch)$(binext): $(q3obj) $(q3pobj_smp) $(libsdlmain) $(echo_cmd) "ld $@" $(q)$(cc) -o $@ $(q3obj) $(q3pobj_smp) $(client_ldflags) \ $(thread_ldflags) $(ldflags) $(libsdlmain) ifneq ($(strip $(libsdlmain)),) ifneq ($(strip $(libsdlmainsrc)),) $(libsdlmain) : $(libsdlmainsrc) cp $< $@ ranlib $@ endif endif ############################################################################# # dedicated server ############################################################################# q3dobj = \ $(b)/ded/sv_bot.o \ $(b)/ded/sv_client.o \ $(b)/ded/sv_ccmds.o \ $(b)/ded/sv_game.o \ $(b)/ded/sv_init.o \ $(b)/ded/sv_main.o \ $(b)/ded/sv_net_chan.o \ $(b)/ded/sv_snapshot.o \ $(b)/ded/sv_world.o \ \ $(b)/ded/cm_load.o \ $(b)/ded/cm_patch.o \ $(b)/ded/cm_polylib.o \ $(b)/ded/cm_test.o \ $(b)/ded/cm_trace.o \ $(b)/ded/cmd.o \ $(b)/ded/common.o \ $(b)/ded/cvar.o \ $(b)/ded/files.o \ $(b)/ded/md4.o \ $(b)/ded/msg.o \ $(b)/ded/net_chan.o \ $(b)/ded/net_ip.o \ $(b)/ded/huffman.o \ \ $(b)/ded/q_math.o \ $(b)/ded/q_shared.o \ \ $(b)/ded/unzip.o \ $(b)/ded/vm.o \ $(b)/ded/vm_interpreted.o \ \ $(b)/ded/be_aas_bspq3.o \ $(b)/ded/be_aas_cluster.o \ $(b)/ded/be_aas_debug.o \ $(b)/ded/be_aas_entity.o \ $(b)/ded/be_aas_file.o \ $(b)/ded/be_aas_main.o \ $(b)/ded/be_aas_move.o \ $(b)/ded/be_aas_optimize.o \ $(b)/ded/be_aas_reach.o \ $(b)/ded/be_aas_route.o \ $(b)/ded/be_aas_routealt.o \ $(b)/ded/be_aas_sample.o \ $(b)/ded/be_ai_char.o \ $(b)/ded/be_ai_chat.o \ $(b)/ded/be_ai_gen.o \ $(b)/ded/be_ai_goal.o \ $(b)/ded/be_ai_move.o \ $(b)/ded/be_ai_weap.o \ $(b)/ded/be_ai_weight.o \ $(b)/ded/be_ea.o \ $(b)/ded/be_interface.o \ $(b)/ded/l_crc.o \ $(b)/ded/l_libvar.o \ $(b)/ded/l_log.o \ $(b)/ded/l_memory.o \ $(b)/ded/l_precomp.o \ $(b)/ded/l_script.o \ $(b)/ded/l_struct.o \ \ $(b)/ded/linux_signals.o \ $(b)/ded/unix_main.o \ $(b)/ded/unix_shared.o \ \ $(b)/ded/null_client.o \ $(b)/ded/null_input.o \ $(b)/ded/null_snddma.o ifeq ($(arch),i386) q3dobj += \ $(b)/ded/ftola.o \ $(b)/ded/snapvectora.o \ $(b)/ded/matha.o endif ifeq ($(arch),x86) q3dobj += \ $(b)/ded/ftola.o \ $(b)/ded/snapvectora.o \ $(b)/ded/matha.o endif ifeq ($(have_vm_compiled),true) ifeq ($(arch),i386) q3dobj += $(b)/ded/vm_x86.o endif ifeq ($(arch),x86) q3dobj += $(b)/ded/vm_x86.o endif ifeq ($(arch),x86_64) q3dobj += $(b)/ded/vm_x86_64.o $(b)/client/vm_x86_64_assembler.o endif ifeq ($(arch),ppc) q3dobj += $(b)/ded/vm_ppc.o endif endif $(b)/iourtded.$(arch)$(binext): $(q3dobj) $(echo_cmd) "ld $@" $(q)$(cc) -o $@ $(q3dobj) $(ldflags) ############################################################################# ## baseq3 cgame ############################################################################# q3cgobj_ = \ $(b)/baseq3/cgame/cg_main.o \ $(b)/baseq3/game/bg_misc.o \ $(b)/baseq3/game/bg_pmove.o \ $(b)/baseq3/game/bg_slidemove.o \ $(b)/baseq3/cgame/cg_consolecmds.o \ $(b)/baseq3/cgame/cg_draw.o \ $(b)/baseq3/cgame/cg_drawtools.o \ $(b)/baseq3/cgame/cg_effects.o \ $(b)/baseq3/cgame/cg_ents.o \ $(b)/baseq3/cgame/cg_event.o \ $(b)/baseq3/cgame/cg_info.o \ $(b)/baseq3/cgame/cg_localents.o \ $(b)/baseq3/cgame/cg_marks.o \ $(b)/baseq3/cgame/cg_players.o \ $(b)/baseq3/cgame/cg_playerstate.o \ $(b)/baseq3/cgame/cg_predict.o \ $(b)/baseq3/cgame/cg_scoreboard.o \ $(b)/baseq3/cgame/cg_servercmds.o \ $(b)/baseq3/cgame/cg_snapshot.o \ $(b)/baseq3/cgame/cg_view.o \ $(b)/baseq3/cgame/cg_weapons.o \ \ $(b)/baseq3/qcommon/q_math.o \ $(b)/baseq3/qcommon/q_shared.o q3cgobj = $(q3cgobj_) $(b)/baseq3/cgame/cg_syscalls.o q3cgvmobj = $(q3cgobj_:%.o=%.asm) $(b)/baseq3/game/bg_lib.asm $(b)/baseq3/cgame$(arch).$(shlibext) : $(q3cgobj) $(echo_cmd) "ld $@" $(q)$(cc) $(shlibldflags) -o $@ $(q3cgobj) $(b)/baseq3/vm/cgame.qvm: $(q3cgvmobj) $(cgdir)/cg_syscalls.asm $(echo_cmd) "q3asm $@" $(q)$(q3asm) -o $@ $(q3cgvmobj) $(cgdir)/cg_syscalls.asm ############################################################################# ## missionpack cgame ############################################################################# mpcgobj_ = \ $(b)/missionpack/cgame/cg_main.o \ $(b)/missionpack/game/bg_misc.o \ $(b)/missionpack/game/bg_pmove.o \ $(b)/missionpack/game/bg_slidemove.o \ $(b)/missionpack/cgame/cg_consolecmds.o \ $(b)/missionpack/cgame/cg_newdraw.o \ $(b)/missionpack/cgame/cg_draw.o \ $(b)/missionpack/cgame/cg_drawtools.o \ $(b)/missionpack/cgame/cg_effects.o \ $(b)/missionpack/cgame/cg_ents.o \ $(b)/missionpack/cgame/cg_event.o \ $(b)/missionpack/cgame/cg_info.o \ $(b)/missionpack/cgame/cg_localents.o \ $(b)/missionpack/cgame/cg_marks.o \ $(b)/missionpack/cgame/cg_players.o \ $(b)/missionpack/cgame/cg_playerstate.o \ $(b)/missionpack/cgame/cg_predict.o \ $(b)/missionpack/cgame/cg_scoreboard.o \ $(b)/missionpack/cgame/cg_servercmds.o \ $(b)/missionpack/cgame/cg_snapshot.o \ $(b)/missionpack/cgame/cg_view.o \ $(b)/missionpack/cgame/cg_weapons.o \ $(b)/missionpack/ui/ui_shared.o \ \ $(b)/missionpack/qcommon/q_math.o \ $(b)/missionpack/qcommon/q_shared.o mpcgobj = $(mpcgobj_) $(b)/missionpack/cgame/cg_syscalls.o mpcgvmobj = $(mpcgobj_:%.o=%.asm) $(b)/missionpack/game/bg_lib.asm $(b)/missionpack/cgame$(arch).$(shlibext) : $(mpcgobj) $(echo_cmd) "ld $@" $(q)$(cc) $(shlibldflags) -o $@ $(mpcgobj) $(b)/missionpack/vm/cgame.qvm: $(mpcgvmobj) $(cgdir)/cg_syscalls.asm $(echo_cmd) "q3asm $@" $(q)$(q3asm) -o $@ $(mpcgvmobj) $(cgdir)/cg_syscalls.asm ############################################################################# ## baseq3 game ############################################################################# q3gobj_ = \ $(b)/baseq3/game/g_main.o \ $(b)/baseq3/game/ai_chat.o \ $(b)/baseq3/game/ai_cmd.o \ $(b)/baseq3/game/ai_dmnet.o \ $(b)/baseq3/game/ai_dmq3.o \ $(b)/baseq3/game/ai_main.o \ $(b)/baseq3/game/ai_team.o \ $(b)/baseq3/game/ai_vcmd.o \ $(b)/baseq3/game/bg_misc.o \ $(b)/baseq3/game/bg_pmove.o \ $(b)/baseq3/game/bg_slidemove.o \ $(b)/baseq3/game/g_active.o \ $(b)/baseq3/game/g_arenas.o \ $(b)/baseq3/game/g_bot.o \ $(b)/baseq3/game/g_client.o \ $(b)/baseq3/game/g_cmds.o \ $(b)/baseq3/game/g_combat.o \ $(b)/baseq3/game/g_items.o \ $(b)/baseq3/game/g_mem.o \ $(b)/baseq3/game/g_misc.o \ $(b)/baseq3/game/g_missile.o \ $(b)/baseq3/game/g_mover.o \ $(b)/baseq3/game/g_session.o \ $(b)/baseq3/game/g_spawn.o \ $(b)/baseq3/game/g_svcmds.o \ $(b)/baseq3/game/g_target.o \ $(b)/baseq3/game/g_team.o \ $(b)/baseq3/game/g_trigger.o \ $(b)/baseq3/game/g_utils.o \ $(b)/baseq3/game/g_weapon.o \ \ $(b)/baseq3/qcommon/q_math.o \ $(b)/baseq3/qcommon/q_shared.o q3gobj = $(q3gobj_) $(b)/baseq3/game/g_syscalls.o q3gvmobj = $(q3gobj_:%.o=%.asm) $(b)/baseq3/game/bg_lib.asm $(b)/baseq3/qagame$(arch).$(shlibext) : $(q3gobj) $(echo_cmd) "ld $@" $(q)$(cc) $(shlibldflags) -o $@ $(q3gobj) $(b)/baseq3/vm/qagame.qvm: $(q3gvmobj) $(gdir)/g_syscalls.asm $(echo_cmd) "q3asm $@" $(q)$(q3asm) -o $@ $(q3gvmobj) $(gdir)/g_syscalls.asm ############################################################################# ## missionpack game ############################################################################# mpgobj_ = \ $(b)/missionpack/game/g_main.o \ $(b)/missionpack/game/ai_chat.o \ $(b)/missionpack/game/ai_cmd.o \ $(b)/missionpack/game/ai_dmnet.o \ $(b)/missionpack/game/ai_dmq3.o \ $(b)/missionpack/game/ai_main.o \ $(b)/missionpack/game/ai_team.o \ $(b)/missionpack/game/ai_vcmd.o \ $(b)/missionpack/game/bg_misc.o \ $(b)/missionpack/game/bg_pmove.o \ $(b)/missionpack/game/bg_slidemove.o \ $(b)/missionpack/game/g_active.o \ $(b)/missionpack/game/g_arenas.o \ $(b)/missionpack/game/g_bot.o \ $(b)/missionpack/game/g_client.o \ $(b)/missionpack/game/g_cmds.o \ $(b)/missionpack/game/g_combat.o \ $(b)/missionpack/game/g_items.o \ $(b)/missionpack/game/g_mem.o \ $(b)/missionpack/game/g_misc.o \ $(b)/missionpack/game/g_missile.o \ $(b)/missionpack/game/g_mover.o \ $(b)/missionpack/game/g_session.o \ $(b)/missionpack/game/g_spawn.o \ $(b)/missionpack/game/g_svcmds.o \ $(b)/missionpack/game/g_target.o \ $(b)/missionpack/game/g_team.o \ $(b)/missionpack/game/g_trigger.o \ $(b)/missionpack/game/g_utils.o \ $(b)/missionpack/game/g_weapon.o \ \ $(b)/missionpack/qcommon/q_math.o \ $(b)/missionpack/qcommon/q_shared.o mpgobj = $(mpgobj_) $(b)/missionpack/game/g_syscalls.o mpgvmobj = $(mpgobj_:%.o=%.asm) $(b)/missionpack/game/bg_lib.asm $(b)/missionpack/qagame$(arch).$(shlibext) : $(mpgobj) $(echo_cmd) "ld $@" $(q)$(cc) $(shlibldflags) -o $@ $(mpgobj) $(b)/missionpack/vm/qagame.qvm: $(mpgvmobj) $(gdir)/g_syscalls.asm $(echo_cmd) "q3asm $@" $(q)$(q3asm) -o $@ $(mpgvmobj) $(gdir)/g_syscalls.asm ############################################################################# ## baseq3 ui ############################################################################# q3uiobj_ = \ $(b)/baseq3/ui/ui_main.o \ $(b)/baseq3/game/bg_misc.o \ $(b)/baseq3/ui/ui_addbots.o \ $(b)/baseq3/ui/ui_atoms.o \ $(b)/baseq3/ui/ui_cdkey.o \ $(b)/baseq3/ui/ui_cinematics.o \ $(b)/baseq3/ui/ui_confirm.o \ $(b)/baseq3/ui/ui_connect.o \ $(b)/baseq3/ui/ui_controls2.o \ $(b)/baseq3/ui/ui_credits.o \ $(b)/baseq3/ui/ui_demo2.o \ $(b)/baseq3/ui/ui_display.o \ $(b)/baseq3/ui/ui_gameinfo.o \ $(b)/baseq3/ui/ui_ingame.o \ $(b)/baseq3/ui/ui_loadconfig.o \ $(b)/baseq3/ui/ui_menu.o \ $(b)/baseq3/ui/ui_mfield.o \ $(b)/baseq3/ui/ui_mods.o \ $(b)/baseq3/ui/ui_network.o \ $(b)/baseq3/ui/ui_options.o \ $(b)/baseq3/ui/ui_playermodel.o \ $(b)/baseq3/ui/ui_players.o \ $(b)/baseq3/ui/ui_playersettings.o \ $(b)/baseq3/ui/ui_preferences.o \ $(b)/baseq3/ui/ui_qmenu.o \ $(b)/baseq3/ui/ui_removebots.o \ $(b)/baseq3/ui/ui_saveconfig.o \ $(b)/baseq3/ui/ui_serverinfo.o \ $(b)/baseq3/ui/ui_servers2.o \ $(b)/baseq3/ui/ui_setup.o \ $(b)/baseq3/ui/ui_sound.o \ $(b)/baseq3/ui/ui_sparena.o \ $(b)/baseq3/ui/ui_specifyserver.o \ $(b)/baseq3/ui/ui_splevel.o \ $(b)/baseq3/ui/ui_sppostgame.o \ $(b)/baseq3/ui/ui_spskill.o \ $(b)/baseq3/ui/ui_startserver.o \ $(b)/baseq3/ui/ui_team.o \ $(b)/baseq3/ui/ui_teamorders.o \ $(b)/baseq3/ui/ui_video.o \ \ $(b)/baseq3/qcommon/q_math.o \ $(b)/baseq3/qcommon/q_shared.o q3uiobj = $(q3uiobj_) $(b)/missionpack/ui/ui_syscalls.o q3uivmobj = $(q3uiobj_:%.o=%.asm) $(b)/baseq3/game/bg_lib.asm $(b)/baseq3/ui$(arch).$(shlibext) : $(q3uiobj) $(echo_cmd) "ld $@" $(q)$(cc) $(cflags) $(shlibldflags) -o $@ $(q3uiobj) $(b)/baseq3/vm/ui.qvm: $(q3uivmobj) $(uidir)/ui_syscalls.asm $(echo_cmd) "q3asm $@" $(q)$(q3asm) -o $@ $(q3uivmobj) $(uidir)/ui_syscalls.asm ############################################################################# ## missionpack ui ############################################################################# mpuiobj_ = \ $(b)/missionpack/ui/ui_main.o \ $(b)/missionpack/ui/ui_atoms.o \ $(b)/missionpack/ui/ui_gameinfo.o \ $(b)/missionpack/ui/ui_players.o \ $(b)/missionpack/ui/ui_shared.o \ \ $(b)/missionpack/game/bg_misc.o \ \ $(b)/missionpack/qcommon/q_math.o \ $(b)/missionpack/qcommon/q_shared.o mpuiobj = $(mpuiobj_) $(b)/missionpack/ui/ui_syscalls.o mpuivmobj = $(mpuiobj_:%.o=%.asm) $(b)/baseq3/game/bg_lib.asm $(b)/missionpack/ui$(arch).$(shlibext) : $(mpuiobj) $(echo_cmd) "ld $@" $(q)$(cc) $(cflags) $(shlibldflags) -o $@ $(mpuiobj) $(b)/missionpack/vm/ui.qvm: $(mpuivmobj) $(uidir)/ui_syscalls.asm $(echo_cmd) "q3asm $@" $(q)$(q3asm) -o $@ $(mpuivmobj) $(uidir)/ui_syscalls.asm ############################################################################# ## client/server rules ############################################################################# $(b)/client/%.o: $(udir)/%.s $(do_as) $(b)/client/%.o: $(cdir)/%.c $(do_cc) $(b)/client/%.o: $(sdir)/%.c $(do_cc) $(b)/client/%.o: $(cmdir)/%.c $(do_cc) $(b)/client/%.o: $(blibdir)/%.c $(do_bot_cc) $(b)/client/%.o: $(jpdir)/%.c $(do_cc) $(b)/client/%.o: $(rdir)/%.c $(do_cc) $(b)/client/%.o: $(udir)/%.c $(do_cc) $(b)/clientsmp/%.o: $(udir)/%.c $(do_smp_cc) $(b)/client/%.o: $(w32dir)/%.c $(do_cc) $(b)/client/%.o: $(w32dir)/%.rc $(do_windres) $(b)/ded/%.o: $(udir)/%.s $(do_as) $(b)/ded/%.o: $(sdir)/%.c $(do_ded_cc) $(b)/ded/%.o: $(cmdir)/%.c $(do_ded_cc) $(b)/ded/%.o: $(blibdir)/%.c $(do_bot_cc) $(b)/ded/%.o: $(udir)/%.c $(do_ded_cc) $(b)/ded/%.o: $(ndir)/%.c $(do_ded_cc) # dependencies ensure svn version incorporated ifeq ($(use_svn),1) $(b)/client/cl_console.o : .svn/entries $(b)/client/common.o : .svn/entries $(b)/ded/common.o : .svn/entries endif ############################################################################# ## game module rules ############################################################################# $(b)/baseq3/cgame/%.o: $(cgdir)/%.c $(do_shlib_cc) $(b)/baseq3/cgame/%.asm: $(cgdir)/%.c $(do_q3lcc) $(b)/missionpack/cgame/%.o: $(cgdir)/%.c $(do_shlib_cc_missionpack) $(b)/missionpack/cgame/%.asm: $(cgdir)/%.c $(do_q3lcc_missionpack) $(b)/baseq3/game/%.o: $(gdir)/%.c $(do_shlib_cc) $(b)/baseq3/game/%.asm: $(gdir)/%.c $(do_q3lcc) $(b)/missionpack/game/%.o: $(gdir)/%.c $(do_shlib_cc_missionpack) $(b)/missionpack/game/%.asm: $(gdir)/%.c $(do_q3lcc_missionpack) $(b)/baseq3/ui/%.o: $(q3uidir)/%.c $(do_shlib_cc) $(b)/baseq3/ui/%.asm: $(q3uidir)/%.c $(do_q3lcc) $(b)/missionpack/ui/%.o: $(uidir)/%.c $(do_shlib_cc_missionpack) $(b)/missionpack/ui/%.asm: $(uidir)/%.c $(do_q3lcc_missionpack) $(b)/baseq3/qcommon/%.o: $(cmdir)/%.c $(do_shlib_cc) $(b)/baseq3/qcommon/%.asm: $(cmdir)/%.c $(do_q3lcc) $(b)/missionpack/qcommon/%.o: $(cmdir)/%.c $(do_shlib_cc_missionpack) $(b)/missionpack/qcommon/%.asm: $(cmdir)/%.c $(do_q3lcc_missionpack) ############################################################################# # misc ############################################################################# copyfiles: release @if [ ! -d $(copydir)/baseq3 ]; echo "you need set copydir quake3 data is!"; fi -$(mkdir) -p -m 0755 $(copydir)/baseq3 -$(mkdir) -p -m 0755 $(copydir)/missionpack ifneq ($(build_client),0) $(install) -s -m 0755 $(br)/iourbanterror.$(arch)$(binext) $(copydir)/iourbanterror.$(arch)$(binext) endif # don't copy smp until it's working sdl. #ifneq ($(build_client_smp),0) # $(install) -s -m 0755 $(br)/iourbanterror-smp.$(arch)$(binext) $(copydir)/iourbanterror-smp.$(arch)$(binext) #endif ifneq ($(build_server),0) @if [ -f $(br)/iourtded.$(arch)$(binext) ]; \ $(install) -s -m 0755 $(br)/iourtded.$(arch)$(binext) $(copydir)/iourtded.$(arch)$(binext); \ fi endif ifneq ($(build_game_so),0) $(install) -s -m 0755 $(br)/baseq3/cgame$(arch).$(shlibext) \ $(copydir)/baseq3/. $(install) -s -m 0755 $(br)/baseq3/qagame$(arch).$(shlibext) \ $(copydir)/baseq3/. $(install) -s -m 0755 $(br)/baseq3/ui$(arch).$(shlibext) \ $(copydir)/baseq3/. -$(mkdir) -p -m 0755 $(copydir)/missionpack $(install) -s -m 0755 $(br)/missionpack/cgame$(arch).$(shlibext) \ $(copydir)/missionpack/. $(install) -s -m 0755 $(br)/missionpack/qagame$(arch).$(shlibext) \ $(copydir)/missionpack/. $(install) -s -m 0755 $(br)/missionpack/ui$(arch).$(shlibext) \ $(copydir)/missionpack/. endif clean: clean-debug clean-release @$(make) -c $(lokisetupdir) clean clean2: @echo "clean $(b)" @if [ -d $(b) ];then (find $(b) -name '*.d' -exec rm {} \;)fi @rm -f $(q3obj) $(q3pobj) $(q3pobj_smp) $(q3dobj) \ $(mpgobj) $(q3gobj) $(q3cgobj) $(mpcgobj) $(q3uiobj) $(mpuiobj) \ $(mpgvmobj) $(q3gvmobj) $(q3cgvmobj) $(mpcgvmobj) $(q3uivmobj) $(mpuivmobj) @rm -f $(targets) clean-debug: @$(make) clean2 b=$(bd) clean-release: @$(make) clean2 b=$(br) toolsclean: @$(make) -c $(toolsdir)/asm clean uninstall @$(make) -c $(toolsdir)/lcc clean uninstall distclean: clean toolsclean @rm -rf $(build_dir) installer: release @$(make) version=$(version) -c $(lokisetupdir) v=$(v) dist: rm -rf iourbanterror-$(svn_version) svn export . iourbanterror-$(svn_version) tar --owner=root --group=root --force-local -cjf iourbanterror-$(svn_version).tar.bz2 iourbanterror-$(svn_version) rm -rf iourbanterror-$(svn_version) ############################################################################# # dependencies ############################################################################# d_files=$(shell find . -name '*.d') ifneq ($(strip $(d_files)),) include $(d_files) endif .phony: clean clean2 clean-debug clean-release copyfiles \ debug default dist distclean installer makedirs release \ targets tools toolscleanappreciated.
>.< bump time
ok have made progress >;/
heres have done far @ least compile.
1.
2.code:chmod +x cross-make-mingw.sh
3.code:cd ~/desktop/iourbanterrorclientsource
and compiles, not spitting out .exe, guess might missing package mingw.code:./cross-make-mingw.sh -ik![]()
Forum The Ubuntu Forum Community Ubuntu Official Flavours Support General Help [ubuntu] How to Compile/Produce a .exe in Ubuntu
Ubuntu
Comments
Post a Comment