Skip to main content

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)
code:
sudo apt-get install mingw32
there cross-make-mingw.sh(in source files):
code:
#!/bin/sh    export cc=i586-mingw32msvc-gcc  export windres=i586-mingw32msvc-windres  export platform=mingw32  exec make $*
and makefile reads:
code:
#  # 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 toolsclean
this first time trying this, , hope can compile .exe appreciated.

>.< bump time

ok have made progress >;/
heres have done far @ least compile.


1.
code:
chmod +x cross-make-mingw.sh
2.
code:
cd ~/desktop/iourbanterrorclientsource
3.
code:
./cross-make-mingw.sh -ik
and compiles, not spitting out .exe, guess might missing package mingw.


Forum The Ubuntu Forum Community Ubuntu Official Flavours Support General Help [ubuntu] How to Compile/Produce a .exe in Ubuntu


Ubuntu

Comments

Popular posts from this blog

How to change text Component easybook reloaded *newbee* - Joomla! Forum - community, help and support

After Effect warning: A problem occurred when processing OpenGL commands

Preconditions Failed. - Joomla! Forum - community, help and support