endif
+# On Windows/32 bit systems, pass -m32 as TDM-GCC packaged with the installer produces 64 bit executables by default
+# Disable this if your compiler does not accept -m32
+ifndef ARCH
+ ifeq "$(HOST_PLATFORM)" "win32"
+ ifeq "$(TARGET_PLATFORM)" "win32"
+ ifndef ProgramFiles(x86)
+ ARCH := x32
+ TARGET_ARCH := i386
+ ARCH_FLAGS := -m32
+ endif
+ endif
+ endif
+endif
+
# DEBUG SUFFIX
ifdef DEBUG
DEBUG_SUFFIX := .debug
endif
# PREFIXES AND EXTENSIONS
-.SUFFIXES: .c .ec .sym .imp .bowl .o .a
EC := .ec
S := .sym
I := .imp
B := .bowl
C := .c
+ifndef O
O := .o
+endif
A := .a
E := $(if $(WINDOWS_TARGET),.exe,)
SO := $(if $(WINDOWS_TARGET),.dll,$(if $(OSX_TARGET),.dylib,.so))
HOST_E := $(if $(WINDOWS_HOST),.exe,)
HOST_SO := $(if $(WINDOWS_HOST),.dll,$(if $(OSX_HOST),.dylib,.so))
HOST_LP := $(if $(WINDOWS_HOST),$(if $(STATIC_LIBRARY_TARGET),lib,),lib)
+.SUFFIXES: .c .ec .sym .imp .bowl $(O) $(A)
# TARGET VERSION
VER := $(if $(LINUX_TARGET),$(if $(LINUX_HOST),$(if $(VERSION),.$(VERSION),),),)
echo = $(if $(1),echo $(1))
touch = $(if $(1),@cmd /c "for %%I in ($(call sys_path,$(1))) do @(cd %%~pI && type nul >> %%~nxI && copy /by %%~nxI+,, > nul 2>&1 && cd %%cd%%)")
cpq = $(if $(1),@cmd /c "for %%I in ($(call sys_path,$(1))) do copy /by %%I $(call sys_path,$(2))" > nul 2>&1)
+ cpv = $(if $(1),@cmd /c "for %%I in ($(call sys_path,$(1))) do copy /by %%I $(call sys_path,$(2))")
rmq = $(if $(1),-del /f /q $(call sys_path,$(call sys_path_list,$(1))) > nul 2>&1)
rmrq = $(if $(1),-rmdir /q /s $(call sys_path,$(1)) > nul 2>&1)
mkdirq = $(if $(1),-mkdir $(call sys_path,$(1)) > nul 2>&1)
echo = $(if $(1),echo "$(1)")
touch = $(if $(1),touch $(1))
cpq = $(if $(1),cp $(1) $(2))
+ cpv = cp $(1) $(2)
rmq = $(if $(1),-rm -f $(1))
rmrq = $(if $(1),-rm -f -r $(1))
mkdirq = $(if $(1),-mkdir -p $(1))
else
ifneq ($(shell $(GIT) log -n 1 --format="%%%%" $(nullerror)),)
export GIT_REPOSITORY := yes
- export REPOSITORY_VER := $(shell $(GIT) describe --tags --dirty="\ (dirty)" --always)
+ export REPOSITORY_VER := $(shell $(GIT) describe --tags --dirty=" (dirty)" --always)
endif
endif
endif
FVISIBILITY := $(if $(WINDOWS_TARGET),,-fvisibility=hidden)
FPIC := $(if $(WINDOWS_TARGET),,-fPIC)
EXECUTABLE := $(if $(WINDOWS_TARGET),$(if $(EXECUTABLE_TARGET),$(CONSOLE),),)
-INSTALLNAME := $(if $(OSX_TARGET),$(if $(STATIC_LIBRARY_TARGET),-install_name $(LP)$(MODULE)$(SO),),)
+INSTALLNAME := $(if $(OSX_TARGET),$(if $(SHARED_LIBRARY_TARGET),-install_name $(LP)$(MODULE)$(SO),),)
# LINKER OPTIONS
SHAREDLIB := $(if $(SHARED_LIBRARY_TARGET),$(if $(OSX_TARGET),-dynamiclib -single_module -multiply_defined suppress,-shared),)