1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
# Edit these two variables to suit your system.
# You need both gavl and gmerlin_avdec libs to compile
#
GAVLPATH=/usr/local/include
PDPATH=/usr/local/include
VERSION=0.42
UNAME := $(shell uname)
ifneq ($(UNAME), Darwin)
# simplistic approach to OS-detection
UNAME=Linux
endif
ifeq ($(UNAME), Linux)
TARGET=pd_linux
else
# assume darwin here
GAVLPATH=/sw/include
PDPATH=/Applications/Pd-extended.app/Contents/Resources/include/
TARGET=pd_darwin
endif
##############################################
ifeq ($(UNAME), Linux)
STRIP=strip --strip-unneeded
# optimizations?
#PD_CXXFLAGS += -O1 -funroll-loops -fomit-frame-pointer \
# -Wall -W -Wshadow \
# -Wno-unused -Wno-parentheses -Wno-switch
PD_LDFLAGS = -L/usr/local/lib -lpthread -lgavl -lgmerlin_avdec
else
# assume darwin here
STRIP=strip -x
PD_CXXFLAGS += -I/sw/include -fast -fPIC
PD_LDFLAGS = -bundle -undefined dynamic_lookup -L/sw/lib -lgavl -lgmerlin_avdec
#PD_LDFLAGS += -bundle -bundle_loader $(pd_src)/bin/pd -undefined dynamic_lookup \
# -L/sw/lib -weak_framework Carbon -lc -L/sw/lib -lgavl -lgmerlin_avdec
# os 10.4
#PD_CXXFLAGS += -mmacosx-version-min=10.4 -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk
#PD_LDFLAGS = -L/sw/lib -lgavl -lgmerlin_avdec \
# -dynamiclib -undefined dynamic_lookup -lsupc++ -mmacosx-version-min=10.4 \
# -lSystem.B -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk
endif
PD_CXXFLAGS += -fPIC
PD_CXXFLAGS += $(CXXFLAGS)
PD_LDFLAGS += $(LDFLAGS)
all: $(TARGET)
pd_linux: src/readanysf~.cpp objs/FifoVideoFrames.o objs/FifoAudioFrames.o objs/ReadMedia.o
g++ -shared -o readanysf~.pd_linux $(PD_CXXFLAGS) $(PD_LDFLAGS) \
src/readanysf~.cpp \
objs/FifoAudioFrames.o \
objs/FifoVideoFrames.o \
objs/ReadMedia.o
$(STRIP) readanysf~.pd_linux
pd_darwin: src/readanysf~.cpp objs/FifoVideoFrames.o objs/FifoAudioFrames.o objs/ReadMedia.o
g++ $(PD_LDFLAGS) -o readanysf~.pd_darwin $(PD_CXXFLAGS) \
src/readanysf~.cpp \
objs/FifoAudioFrames.o \
objs/FifoVideoFrames.o \
objs/ReadMedia.o
$(STRIP) readanysf~.pd_darwin
mkdir -p readanysf~$(VERSION)_MacOSX-Intel
mkdir -p readanysf~$(VERSION)_MacOSX-Intel/readanysf~
cp readanysf~.pd_darwin readanysf~-help.pd readanysf~$(VERSION)_MacOSX-Intel/readanysf~
cp READMEmacpkg.txt anysndfiler.pd readanysf~$(VERSION)_MacOSX-Intel/
mv readanysf~$(VERSION)_MacOSX-Intel/READMEmacpkg.txt readanysf~$(VERSION)_MacOSX-Intel/README.txt
./embed-MacOSX-dependencies.sh readanysf~$(VERSION)_MacOSX-Intel/readanysf~
tar -cvf readanysf~$(VERSION)_MacOSX-Intel.tar readanysf~$(VERSION)_MacOSX-Intel/
gzip readanysf~$(VERSION)_MacOSX-Intel.tar
objs/ReadMedia.o: src/ReadMedia.cpp src/ReadMedia.h objs/FifoAudioFrames.o objs/FifoVideoFrames.o objs/
g++ -c -o objs/ReadMedia.o src/ReadMedia.cpp $(PD_CXXFLAGS)
objs/FifoAudioFrames.o: src/FifoAudioFrames.cpp src/FifoAudioFrames.h objs/
g++ -c -o objs/FifoAudioFrames.o src/FifoAudioFrames.cpp $(PD_CXXFLAGS)
objs/FifoVideoFrames.o: src/FifoVideoFrames.cpp src/FifoVideoFrames.h objs/
g++ -c -o objs/FifoVideoFrames.o src/FifoVideoFrames.cpp $(PD_CXXFLAGS)
clean:
if [ -d readanysf~$(VERSION)_MacOSX-Intel ]; then rm -rf readanysf~$(VERSION)_MacOSX-Intel; fi;
if [ -f readanysf~$(VERSION)_MacOSX-Intel.tar.gz ]; then rm -rf readanysf~$(VERSION)_MacOSX-Intel.tar.gz; fi;
rm -f objs/*.o readanysf~.pd_*
rm -rf objs/
objs/:
mkdir objs
|