On Thu, Dec 28, 2000 at 09:36:57AM -0500, Ron Peterson wrote:
> Tulio Oliveira wrote:
> >
> > I appreciate any "C" Function complete samples, including de command
> > line for
> > the compiler.
>
> I've attached a generic GNU make snippet for compiling .so files.
> Adjust to suite your tastes. Like my math textbooks used to say
> "writing the C code is trivial, and is left as an excercise for the
> reader." ;)
>
> CC = /usr/bin/gcc
> TARGET = debug
> #TARGET = final
> DFLAGS = -Wall -g
> FFLAGS = -Wall -O2
> SFLAGS = -fpic -shared
> MYINCLUDES = -I/usr/local/include
> -I/usr/local/src/postgresql/src/include -I/usr/local/postgresql/include
> MYLIBS = -L/usr/local/lib -L/usr/local/postgresql/lib -lpq
>
> ifeq ($(TARGET),final)
> MYCFLAGS = $(FFLAGS)
> else
> MYCFLAGS = $(DFLAGS)
> endif
>
> %.so:
> $(CC) $(MYCFLAGS) $(MYINCLUDES) $(MYLIBS) $(*F).c -c -o $(*F).o
> $(CC) $(SFLAGS) $(*F).o -o $(*F).so
> [ -d $(TARGET) ] || mkdir $(TARGET)
> mv $(*F).so $(TARGET)
> rm *.o
Or using implicit rules, only type "make my_file.so":
INCLUDES = -I /usr/include/postgresql
CFLAGS = -g -Wall $(INCLUDES) -fPIC
%.so: %.o ld -shared -soname $@ -o $@ $< $(LIBS)
-- THERAMENE: Elle veut quelque temps douter de son malheur, Et ne connaissant plus ce h�ros qu'elle adore,
Elle voit Hippolyte et le demande encore. (Ph�dre, J-B Racine, acte 5,
sc�ne6)