Hello everyone,
It seems that there still isn't an "accepted" method for makefiles to use on Mac OS X for externals.
I was looking at Miller's makefiles from the externals in .37, it is as follows (extracted from the Mac OS X portion):
.c.pd_darwin: cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o rm -f $*.o
Other external makefiles (for Mac OS X) change the last line, and add one more:
rm -f $*.o ../$*.pd_darwin ln -s $*/$*.pd_darwin ..
This last line, from what I can tell, seems to assume that all external source files will be stored under the "extra" folder, or at least in a folder "relative" to where the source is stored and where the external binary is stored (or linked). It also assumes that the external is stored in a folder by the same name as the external, itself. (This is not a big deal, just another "hidden" dependancy).
This is not done on other Unix Platform makefile processes. So why is it done for Mac OS X? It just adds to the "configuration" confusion.
From other discussions of this topic, a suggestion was made to change the second line of Miller's to:
cc -bundle -bundle_loader <path_to_PD> -flat_namespace -o $*.pd_darwin $*.o <other_object_files_to_include>
I would think that it would be possible to still use the "link" above, but it would be nice if the '..' were changed to the "target" directory.
Does anyone have other ideas?
Thanks,
Mike