diff --git a/Makefile b/Makefile
index 7157107b53c9c927cd2993f363d28f4b1558d9b9..f6a3d1ff9e51afe188caac6a5aeea300976b9903 100644
--- a/Makefile
+++ b/Makefile
@@ -260,10 +260,10 @@ MOD_SUBDIRS_MENUSELECT_TREE:=$(MOD_SUBDIRS:%=%-menuselect-tree)
 
 ifneq ($(findstring darwin,$(OSARCH)),)
   _ASTCFLAGS+=-D__Darwin__ -mmacosx-version-min=10.6
-  _SOLINK=-mmacosx-version-min=10.6 -Xlinker -undefined -Xlinker dynamic_lookup
+  _SOLINK=-mmacosx-version-min=10.6 -Wl,-undefined,dynamic_lookup
   _SOLINK+=/usr/lib/bundle1.o
   SOLINK=-bundle $(_SOLINK)
-  DYLINK=-Xlinker -dylib $(_SOLINK)
+  DYLINK=-Wl,-dylib $(_SOLINK)
   _ASTLDFLAGS+=-L/usr/local/lib
 else
 # These are used for all but Darwin
diff --git a/codecs/gsm/Makefile b/codecs/gsm/Makefile
index a072e6d2dd9e9f6f3d59f9467ec9f4e441222187..06f08298394f203219068afc96fc3a83a9c10f26 100644
--- a/codecs/gsm/Makefile
+++ b/codecs/gsm/Makefile
@@ -315,7 +315,7 @@ install:	toastinstall gsminstall
 # The basic API: libgsm
 
 $(LIBGSMSO):	$(LIB) $(GSM_OBJECTS)
-		$(LD) -o $@.1.0.10 -shared -Xlinker -soname -Xlinker libgsm.so.1 $(GSM_OBJECTS) -lc
+		$(LD) -o $@.1.0.10 -shared -Wl,-soname,libgsm.so.1 $(GSM_OBJECTS) -lc
 		ln -fs libgsm.so.1.0.10 lib/libgsm.so.1
 		ln -fs libgsm.so.1.0.10 lib/libgsm.so
 
diff --git a/main/.gitignore b/main/.gitignore
index 23f5c58bef6a11c7fcb6c5af8480ad8d0edcd2d7..3ff4656798bf156126c87431f6ac8efbb7ca25e1 100644
--- a/main/.gitignore
+++ b/main/.gitignore
@@ -1,3 +1,4 @@
 asterisk
 libasteriskssl.so.1
+libasteriskssl.dylib
 version.c
diff --git a/main/Makefile b/main/Makefile
index 08496e6188aae5a8e201f8ff5baddbc56b1e47a1..bfdfb463debdb9bca84f182d7eea4af2642d82c1 100644
--- a/main/Makefile
+++ b/main/Makefile
@@ -60,7 +60,7 @@ endif
 
 ifneq ($(findstring darwin,$(OSARCH)),)
   AST_LIBS+=-lresolv
-  ASTLINK=-mmacosx-version-min=10.6 -Xlinker -undefined -Xlinker dynamic_lookup -force_flat_namespace
+  ASTLINK=-mmacosx-version-min=10.6 -Wl,-undefined,dynamic_lookup -force_flat_namespace
   ASTLINK+=/usr/lib/bundle1.o
 else
 # These are used for all but Darwin
diff --git a/res/res_pjsip/pjsip_options.c b/res/res_pjsip/pjsip_options.c
index e3e8f180829d6989ac3637fce382d1daed3d07e2..df374964c5267d3c45c8e269fa326e4184d96634 100644
--- a/res/res_pjsip/pjsip_options.c
+++ b/res/res_pjsip/pjsip_options.c
@@ -974,7 +974,7 @@ static int rtt_start_to_str(const void *obj, const intptr_t *args, char **buf)
 {
 	const struct ast_sip_contact_status *status = obj;
 
-	if (ast_asprintf(buf, "%ld.%06ld", status->rtt_start.tv_sec, status->rtt_start.tv_usec) == -1) {
+	if (ast_asprintf(buf, "%ld.%06ld", (long)status->rtt_start.tv_sec, (long)status->rtt_start.tv_usec) == -1) {
 		return -1;
 	}
 
diff --git a/utils/.gitignore b/utils/.gitignore
index ed37a064c8016732e4b3295a7d0af6e3fa68c841..8e95c8df8fe2b33a24ca3b61ce9a4c496d8f0e39 100644
--- a/utils/.gitignore
+++ b/utils/.gitignore
@@ -9,6 +9,7 @@ astdb2bdb
 astdb2sqlite3
 check_expr
 check_expr2
+check_expr2.dSYM/
 conf2ael
 db1-ast/libdb1.a
 hashtab.c