# py/pyext - python script object for PD and Max/MSP # Copyright (C) 2002 Thomas Grill (xovo@gmx.net) # # Makefile for gcc @ linux # # usage: # to build run "make -f makefile.pd-linux" # to install (as root), do "make -f makefile.pd-linux install" # CONFIG=config-pd-linux.txt include $(CONFIG) FLEXTLIB=$(FLEXTPATH)/flext_t.a # compiler+linker stuff INCLUDES=$(PDPATH) $(PYTHONINCLUDE) LIBPATH=$(PYTHONLIB) FLAGS=-DPD -DFLEXT_THREADS CFLAGS=-O6 -mcpu=pentiumpro #CFLAGS=-g LIBS=m util python$(PYTHONVER) # --------------------------------------------- # the rest can stay untouched # ---------------------------------------------- NAME=py # all the source files from the package SRCS=main.cpp py.cpp pyext.cpp bound.cpp clmeth.cpp modmeth.cpp pyargs.cpp register.cpp HDRS=main.h pyext.h TARGET=$(TARGDIR)/$(NAME).pd_linux # default target all: $(TARGDIR) $(TARGET) $(patsubst %,source/%,$(SRCS)): $(patsubst %,source/%,$(HDRS)) $(FLEXTLIB) $(CONFIG) touch $@ $(TARGDIR): mkdir $(TARGDIR) $(TARGDIR)/%.o : source/%.cpp $(CXX) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(FLEXTPATH)) $< -o $@ $(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS)) $(FLEXTLIB) $(CXX) -shared $^ $(patsubst %,-L%,$(LIBPATH)) $(patsubst %,-l%,$(LIBS)) -o $@ chmod 755 $@ $(INSTPATH): mkdir $(INSTDIR) install:: $(INSTDIR) install:: $(TARGET) cp $^ $(INSTPATH) chown root.root $(patsubst %,$(INSTPATH)/%,$(notdir $^)) chmod 755 $(patsubst %,$(INSTPATH)/%,$(notdir $^)) .PHONY: clean clean: rm -f $(TARGDIR)/*.o $(TARGET)