File indexing completed on 2025-02-23 05:15:20

0001 # The following variable is specific to this backend and its correct
0002 # values might depend on your environment - feel free to set it accordingly.
0003 
0004 PGSQLINCLUDEDIR = -I/usr/include/postgresql
0005 PGSQLLIBDIR = -L/usr/lib
0006 PGSQLLIBS = -lpq
0007 
0008 # The rest of the Makefile is indepentent of the target environment.
0009 
0010 COMPILER = g++
0011 CXXFLAGS = -Wall -pedantic -Wno-long-long
0012 SHARED_CXXFLAGS = ${CXXFLAGS} -fPIC
0013 INCLUDEDIRS = -I../../../include -I../../../include/private ${PGSQLINCLUDEDIR} 
0014 
0015 SHARED_LIBDIRS = ${PGSQLLIBDIR}
0016 SHARED_LIBS = ${PGSQLLIBS} ../../core/libsoci_core.a
0017 
0018 UNAME = $(shell uname)
0019 ifeq ($(UNAME),Darwin)
0020         SHARED_LINK_FLAGS = -dynamiclib -flat_namespace -undefined suppress
0021 else
0022         SHARED_LINK_FLAGS = -shared
0023 endif
0024 
0025 
0026 OBJECTS = blob.o error.o factory.o row-id.o session.o standard-into-type.o \
0027         standard-use-type.o statement.o vector-into-type.o vector-use-type.o \
0028         common.o
0029 
0030 SHARED_OBJECTS = blob-s.o error-s.o factory-s.o row-id-s.o session-s.o \
0031         standard-into-type-s.o standard-use-type-s.o statement-s.o \
0032         vector-into-type-s.o vector-use-type-s.o common-s.o
0033 
0034 
0035 libsoci_postgresql.a : ${OBJECTS}
0036         ar rv $@ $?
0037         rm *.o
0038 
0039 
0040 blob.o : blob.cpp
0041         ${COMPILER} -c $? ${CXXFLAGS} ${INCLUDEDIRS}
0042 
0043 error.o : error.cpp
0044         ${COMPILER} -c $? ${CXXFLAGS} ${INCLUDEDIRS}
0045 
0046 common.o : ../../core/common.cpp
0047         ${COMPILER} -c $? ${CXXFLAGS} ${INCLUDEDIRS}
0048 
0049 factory.o : factory.cpp
0050         ${COMPILER} -c $? ${CXXFLAGS} ${INCLUDEDIRS}
0051 
0052 row-id.o : row-id.cpp
0053         ${COMPILER} -c $? ${CXXFLAGS} ${INCLUDEDIRS}
0054 
0055 session.o : session.cpp
0056         ${COMPILER} -c $? ${CXXFLAGS} ${INCLUDEDIRS}
0057 
0058 standard-into-type.o : standard-into-type.cpp
0059         ${COMPILER} -c $? ${CXXFLAGS} ${INCLUDEDIRS}
0060 
0061 standard-use-type.o : standard-use-type.cpp
0062         ${COMPILER} -c $? ${CXXFLAGS} ${INCLUDEDIRS}
0063 
0064 statement.o : statement.cpp
0065         ${COMPILER} -c $? ${CXXFLAGS} ${INCLUDEDIRS}
0066 
0067 vector-into-type.o : vector-into-type.cpp
0068         ${COMPILER} -c $? ${CXXFLAGS} ${INCLUDEDIRS}
0069 
0070 vector-use-type.o : vector-use-type.cpp
0071         ${COMPILER} -c $? ${CXXFLAGS} ${INCLUDEDIRS}
0072 
0073 
0074 shared : ${SHARED_OBJECTS}
0075         ${COMPILER} ${SHARED_LINK_FLAGS} -o libsoci_postgresql.so \
0076                 ${SHARED_OBJECTS} ${SHARED_LIBDIRS} ${SHARED_LIBS}
0077         rm *.o
0078 
0079 blob-s.o : blob.cpp
0080         ${COMPILER} -c -o $@ $? ${SHARED_CXXFLAGS} ${INCLUDEDIRS}
0081 
0082 error-s.o : error.cpp
0083         ${COMPILER} -c -o $@ $? ${CXXFLAGS} ${INCLUDEDIRS}
0084 
0085 common-s.o : ../../core/common.cpp
0086         ${COMPILER} -c -o $@ $? ${SHARED_CXXFLAGS} ${INCLUDEDIRS}
0087 
0088 factory-s.o : factory.cpp
0089         ${COMPILER} -c -o $@ $? ${SHARED_CXXFLAGS} ${INCLUDEDIRS}
0090 
0091 row-id-s.o : row-id.cpp
0092         ${COMPILER} -c -o $@ $? ${SHARED_CXXFLAGS} ${INCLUDEDIRS}
0093 
0094 session-s.o : session.cpp
0095         ${COMPILER} -c -o $@ $? ${SHARED_CXXFLAGS} ${INCLUDEDIRS}
0096 
0097 standard-into-type-s.o : standard-into-type.cpp
0098         ${COMPILER} -c -o $@ $? ${SHARED_CXXFLAGS} ${INCLUDEDIRS}
0099 
0100 standard-use-type-s.o : standard-use-type.cpp
0101         ${COMPILER} -c -o $@ $? ${SHARED_CXXFLAGS} ${INCLUDEDIRS}
0102 
0103 statement-s.o : statement.cpp
0104         ${COMPILER} -c -o $@ $? ${SHARED_CXXFLAGS} ${INCLUDEDIRS}
0105 
0106 vector-into-type-s.o : vector-into-type.cpp
0107         ${COMPILER} -c -o $@ $? ${SHARED_CXXFLAGS} ${INCLUDEDIRS}
0108 
0109 vector-use-type-s.o : vector-use-type.cpp
0110         ${COMPILER} -c -o $@ $? ${SHARED_CXXFLAGS} ${INCLUDEDIRS}
0111 
0112 
0113 clean :
0114         rm -f libsoci_postgresql.a libsoci_postgresql.so