1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
From: John Goerzen <jgoerzen@complete.org>
Date: Wed, 14 Oct 2020 13:56:08 +0200
Subject: Cleaner Makefiles
---
Biniki/Makefile | 9 +++++++--
Makefile | 8 ++++----
master.Makefile.in | 11 ++++++++---
3 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/Biniki/Makefile b/Biniki/Makefile
index 7847ca0..887f468 100644
--- a/Biniki/Makefile
+++ b/Biniki/Makefile
@@ -13,11 +13,16 @@ CMXFILES = $(CMOFILES:.cmo=.cmx)
# Overriden flags
COMPFLAGS=-nolabels -I ../$(SUBDIR) $(INCLUDEGTK)
-LINKFLAGS=-ccopt -L../$(SUBDIR) -I ../$(SUBDIR) $(LINKGTK)
+LINKFLAGS=-ccopt -fPIC -ccopt -L../$(SUBDIR) -I ../$(SUBDIR) $(LINKGTK)
####
BINIKI=biniki
-BINIKI_OPT=biniki.opt
+
+ifeq ($(OCAMLOPT),no)
+ BINIKI_OPT=
+else
+ BINIKI_OPT=biniki.opt
+endif
# targets for each database
mysql:
diff --git a/Makefile b/Makefile
index 79ba194..e8074e0 100644
--- a/Makefile
+++ b/Makefile
@@ -88,7 +88,7 @@ $(LIB_C): $(OBJFILES)
$(AR) $@ $(OBJFILES)
$(RANLIB) $@
-$(LIB): $(OBJOCAML) $(LIBOBJ)
+$(LIB): $(OBJOCAML) $(LIBOBJ) $(LIB_C)
$(OCAMLC) -a -linkall -custom -o $@ -cclib -locamlodbc \
$(LINKFLAGS) $(OBJOCAML) $(LIBOBJ)
$(LIB_OPT): $(OBJOCAML_OPT) $(LIBOBJ_OPT) $(LIB_C)
@@ -160,10 +160,10 @@ install:
@echo ' To install directly type : "make direct_install"'
direct_install: dummy
- if test -d $(INSTALL_BINDIR); then : ; else $(MKDIR) $(INSTALL_BINDIR); fi
- if test -d $(INSTALL_LIBDIR); then : ; else $(MKDIR) $(INSTALL_LIBDIR); fi
+ if test -d $(DESTDIR)/$(INSTALL_BINDIR); then : ; else $(MKDIR) $(DESTDIR)/$(INSTALL_BINDIR); fi
+ if test -d $(DESTDIR)/$(INSTALL_LIBDIR); then : ; else $(MKDIR) $(DESTDIR)/$(INSTALL_LIBDIR); fi
for i in mysql postgres db2 unixodbc openingres oraclecfo ; \
- do (if test -d $$i ; then ($(MKDIR) $(INSTALL_LIBDIR)/$$i ; $(CP) $$i/* $(INSTALL_LIBDIR)/$$i/) fi) ; done
+ do (if test -d $$i ; then ($(MKDIR) $(DESTDIR)/$(INSTALL_LIBDIR)/$$i ; $(CP) $$i/* $(DESTDIR)/$(INSTALL_LIBDIR)/$$i/) fi) ; done
findlib_install: META dummy
for i in mysql postgres db2 unixodbc openingres oraclecfo ; do \
diff --git a/master.Makefile.in b/master.Makefile.in
index 134bd1c..ce25bc6 100644
--- a/master.Makefile.in
+++ b/master.Makefile.in
@@ -42,8 +42,13 @@ OCAMLPP=-pp 'grep -v DEBUG'
MKDIR=mkdir -p
CP=cp -f
LIB=ocamlodbc.cma
-LIB_OPT=$(LIB:.cma=.cmxa)
-LIB_A=ocamlodbc.a
+ifeq ($(OCAMLOPT),no)
+ LIB_OPT=
+ LIB_A=
+else
+ LIB_OPT=$(LIB:.cma=.cmxa)
+ LIB_A=ocamlodbc.a
+endif
LIB_C=libocamlodbc.a
LIB_CMI=$(LIB:.cma=.cmi)
INSTALL_LIBDIR=$(OCAMLLIB)/ocamlodbc
@@ -116,7 +121,7 @@ OPTODBC=$($(BASE)_OPTODBC) #-D DEBUG2
# Options for compilation and link
CC = gcc
-C_COMPFLAGS= -pthread $(OPTODBC) $(ODBCINCLUDE) -I $(OCAMLLIB)
+C_COMPFLAGS= -fPIC -pthread $(OPTODBC) $(ODBCINCLUDE) -I $(OCAMLLIB)
#MYSQL_C_LINKFLAGS= -L$(ODBCLIB) -L$(ODBCLIB)/mysql
#POSTGRES_C_LINKFLAGS=-L$(ODBCLIB)
|