# UNIXes
DP_ARCH:=$(shell uname)
-ifeq ($(DP_ARCH),NetBSD)
+ifneq ($(filter %BSD,$(DP_ARCH)),)
DP_MAKE_TARGET=bsd
+else
+ifeq ($(DP_ARCH), Darwin)
+ DP_MAKE_TARGET=macosx
else
DP_MAKE_TARGET=linux
-endif
-endif
+endif # ifeq ($(DP_ARCH), Darwin)
+endif # ifneq ($(filter %BSD,$(DP_ARCH)),)
+endif # ifdef windir
+endif # ifndef DP_MAKE_TARGET
+# If we're not on compiling for Win32, we need additional information
+ifneq ($(DP_MAKE_TARGET), mingw)
+ DP_ARCH:=$(shell uname)
+ DP_MACHINE:=$(shell uname -m)
endif
CMD_RM=$(CMD_UNIXRM)
endif
-
-DP_MACHINE:=$(shell uname -m)
+# 64bits AMD CPUs use another lib directory
ifeq ($(DP_MACHINE),x86_64)
UNIX_X11LIBPATH:=-L/usr/X11R6/lib64
else
EXE_SDL=$(EXE_UNIXSDL)
endif
+# Mac OS X configuration
+ifeq ($(DP_MAKE_TARGET), macosx)
+ OBJ_SOUND=$(OBJ_MACOSXSOUND)
+ LIB_SOUND=$(LIB_MACOSXSOUND)
+ OBJ_CD=$(OBJ_MACOSXCD)
+
+ OBJ_CL=$(OBJ_AGL)
+
+ LDFLAGS_CL=$(LDFLAGS_MACOSXCL)
+ LDFLAGS_SV=$(LDFLAGS_MACOSXSV)
+ LDFLAGS_SDL=$(LDFLAGS_MACOSXSDL)
+
+ EXE_CL=$(EXE_UNIXCL)
+ EXE_SV=$(EXE_UNIXSV)
+ EXE_SDL=$(EXE_UNIXSDL)
+endif
+
# BSD configuration
ifeq ($(DP_MAKE_TARGET), bsd)
+ifeq ($(DP_ARCH),FreeBSD)
+ OBJ_SOUND=$(OBJ_OSSSOUND)
+ LIB_SOUND=$(LIB_OSSSOUND)
+else
OBJ_SOUND=$(OBJ_BSDSOUND)
LIB_SOUND=$(LIB_BSDSOUND)
+endif
OBJ_CD=$(OBJ_BSDCD)
OBJ_CL=$(OBJ_GLX)