--- Imakefile.orig	2005-03-28 06:41:59.000000000 -0800
+++ Imakefile	2012-02-02 13:40:06.681898858 -0800
@@ -10,8 +10,8 @@
 XCOMM # Top level Imakefile for ProductNameAndRelease
 XCOMM # @(#)Imakefile	1.7 1/7/92 SMI
 
-CC = cc
-CFLAGS = -O 
+CC ?= cc
+CFLAGS += -fstrength-reduce -fpcc-struct-return 
 
 #define IHaveSubdirs
 #define PassCDebugFlags
@@ -26,7 +26,15 @@
             FONTSDIR = 
 #endif
           CLIENTSDIR = clients
-          SUBDIRS = $(COREDIRS) $(FONTSDIR) 
+.ifdef DOCLIENTS
+             SUBDIRS = $(CLIENTSDIR)
+.else
+             SUBDIRS = $(COREDIRS) $(FONTSDIR)
+.endif
+.ifdef WITHDOCSUBDIR
+SUBDIRS+=doc
+.endif
+
 XCOMM # even if these SUBDIRS are not included in the general rules, be sure to
 XCOMM # do a make clean in them.
        CLEAN_SUBDIRS = clients contrib doc fonts bitmaps images lib misc util config
@@ -65,11 +73,11 @@
 	@echo ""
 	@date
 	@echo ""
-	$(MAKE) $(MFLAGS) 'SUBDIRS=$(SUBDIRS) doc' Makefiles
-	$(MAKE) $(MFLAGS) 'CLEAN_SUBDIRS=$(SUBDIRS)' clean
-	$(MAKE) $(MFLAGS) 'SUBDIRS=$(SUBDIRS)' includes
-	$(MAKE) $(MFLAGS) 'SUBDIRS=$(SUBDIRS)' depend
-	$(MAKE) $(MFLAGS) 'SUBDIRS=$(SUBDIRS)' 'CDEBUGFLAGS=$(CDEBUGFLAGS)' $(WORLDOPTS)
+	$(MAKE) $(MFLAGS) -DWITHDOCSUBDIR Makefiles
+	$(MAKE) $(MFLAGS) clean
+	$(MAKE) $(MFLAGS) includes
+	$(MAKE) $(MFLAGS) depend
+	$(MAKE) $(MFLAGS) 'CDEBUGFLAGS=$(CDEBUGFLAGS)' $(WORLDOPTS)
 	@echo ""
 	@date
 	@echo ""
@@ -102,9 +110,9 @@
 	@echo ""
 	@date
 	@echo ""
-	$(MAKE) $(MFLAGS) 'SUBDIRS=$(CLIENTSDIR)' Makefiles
-	$(MAKE) $(MFLAGS) 'SUBDIRS=$(CLIENTSDIR)' depend
-	$(MAKE) $(MFLAGS) 'SUBDIRS=$(CLIENTSDIR)' 'CDEBUGFLAGS=$(CDEBUGFLAGS)' $(WORLDOPTS)
+	$(MAKE) $(MFLAGS) -DDOCLIENTS Makefiles
+	$(MAKE) $(MFLAGS) -DDOCLIENTS depend
+	$(MAKE) $(MFLAGS) -DDOCLIENTS 'CDEBUGFLAGS=$(CDEBUGFLAGS)' $(WORLDOPTS)
 	@echo ""
 	@date
 	@echo ""
