r1715: *** empty log message ***
[clsql.git] / interfaces / mysql / Makefile
index 8452ef6a1ff4ad4519742027238f84468b3e3989..c21eef51cf337d036248f1e7e4ef24ba506b833e 100644 (file)
@@ -7,7 +7,7 @@
 #  Programer:    Kevin M. Rosenberg
 #  Date Started: Mar 2002
 #
-#  CVS Id:   $Id: Makefile,v 1.1 2002/03/23 14:04:52 kevin Exp $
+#  CVS Id:   $Id: Makefile,v 1.3 2002/04/01 17:33:49 kevin Exp $
 #
 # This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
 #
 # (http://opensource.franz.com/preamble.html), also known as the LLGPL.
 ###########################################################################
 
+AR=ar
 
 # These variables are correct for GCC
 # you'll need to modify these for other compilers
 CC=gcc
 SHARED_CC_OPT=-fpic
-SHARED_LD_OPT=-shared
+
+SHARED_LD_OPT=-shared # For Linux
+#SHARED_LD_OPT=-r # For FreeBSD and Solaris
 
 # If you are using Solaris, these are the correct values
 # for creating a shared library
@@ -33,26 +36,32 @@ SHARED_LD_OPT=-shared
 #MYSQL_DIR=/usr
 MYSQL_DIR=/opt/mysql
 
-MYSQL_LIB=${MYSQL_DIR}/lib/mysql
-MYSQL_LIB_FILE=${MYSQL_LIB}/libmysqlclient.so
-MYSQL_INCLUDE=${MYSQL_DIR}/include/mysql
+MYSQL_LIB=$(MYSQL_DIR)/lib/mysql
+MYSQL_LIB_FILE=$(MYSQL_LIB)/libmysqlclient.so
+MYSQL_INCLUDE=$(MYSQL_DIR)/include/mysql
 
 # Nothing to configure beyond this point
 
 BASE=clsql-mysql
-SRC=${BASE}.c
-OBJECT=${BASE}.o
-LIB=${BASE}.so
+SRC=$(BASE).c
+OBJECT=$(BASE).o
+SHARED=$(BASE).so
+STATIC=$(BASE).a
+
+all: $(SHARED) $(STATIC)
 
-all: ${LIB}
+$(SHARED): $(SRC) $(MYSQL_LIB_FILE)
+       $(CC) $(SHARED_CC_OPT) -I $(MYSQL_INCLUDE) -c $(SRC) -o $(OBJECT)
+       ld $(SHARED_LD_OPT) $(OBJECT) $(MYSQL_LIB_FILE) -o $(SHARED)
+       @rm $(OBJECT)
 
-${LIB}: ${SRC} ${MYSQL_LIB_FILE}
-       ${CC} ${SHARED_CC_OPT} -I ${MYSQL_INCLUDE} -c ${SRC} -o ${OBJECT}
-       ld ${SHARED_LD_OPT} ${OBJECT} ${MYSQL_LIB_FILE} -o ${LIB}
-       @rm ${OBJECT}
+$(STATIC): $(SRC) $(MYSQL_LIB_FILE)
+       $(CC) -I $(MYSQL_INCLUDE) -c $(SRC) -o $(OBJECT)
+       $(AR) r $(STATIC) $(OBJECT)
+       @rm $(OBJECT)
 
 clean:
-       rm -f ${LIB}
+       rm -f $(SHARED) $(STATIC)
 
 realclean: clean
        rm -f *~