diff --git a/src/conio/Common.gmake b/src/conio/Common.gmake
index 4fb27f6358e2a36222f21fdc658157c0b79e6de1..0fcf6e8dcd580a02875f9f4634da1f9dfc5d445c 100644
--- a/src/conio/Common.gmake
+++ b/src/conio/Common.gmake
@@ -163,11 +163,13 @@ ifdef WITH_SDL
    CIOLIB-MT_CFLAGS	+=	-DWITH_SDL -DSTATIC_SDL
    WITH_SDL	:=	1
    STATIC_SDL	:=	1
-   CIOLIB-MT_CFLAGS	+=	-I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
-   CIOLIB-MT_LIBS	+=	-F${SDL_FRAMEWORK_PATH} -framework SDL2 -I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
-   CIOLIB_CFLAGS	+=	-DWITH_SDL -DSTATIC_SDL
-   CIOLIB_CFLAGS	+=	-I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
-   CIOLIB_LIBS	+=	-F${SDL_FRAMEWORK_PATH} -framework SDL2 -I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
+   ifdef SDL_FRAMEWORK_PATH
+    CIOLIB-MT_CFLAGS	+=	-I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
+    CIOLIB-MT_LIBS	+=	-F${SDL_FRAMEWORK_PATH} -framework SDL2 -I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
+    CIOLIB_CFLAGS	+=	-DWITH_SDL -DSTATIC_SDL
+    CIOLIB_CFLAGS	+=	-I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
+    CIOLIB_LIBS	+=	-F${SDL_FRAMEWORK_PATH} -framework SDL2 -I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
+   endif
   else
    ifdef win
     CIOLIB-MT_CFLAGS	+=	-DWITH_SDL
diff --git a/src/sbbs3/GNUmakefile b/src/sbbs3/GNUmakefile
index f403d0835f38754604f413b096e24726c215e028..1f4a7a32bd80ac5445e56b14ca4b1fecb7019119 100644
--- a/src/sbbs3/GNUmakefile
+++ b/src/sbbs3/GNUmakefile
@@ -266,7 +266,9 @@ $(MAKEUSER): $(MAKEUSER_OBJS) | $(EXEODIR)
 # JSDOOR
 $(JSDOOR): $(JSDOOR_OBJS) $(XPDEV_LIB) $(ENCODE_LIB) $(HASH_LIB) $(CIOLIB-MT) | $(EXEODIR)
 	@echo Linking $@
-	$(QUIET)$(CXX) $(JS_CFLAGS) $(LDFLAGS) $(MT_LDFLAGS) -o $@ $(JSDOOR_OBJS) $(JS_LIBS) $(CRYPT_LIBS) $(UIFC-MT_LIBS) $(CIOLIB-MT_LIBS) $(SMBLIB_LIBS) $(ENCODE_LIBS) $(XPDEV-MT_LIBS) $(HASH_LIBS) $(FILE_LIBS)
+	echo CIOLIB: $(CIOLIB-MT_LDFLAGS)
+	echo XPDEV: $(XPDEV-MT_LDFLAGS)
+	$(QUIET)$(CXX) $(JS_CFLAGS) $(LDFLAGS) $(MT_LDFLAGS) $(CIOLIB-MT_LDFLAGS) $(XPDEV-MT_LDFLAGS) -o $@ $(JSDOOR_OBJS) $(JS_LIBS) $(CRYPT_LIBS) $(UIFC-MT_LIBS) $(CIOLIB-MT_LIBS) $(SMBLIB_LIBS) $(ENCODE_LIBS) $(XPDEV-MT_LIBS) $(HASH_LIBS) $(FILE_LIBS)
 ifeq ($(os), netbsd)
 	paxctl +m $(JSDOOR)
 endif
diff --git a/src/syncterm/GNUmakefile b/src/syncterm/GNUmakefile
index ac8eaf8699c20ca608a212b1a1131dea37e5b2aa..09c093fc16d9c14399b7841bb5a0525701705c56 100644
--- a/src/syncterm/GNUmakefile
+++ b/src/syncterm/GNUmakefile
@@ -123,10 +123,12 @@ ifeq ($(os),darwin)
 	${QUIET}${INSTALL_EXE} ${SYNCTERM} ${EXEODIR}/SyncTERM.app/Contents/MacOS
 	${QUIET}${INSTALL_DATA} Info.plist ${EXEODIR}/SyncTERM.app/Contents
 	${QUIET}${INSTALL_DATA} SyncTERM.icns ${EXEODIR}/SyncTERM.app/Contents/Resources
+ifdef SDL_FRAMEWORK_PATH
 	-${QUIET}rm -rf ${EXEODIR}/SyncTERM.app/Contents/Frameworks/SDL2.framework
 	-${QUIET}cp -R ${SDL_FRAMEWORK_PATH}/SDL2.framework ${EXEODIR}/SyncTERM.app/Contents/Frameworks
 	-${QUIET}rm -rf ${EXEODIR}/SyncTERM.app/Contents/Frameworks/SDL2.framework/Headers/*
 endif
+endif
 
 syncterm.man: syncterm.man.in
 	@echo Creating $@
diff --git a/src/xpdev/Common.gmake b/src/xpdev/Common.gmake
index 578b61fba64e900585251e1ed9c8f5715ae0650f..12c6fdb12ba300e3710b6de0bd25d4489ab65a11 100644
--- a/src/xpdev/Common.gmake
+++ b/src/xpdev/Common.gmake
@@ -104,24 +104,25 @@ ifdef USE_SDL_AUDIO
    WITH_SDL_AUDIO	:=	1
   endif
  else
-  ifeq ($(os),darwin)
-   ifeq ($(shell if [ -d /Library/Frameworks/SDL2.framework ] ; then echo YES ; fi),YES)
-    SDL_FRAMEWORK_PATH ?= /Library/Frameworks
-    CFLAGS += -F${SDL_FRAMEWORK_PATH}
-   endif
-   ifdef SDL_FRAMEWORK_PATH
-    WITH_SDL_AUDIO	:=	1
-    CIOLIB-MT_LDFLAGS += -Wl,-rpath,@executable_path/../Frameworks
-    CIOLIB-MT_LDFLAGS += -Wl,-rpath,${SDL_FRAMEWORK_PATH}
-   endif
+  ifeq ($(shell command -v sdl2-config > /dev/null && sdl2-config --cflags > /dev/null 2>&1 && echo YES),YES)
+   SDL_CONFIG := sdl2-config
+   WITH_SDL_AUDIO	:=	1
   else
-   ifeq ($(shell command -v sdl2-config > /dev/null && sdl2-config --cflags > /dev/null 2>&1 && echo YES),YES)
-    SDL_CONFIG := sdl2-config
+   ifeq ($(shell command -v sdl-config > /dev/null && if [ `sdl-config --version | sed -E 's/\..*$$//'` -ge 2 ] ; then echo 'YES' ; fi),YES)
+    SDL_CONFIG := sdl-config
     WITH_SDL_AUDIO	:=	1
-   else
-    ifeq ($(shell command -v sdl-config > /dev/null && if [ `sdl-config --version | sed -E 's/\..*$$//'` -ge 2 ] ; then echo 'YES' ; fi),YES)
-     SDL_CONFIG := sdl-config
+   endif
+  endif
+  ifndef WITH_SDL
+   ifeq ($(os),darwin)
+    ifeq ($(shell if [ -d /Library/Frameworks/SDL2.framework ] ; then echo YES ; fi),YES)
+     SDL_FRAMEWORK_PATH ?= /Library/Frameworks
+     CFLAGS += -F${SDL_FRAMEWORK_PATH}
+    endif
+    ifdef SDL_FRAMEWORK_PATH
      WITH_SDL_AUDIO	:=	1
+     CIOLIB-MT_LDFLAGS += -Wl,-rpath,@executable_path/../Frameworks
+     CIOLIB-MT_LDFLAGS += -Wl,-rpath,${SDL_FRAMEWORK_PATH}
     endif
    endif
   endif
@@ -162,12 +163,14 @@ ifdef WITH_SDL_AUDIO
  else
   ifeq ($(os),darwin)
    XPDEV-MT_CFLAGS	+=	-DWITH_SDL_AUDIO -DSTATIC_SDL
-   XPDEV-MT_CFLAGS	+=	-I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
-   XPDEV-MT_LIBS	+=	-F${SDL_FRAMEWORK_PATH} -framework SDL2 -I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
    XPDEV_CFLAGS	+=	-DWITH_SDL_AUDIO -DSTATIC_SDL
-   XPDEV_CFLAGS	+=	-I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
-   XPDEV_LIBS	+=	-F${SDL_FRAMEWORK_PATH} -framework SDL2 -I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
-   XPDEV-MT_LDFLAGS += -Wl,-rpath,@executable_path/../Frameworks
+   ifdef SDL_FRAMEWORK_PATH
+    XPDEV-MT_CFLAGS	+=	-I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
+    XPDEV-MT_LIBS	+=	-F${SDL_FRAMEWORK_PATH} -framework SDL2 -I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
+    XPDEV_CFLAGS	+=	-I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
+    XPDEV_LIBS	+=	-F${SDL_FRAMEWORK_PATH} -framework SDL2 -I${SDL_FRAMEWORK_PATH}/SDL2.framework/Headers
+    XPDEV-MT_LDFLAGS += -Wl,-rpath,@executable_path/../Frameworks
+   endif
   endif
  endif
 endif