[PD-cvs] SF.net SVN: pure-data:[10604] branches/pd-extended/0.41/pd

eighthave at users.sourceforge.net eighthave at users.sourceforge.net
Fri Jan 23 20:28:55 CET 2009


Revision: 10604
          http://pure-data.svn.sourceforge.net/pure-data/?rev=10604&view=rev
Author:   eighthave
Date:     2009-01-23 19:28:55 +0000 (Fri, 23 Jan 2009)

Log Message:
-----------
- added support for OPT_CFLAGS so that things can get auto-vectorized.  Split
  up source files into safe and not-save since there are still 6 source files
  that contain type-punning, and are therefore not safe to auto-vectorize

- tacked on etags targets to the end of the makefile.in

Modified Paths:
--------------
    branches/pd-extended/0.41/pd/extra/makefile
    branches/pd-extended/0.41/pd/src/makefile.in

Modified: branches/pd-extended/0.41/pd/extra/makefile
===================================================================
--- branches/pd-extended/0.41/pd/extra/makefile	2009-01-23 10:57:17 UTC (rev 10603)
+++ branches/pd-extended/0.41/pd/extra/makefile	2009-01-23 19:28:55 UTC (rev 10604)
@@ -79,7 +79,7 @@
 .SUFFIXES: .d_ppc .d_fat
 
 DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \
-    -Wno-unused -Wno-parentheses -Wno-switch
+    -Wno-unused -Wno-parentheses -Wno-switch $(OPT_CFLAGS)
 
 .c.d_ppc:
 	$(CC) $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c

Modified: branches/pd-extended/0.41/pd/src/makefile.in
===================================================================
--- branches/pd-extended/0.41/pd/src/makefile.in	2009-01-23 10:57:17 UTC (rev 10603)
+++ branches/pd-extended/0.41/pd/src/makefile.in	2009-01-23 19:28:55 UTC (rev 10604)
@@ -49,7 +49,12 @@
 
 ASIOOBJ = $(ASIOSRC:.cpp=.o)
 
-SRC = g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_io.c \
+# these files cause a warning when using auto-vectorization:
+# "warning: dereferencing type-punned pointer will break strict-aliasing rules"
+TYPE_PUNNING_SRC = d_ctl.c d_array.c d_delay.c d_filter.c d_math.c d_osc.c d_soundfile.c
+
+# these are safe for full gcc 4.x optimization
+OPT_SAFE_SRC = g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_io.c \
     g_scalar.c g_traversal.c g_guiconnect.c g_readwrite.c g_editor.c \
     g_all_guis.c g_bang.c g_hdial.c g_hslider.c g_mycanvas.c g_numbox.c \
     g_toggle.c g_vdial.c g_vslider.c g_vumeter.c \
@@ -57,14 +62,18 @@
     m_conf.c m_glob.c m_sched.c \
     s_main.c s_inter.c s_file.c s_print.c \
     s_loader.c s_path.c s_entry.c s_audio.c s_midi.c \
-    d_ugen.c d_ctl.c d_arithmetic.c d_osc.c d_filter.c d_dac.c d_misc.c \
-    d_math.c d_fft.c d_array.c d_global.c \
-    d_delay.c d_resample.c \
+    d_ugen.c d_arithmetic.c d_dac.c d_misc.c \
+    d_fft.c d_global.c \
+    d_resample.c \
     x_arithmetic.c x_connective.c x_interface.c x_midi.c x_misc.c \
-    x_time.c x_acoustics.c x_net.c x_qlist.c x_gui.c x_list.c d_soundfile.c \
+    x_time.c x_acoustics.c x_net.c x_qlist.c x_gui.c x_list.c \
 	import.c \
     $(SYSSRC)
 
+SRC = $(TYPE_PUNNING_SRC) $(OPT_SAFE_SRC)
+
+TYPE_PUNNING_OBJ = $(TYPE_PUNNING_SRC:.c=.o) 
+OPT_SAFE_OBJ = $(OPT_SAFE_SRC:.c=.o) 
 OBJ = $(SRC:.c=.o) 
 
 GSRC =  @GUISRC@
@@ -97,7 +106,10 @@
 bin: pd $(BIN_DIR)/pd-watchdog gui $(BIN_DIR)/pdsend \
     $(BIN_DIR)/pdreceive  $(BIN_DIR)/pd.tk
 
-$(OBJ) : %.o : %.c
+$(OPT_SAFE_OBJ) : %.o : %.c
+	$(CC) $(CFLAGS) $(OPT_CFLAGS) $(GFLAGS) $(INCLUDE) -c -o $(OBJ_DIR)/$*.o $*.c 
+
+$(TYPE_PUNNING_OBJ) : %.o : %.c
 	$(CC) $(CFLAGS) $(GFLAGS) $(INCLUDE) -c -o $(OBJ_DIR)/$*.o $*.c 
 
 $(GOBJ) : %.o : %.c
@@ -248,8 +260,29 @@
 include makefile.dependencies
 
 
+TAGS: etags
 
+etags:
+	etags *.[ch] 
+	find /usr/include -type f -name \*.h -exec etags -a '{}' \;
+	make etags_`uname -s`
 
+etags_Darwin:
+	find /System/Library/Frameworks  -type f -name \*.h -exec etags -a '{}' \;
+	find /Library/Frameworks  -type f -name \*.h -exec etags -a '{}' \;
+	find /sw/include -type f -name \*.h -exec etags -a '{}' \;
 
+etags_Linux:
 
+etags_MINGW:
+	find /usr/local/include/ -type f -name \*.h -exec etags -a '{}' \;
 
+
+
+
+
+
+
+
+
+


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Pd-cvs mailing list