Commit e28c803e87c86f13abcbe329bf16b27551a2d4a2

Steffen Jaeckel 2013-04-18T16:36:43

Fix makefile.shared as proposed in gentoo bug report #376643 c.f. https://bugs.gentoo.org/show_bug.cgi?id=376643

diff --git a/makefile.shared b/makefile.shared
index f17bbbd..1611dba 100644
--- a/makefile.shared
+++ b/makefile.shared
@@ -3,16 +3,17 @@
 #Tom St Denis
 VERSION=0:41
 
-CC = libtool --mode=compile --tag=CC gcc
+LT	?= libtool
+LTCOMPILE = $(LT) --mode=compile --tag=CC $(CC)
 
 CFLAGS  +=  -I./ -Wall -W -Wshadow -Wsign-compare
 
 ifndef IGNORE_SPEED
 
-#for speed 
+#for speed
 CFLAGS += -O3 -funroll-loops
 
-#for size 
+#for size
 #CFLAGS += -Os
 
 #x86 optimizations [should be valid for any GCC install though]
@@ -82,21 +83,24 @@ bn_mp_to_signed_bin_n.o bn_mp_to_unsigned_bin_n.o
 
 objs: $(OBJECTS)
 
+.c.o:
+	$(LTCOMPILE) $(CFLAGS) $(LDFLAGS) -o $@ -c $<
+
 $(LIBNAME):  $(OBJECTS)
-	libtool --mode=link gcc *.lo -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION)
+	$(LT) --mode=link --tag=CC $(CC) $(LDFLAGS) *.lo -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION)
 
 install: $(LIBNAME)
-	install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(LIBPATH)
-	libtool --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME)
-	install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(INCPATH)
-	install -g $(GROUP) -o $(USER) $(HEADERS) $(DESTDIR)$(INCPATH)
+	install -d $(DESTDIR)$(LIBPATH)
+	$(LT) --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME)
+	install -d $(DESTDIR)$(INCPATH)
+	install -m 644 $(HEADERS) $(DESTDIR)$(INCPATH)
 
 test: $(LIBNAME) demo/demo.o
-	gcc $(CFLAGS) -c demo/demo.c -o demo/demo.o
-	libtool --mode=link gcc -o test demo/demo.o $(LIBNAME_S)
+	$(CC) $(CFLAGS) -c demo/demo.c -o demo/demo.o
+	$(LT) --mode=link $(CC) $(LDFLAGS) -o test demo/demo.o $(LIBNAME_S)
 	
 mtest: test	
-	cd mtest ; gcc $(CFLAGS) mtest.c -o mtest
-        
+	cd mtest ; $(CC) $(CFLAGS) $(LDFLAGS) mtest.c -o mtest
+
 timing: $(LIBNAME)
-	gcc $(CFLAGS) -DTIMER demo/timing.c $(LIBNAME_S) -o ltmtest
+	$(LT) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -DTIMER demo/timing.c $(LIBNAME_S) -o ltmtest