[PD-dev] Makefile configuration question

Hans-Christoph Steiner hans at eds.org
Mon Dec 4 23:31:57 CET 2006


Its quick if you have the Pd sources, and will save you effort in the  
long run.

export CVSROOT=":pserver:anonymous at pure-data.cvs.sourceforge.net:/ 
cvsroot/pure-data"
mkdir pure-data
cd pure-data
cvs login
cvs co pd
cvs co externals
cvs co packages
mkdir externals/ericlyon
cp   /path/to/your/*.c   externals/ericlyon
cp   externals/io/hidio/Makefile   externals/ericlyon
emacs   externals/Makefile
(copy and paste "template" section and change the paths, and the  
section I sent you)
cd externals/ericlyon
make clean
make

Voila! I have done it many times...

.hc


On Dec 4, 2006, at 5:12 PM, Eric Lyon wrote:

> Thanks, I'll have a look. For now I just need something quick and  
> dirty that works so I can test the code. But what you suggest is  
> probably the best longterm solution.
>
> Eric
>
>
> On 12/4/06, Hans-Christoph Steiner <hans at eds.org> wrote:
>
> You could use the Pd-extended build stuff, then only have to  
> maintain one target for all platforms (GNU/Linux, Mac OS X, and  
> Windows) and you get automatic inclusion into Pd-extended, nightly  
> builds on all these platforms, as well as automatic handling of  
> global CPU optimization flags.
>
> Here's a bit for building [hid] from externals/Makefile with some  
> stuff stripped out that's not relevant to what you describe.
>
> -------------
> HID_SRC = input_arrays.c hid_$(OS_NAME).c hid.c
> HID_OBJECTS := $(patsubst %.c, $(externals_src)/hcs/hid/%.o, $ 
> (HID_SRC))
> $(HID_OBJECTS) : %.o : %.c
> 	$(CC) $(CFLAGS) -o "$*.o" -c "$*.c"
>
> $(externals_src)/hcs/hid/hid.$(EXTENSION): $(HID_OBJECTS)
> 	$(CC) $(LDFLAGS) -o $(externals_src)/hcs/hid/hid.$(EXTENSION) $ 
> (HID_OBJECTS)
> 	$(STRIP) $(externals_src)/hcs/hid/hid.$(EXTENSION)
> --------------
>
> The sources are all in $(externals_src)/hcs/hid. The resulting file  
> is: $(externals_src)/hcs/hid/hid.$(EXTENSION)
>
> This would make the most sense if you put your code into the Pd CVS  
> layout (or even checked it into the Pd CVS).  Like make a folder in  
> pure-data/externals, put your code there, then make a target in  
> pure-data/externals/Makefile using the template that's in there.
>
> .hc
>
> On Dec 4, 2006, at 10:56 AM, Eric Lyon wrote:
>
>> Greetings,
>>
>> I need some advice for how to modify the Pd Makefile for when I  
>> need to compile more than one code file into an external, yet do  
>> not wish to create a separate library. Say I have a main file for  
>> the external, "tightdsp~.c" another file containing support  
>> functions, " dsphelper1.c" and a third file with even more  
>> functions, "dsphelper2.c". How would I modify the following  
>> Makefile so that it would compile the code together, just as if I  
>> had copied the contents of the two helper files into the main code  
>> file?
>>
>> TIA,
>> Eric
>> ===
>>
>> NAME=tightdsp~
>> CSYM=tightdsp_tilde
>>
>> current: pd_darwin
>>
>> # ----------------------- Mac OSX -----------------------
>>
>> pd_darwin: $(NAME).pd_darwin
>>
>> .SUFFIXES: .pd_darwin
>>
>> DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \
>>     -Wno-unused -Wno-parentheses -Wno-switch
>>
>> .c.pd_darwin:
>>         cc $(DARWINCFLAGS) $(LINUXINCLUDE)  -o $*.o -c $*.c
>>         cc -bundle -undefined suppress  -flat_namespace -o  
>> $*.pd_darwin $*.o
>>         rm -f $*.o ../$*.pd_darwin
>>         cp $*.pd_darwin $(DEST)
>> # ----------------------------------------------------------
>> _______________________________________________
>> PD-dev mailing list
>> PD-dev at iem.at
>> http://lists.puredata.info/listinfo/pd-dev
>
>
> ---------------------------------------------------------------------- 
> --
>
> "[W]e have invented the technology to eliminate scarcity, but we  
> are deliberately throwing it away to benefit those who profit from  
> scarcity."        -John Gilmore
>
>
>


------------------------------------------------------------------------

"[W]e have invented the technology to eliminate scarcity, but we are  
deliberately throwing it away to benefit those who profit from  
scarcity."        -John Gilmore


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20061204/621cdcd4/attachment.htm>


More information about the Pd-dev mailing list