diff --git a/Mac/Python/macgetargv.c b/Mac/Python/macgetargv.c
index b4a3ec6..b845781 100644
--- a/Mac/Python/macgetargv.c
+++ b/Mac/Python/macgetargv.c
@@ -271,7 +271,7 @@
 	
 	got_one = 0;
 	for (n = 0; n < 100 && !got_one; n++) {
-#ifndef TARGET_API_MAC_CARBON
+#if !TARGET_API_MAC_CARBON
 		SystemTask();
 #endif
 		ok = GetNextEvent(everyEvent, &event);
diff --git a/Mac/Python/macgetcompiler.c b/Mac/Python/macgetcompiler.c
index d7f535f..c7f325c 100644
--- a/Mac/Python/macgetcompiler.c
+++ b/Mac/Python/macgetcompiler.c
@@ -51,7 +51,7 @@
 #define HASTHREAD ""
 #endif
 
-#ifdef TARGET_API_MAC_CARBON
+#if TARGET_API_MAC_CARBON
 #define TARGET_API " CARBON"
 #else
 #define TARGET_API ""
diff --git a/Mac/Python/macglue.c b/Mac/Python/macglue.c
index d7eb9ec..ad4e82b 100644
--- a/Mac/Python/macglue.c
+++ b/Mac/Python/macglue.c
@@ -32,7 +32,7 @@
 
 #include <Events.h>
 
-#ifdef TARGET_API_MAC_CARBON
+#if TARGET_API_MAC_CARBON
 /* Unfortunately this call is probably slower... */
 #define LMGetTicks() TickCount()
 #endif
@@ -161,7 +161,7 @@
 	int selectcur_hit;		/* Set to true when "select current" selected */
 	char *prompt;			/* The prompt */
 };
-#ifdef TARGET_API_MAC_CARBON
+#if TARGET_API_MAC_CARBON
 /* The StandardFile hooks don't exist in Carbon. This breaks GetDirectory,
 ** but the macfsn code will replace it by a NavServices version anyway.
 */
@@ -417,7 +417,7 @@
 scan_event_queue(flush)
 	int flush;
 {
-#ifdef TARGET_API_MAC_CARBON
+#if TARGET_API_MAC_CARBON
 	/* CARBONXXXX To be implemented */
 	return;
 #else
@@ -508,7 +508,7 @@
 PyMac_HandleEventIntern(evp)
 	EventRecord *evp;
 {
-#ifndef TARGET_API_MAC_CARBON
+#if !TARGET_API_MAC_CARBON
 	if ( evp->what == mouseDown ) {
 		WindowPtr wp;
 		
@@ -585,7 +585,7 @@
 	*/
 	if( in_here > 1 || !schedparams.process_events || 
 	    (python_event_handler && !maycallpython) ) {
-#ifndef TARGET_API_MAC_CARBON
+#if !TARGET_API_MAC_CARBON
 		if ( maxsleep >= 0 ) {
 			SystemTask();
 		}
@@ -754,7 +754,7 @@
 	}
 	return item;
 }	
-#ifndef TARGET_API_MAC_CARBON
+#if !TARGET_API_MAC_CARBON
 /*
 ** Ask the user for a directory. I still can't understand
 ** why Apple doesn't provide a standard solution for this...
diff --git a/Mac/Python/macmain.c b/Mac/Python/macmain.c
index e3e9615..d40a70e 100644
--- a/Mac/Python/macmain.c
+++ b/Mac/Python/macmain.c
@@ -86,7 +86,7 @@
 static void
 init_mac_world()
 {
-#ifndef TARGET_API_MAC_CARBON
+#if !TARGET_API_MAC_CARBON
 	/* These aren't needed for carbon */
 	MaxApplZone();
 	InitGraf(&qd.thePort);
@@ -162,7 +162,7 @@
 			DisposeDialog(dialog);
 			exit(0);
 		}
-#ifndef TARGET_API_MAC_CARBON
+#if !TARGET_API_MAC_CARBON
 		if ( item == OPT_HELP ) {
 			HMSetBalloons(!HMGetBalloons());
 		}
