--- Makefile.old 2007-12-14 19:39:49.953125000 +0100 +++ Makefile 2007-12-15 04:36:08.171875000 +0100 @@ -46,7 +46,8 @@ CFLAGS = -DPD $(OPT_CFLAGS) -I$(pd_src)/src -Wall -W $(DEBUG_CFLAGS) LDFLAGS = LIBS = -lm - +CYGWIN_CFLAG = +CYGWIN_LD_FLAG = ifeq ($(OS_NAME),darwin) CFLAGS += -I/sw/include -DMACOSX -DUNIX -Dunix LDFLAGS += -bundle -bundle_loader $(pd_src)/bin/pd -L/sw/lib \ @@ -57,12 +58,17 @@ endif ifeq ($(OS_NAME),linux) CFLAGS += -DUNIX -Dunix -fPIC - LDFLAGS += -Wl,-export_dynamic -shared + LDFLAGS += -Wl,-export_dynamic -shared $(CYGWIN_CFLAG) LIBS += -lc DYLIB_LDFLAGS = $(LDFLAGS) STRIP = strip --strip-unneeded -R .note -R .comment endif ifeq ($(OS_NAME),windows) +ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME))) + CYGWIN_CFLAG = -mno-cygwin -I/cygdrive/c/MinGW/include + CYGWIN_LIB = -L/cygdrive/c/MinGW/lib -mno-cygwin + LDFLAGS += -mno-cygwin +endif BUILDSRC_OS_NAME = win WINDOWS_HACKS = -D'O_NONBLOCK=1' -D'srand48(n)=srand((n))' \ -D'drand48()=((double)rand()/RAND_MAX)' -D'bzero(p,n)=memset(p,0,n)' @@ -70,12 +76,12 @@ # -D'PROT_READ=1' \ # -D'MAP_PRIVATE=2' \ # -D'O_NDELAY=O_NONBLOCK' - CFLAGS += -mms-bitfields -DMSW -DNT $(WINDOWS_HACKS) + CFLAGS += -mms-bitfields -DMSW -DNT $(WINDOWS_HACKS) $(CYGWIN_CFLAG) LDFLAGS += -shared # all of these included libs are part of libc in UNIX platforms. All except # libregex are in DLLs, so they get stripped from the external's .dll binary - LIBS += -L$(pd_src)/bin -L$(pd_src)/obj -lpd \ - -lwsock32 -lpthreadGC2 -lkernel32 -luser32 -lgdi32 -lregex + LIBS += -L$(pd_src)/bin $(CYGWIN_LIB) -L$(pd_src)/obj -lpd \ + -lwsock32 -lpthreadGC2 -lkernel32 -luser32 -lgdi32 -lregex $(CYGWIN_CFLAG) DYLIB_LDFLAGS = -shared STRIP = strip --strip-unneeded -R .note -R .comment endif @@ -85,7 +91,7 @@ ### C++ files %.$(EXTENSION): %.cpp %.$(EXTENSION): %.cc - $(CXX) $(CXXFLAGS) -o "$*.o" -c "$<" + $(CXX) $(CXXFLAGS) -o "$*.o" $(CYGWIN_CFLAG) -c "$<" $(CXX) $(LDFLAGS) -o "$*.$(EXTENSION)" "$*.o" $(LIBS) chmod a-x "$*.$(EXTENSION)" # $(STRIP) $*.$(EXTENSION) @@ -93,7 +99,7 @@ %.o: %.cpp %.o: %.cc - $(CXX) $(CXXFLAGS) -o "$*.o" -c "$<" + $(CXX) $(CXXFLAGS) -o "$*.o" $(CYGWIN_CFLAG) -c "$<" ### C files @@ -124,17 +130,17 @@ # # WARNING! this MUST be all on one line because the automatic package # building scripts rely on it being that way. -LIB_TARGETS = adaptive bassemu boids bsaylor creb cxc cyclone deprecated earplug ekext ext13 flashserver flatspace flib freeverb ggee hardware hcs iem_ambi iem_bin_ambi iemlib iemgui iem_adaptfilt iemmatrix iem_matrix iemxmlrpc iem_delay iem_roomsim iem_spec2 iem_tab jasch_lib loaders mapping markex maxlib mjlib moocow moonlib motex mrpeach msd oscx pan pdcontainer pddp pdogg pmpd sigpack smlib tkwidgets tof toxy unauthorized vbap zexy +LIB_TARGETS = adaptive bassemu boids bsaylor creb cxc cyclone deprecated earplug ekext ext13 flashserver flatspace flib freeverb ggee hardware hcs iem_ambi iem_bin_ambi iemlib iemgui iem_adaptfilt iemmatrix iem_matrix iemxmlrpc iem_delay iem_roomsim iem_spec2 iem_tab jasch_lib loaders mapping markex maxlib mjlib moocow moonlib motex mrpeach msd oscx pan pdcontainer pddp pmpd sigpack smlib tkwidgets tof toxy unauthorized vbap windowing zexy # this is for libraries that don't compile (yet) on all platforms ifeq ($(OS_NAME),windows) LIB_TARGETS += else ifeq ($(OS_NAME),darwin) - LIB_TARGETS += hid hidio pdp pidip gem2pdp wiiremote iem16 + LIB_TARGETS += hid hidio pdp pidip gem2pdp wiiremote iem16 usbhid else # GNU/Linux, BSD, IRIX, etc. - LIB_TARGETS += hid hidio pdp pidip gem2pdp hdspm_mixer iem16 + LIB_TARGETS += hid hidio pdp pidip gem2pdp hdspm_mixer iem16 postlude endif endif @@ -2071,6 +2077,7 @@ POSTLUDE_NAME=postlude # flib is separate, so exclude it here POSTLUDE_OBJECTS := $(wildcard $(externals_src)/postlude/[a-eg-z]*/src/*.c) +# $(externals_src)/postlude/psql/psql.c postlude: $(POSTLUDE_OBJECTS:.c=.$(EXTENSION)) postlude_install: postlude @@ -2079,8 +2086,10 @@ --author "Jamie Bullock" \ --license "GNU GPL" install -p $(POSTLUDE_OBJECTS:.c=.$(EXTENSION)) $(objectsdir)/$(POSTLUDE_NAME) + install -p $(externals_src)/postlude/dssi/doc/output~.pd \ + $(objectsdir)/$(POSTLUDE_NAME) install -d $(helpdir)/$(POSTLUDE_NAME) - install -p $(externals_src)/postlude/*/doc/help-*.pd \ + install -p $(externals_src)/postlude/*/doc/*-help.pd \ $(helpdir)/$(POSTLUDE_NAME) # install -d $(manualsdir)/$(POSTLUDE_NAME) # install -p $(externals_src)/postlude/manual.txt \ @@ -2088,8 +2097,8 @@ install -d $(readmesdir) install -p $(externals_src)/postlude/dssi/README \ $(readmesdir)/$(POSTLUDE_NAME)-dssi.txt - install -p $(externals_src)/postlude/getpatchname/README \ - $(readmesdir)/$(POSTLUDE_NAME)-getpatchname.txt + install -p $(externals_src)/postlude/psql/README \ + $(readmesdir)/$(POSTLUDE_NAME)-psql.txt install -d $(examplesdir)/$(POSTLUDE_NAME) # install -p $(externals_src)/postlude/examples/*.pd \ # $(examplesdir)/$(POSTLUDE_NAME) @@ -2439,6 +2448,44 @@ #------------------------------------------------------------------------------# +# WINDOWING +WINDOWING_NAME=windowing +WINDOWING_OBJECTS := $(wildcard $(externals_src)/windowing/*.c) +WINDOWING_SHARED := $(wildcard $(externals_src)/windowing/shared/*.c) +windowing_shared: $(WINDOWING_SHARED:.c=.o) +# $(CC) $(DYLIB_LDFLAGS) \ +# -o $(externals_src)/windowing/libwindowing.$(DYLIB_EXTENSION) \ +# $(WINDOWING_SHARED:.c=.o) + +windowing: windowing_shared $(WINDOWING_OBJECTS:.c=.$(EXTENSION)) + +windowing_install: windowing + install -d $(objectsdir)/$(WINDOWING_NAME) + $(scripts_src)/generate-libdir-metafile.sh $(objectsdir) $(WINDOWING_NAME) \ + --author "Joe Sarlo" \ + --license "GPLv2 or later" + install -p $(WINDOWING_OBJECTS:.c=.$(EXTENSION)) $(objectsdir)/$(WINDOWING_NAME) + install -d $(helpdir)/$(WINDOWING_NAME) + install -p $(externals_src)/windowing/*-help.pd \ + $(helpdir)/$(WINDOWING_NAME) +# install -d $(manualsdir)/$(WINDOWING_NAME) +# install -p $(externals_src)/windowing/manual.txt \ +# $(manualsdir)/$(WINDOWING_NAME) + install -d $(readmesdir) + install -p $(externals_src)/windowing/README \ + $(readmesdir)/$(WINDOWING_NAME).txt + install -d $(examplesdir)/$(WINDOWING_NAME) + install -p $(externals_src)/windowing/examples/*.pd \ + $(examplesdir)/$(WINDOWING_NAME) + +windowing_clean: + -rm -f -- $(WINDOWING_OBJECTS:.c=.$(EXTENSION)) + -rm -f -- $(WINDOWING_OBJECTS:.c=.o) + -rm -f -- $(externals_src)/windowing/*.bak + -rm -f -- $(externals_src)/windowing/*.*~ + + +#------------------------------------------------------------------------------# # Zexy ZEXY_NAME = zexy ZEXY_OBJECTS := $(wildcard $(externals_src)/zexy/src/[a-vxy0]*.c) \ @@ -2513,13 +2560,13 @@ pdcontainer: $(PDCONTAINER_TARGETS) $(PDCONTAINER_TARGETS) : %.$(EXTENSION) : $(PDCONTAINER_OBJ) - $(CXX) $(LDFLAGS) -o $*.$(EXTENSION) "$*.o" $(shell ls `echo "$*.o" | sed -e s/"h_[a-z]"/"\?\?"/g -e s/"map"/"Map"/g -e s/"set"/"Set"/g -e s/"queue"/"Queue"/g`) $(PDC_SHARED:.cpp=.o) $(LIBS) + $(CXX) $(LDFLAGS) -o $*.$(EXTENSION) "$*.o" $(shell ls `echo "$*.o" | sed -e s/"h_[a-z]"/"\?\?"/g -e s/"map"/"Map"/g -e s/"set"/"Set"/g -e s/"queue"/"Queue"/g`) $(PDC_SHARED:.cpp=.o) $(LIBS) $(CYGWIN_CFLAG) $(STRIP) $*.$(EXTENSION) chmod 755 $*.$(EXTENSION) #rm -f -- "$*.o" $(PDCONTAINER_OBJ) : %.o : %.cpp - $(CXX) $(CXXFLAGS) -DPDCONTAINER_SINGLE_OBJECT $(PDCONTAINER_INCLUDE) -o "$*.o" -c "$*.cpp" + $(CXX) $(CXXFLAGS) -DPDCONTAINER_SINGLE_OBJECT $(PDCONTAINER_INCLUDE) -o "$*.o" -c "$*.cpp" $(CYGWIN_CFLAG) pdcontainer_install: pdcontainer install -d $(objectsdir)/$(PDCONTAINER_NAME) @@ -2879,13 +2926,13 @@ iemxmlrpc: $(IEMXMLRPC_TARGET) $(IEMXMLRPC_TARGET) : $(IEMXMLRPC_SRC:.cpp=.o) $(XMLRPCPP_SRC:.cpp=.o) - $(CXX) $(LDFLAGS) -o $(IEMXMLRPC_TARGET) $(IEMXMLRPC_SRC:.cpp=.o) $(XMLRPCPP_SRC:.cpp=.o) $(LIBS) + $(CXX) $(LDFLAGS) -o $(IEMXMLRPC_TARGET) $(IEMXMLRPC_SRC:.cpp=.o) $(XMLRPCPP_SRC:.cpp=.o) $(CYGWIN_CFLAG) $(LIBS) $(STRIP) $(IEMXMLRPC_TARGET) chmod 755 $(IEMXMLRPC_TARGET) #rm -f -- "$*.o" $(IEMXMLRPC_SRC:.cpp=.o) $(XMLRPCPP_SRC:.cpp=.o) : %.o : %.cpp - $(CXX) $(CXXFLAGS) $(IEMXMLRPC_FLAGS) -o "$*.o" -c "$*.cpp" + $(CXX) $(CXXFLAGS) $(IEMXMLRPC_FLAGS) -o "$*.o" $(CYGWIN_CFLAG) -c "$*.cpp" iemxmlrpc_install: iemxmlrpc install -d $(objectsdir)/$(IEMXMLRPC_NAME)