114 lines
4.1 KiB
Diff
114 lines
4.1 KiB
Diff
|
diff --git a/src/Makefile b/src/Makefile
|
||
|
index 84e4e88..56ca676 100644
|
||
|
--- a/src/Makefile
|
||
|
+++ b/src/Makefile
|
||
|
@@ -58,7 +58,7 @@ ifeq ($(G5),TRUE)
|
||
|
#MACHINE_SPECIFIC_FLAGS = -mpowerpc -mpowerpc64 -m64
|
||
|
endif
|
||
|
|
||
|
-CCFLAGS = -Wa,-W -O3 $(OPENMP_FLAG) -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
|
||
|
+CCFLAGS = $(CXXFLAGS) $(OPENMP_FLAG) $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS)
|
||
|
#CCFLAGS = -Wa,-W -O3 $(OPENMP_FLAG) $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
|
||
|
#CCFLAGS = -Wa,-W -O2 -fno-exceptions -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
|
||
|
|
||
|
@@ -68,12 +68,12 @@ CCFLAGS = -Wa,-W -O3 $(OPENMP_FLAG) -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MA
|
||
|
|
||
|
ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
|
||
|
#location of pari.h.
|
||
|
- LOCATION_PARI_H = /usr/local/include/pari #usual location
|
||
|
+ LOCATION_PARI_H = $(PARI_PREFIX)/include/pari #usual location
|
||
|
|
||
|
#location of libpari.a or of libpari.so
|
||
|
#depending on whether static or dynamic libraries are being used.
|
||
|
#On mac os x it's the former, on linux I think usually the latter.
|
||
|
- LOCATION_PARI_LIBRARY = /usr/local/lib #usual location
|
||
|
+ LOCATION_PARI_LIBRARY = $(PARI_PREFIX)/lib #usual location
|
||
|
else
|
||
|
#supplied as a dummy so as to avoid more ifeq's below
|
||
|
LOCATION_PARI_H = .
|
||
|
@@ -89,24 +89,24 @@ INCLUDEFILES= -I../include
|
||
|
|
||
|
ifeq ($(OS_NAME),Darwin)
|
||
|
LDFLAGS2 =
|
||
|
- DYN_OPTION=dynamiclib
|
||
|
+ DYN_OPTION=-dynamiclib
|
||
|
else
|
||
|
- LDFLAGS1 = -Xlinker -export-dynamic #not sure why pari calls these when linking but on the web I found
|
||
|
+ LDFLAGS1 = #not sure why pari calls these when linking but on the web I found
|
||
|
#'Libtool provides the `-export-dynamic' link flag (see section Link mode), which does this declaration.
|
||
|
#You need to use this flag if you are linking a shared library that will be dlopened'
|
||
|
#see notes below
|
||
|
#ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
|
||
|
- LDFLAGS2 = $(LDFLAGS1) -Xlinker -rpath -Xlinker $(LOCATION_PARI_LIBRARY)
|
||
|
+ LDFLAGS2 = $(LDFLAGS)
|
||
|
#else
|
||
|
# LDFLAGS2 = $(LDFLAGS1)
|
||
|
#endif
|
||
|
- DYN_OPTION=shared
|
||
|
+ DYN_OPTION=$(LDFLAGS) -shared -Wl,-soname,libLfunction.so
|
||
|
endif
|
||
|
|
||
|
ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
|
||
|
- LDFLAGS = $(LDFLAGS2) -L$(LOCATION_PARI_LIBRARY) -lpari
|
||
|
+ MYLDFLAGS = $(LDFLAGS2) -L$(LOCATION_PARI_LIBRARY) -lpari
|
||
|
else
|
||
|
- LDFLAGS = $(LDFLAGS2)
|
||
|
+ MYLDFLAGS = $(LDFLAGS2)
|
||
|
endif
|
||
|
|
||
|
|
||
|
@@ -129,7 +129,8 @@ endif
|
||
|
#become clear which libraries the computer can find.
|
||
|
|
||
|
|
||
|
-INSTALL_DIR= /usr/local
|
||
|
+INSTALL_DIR= $(DESTDIR)
|
||
|
+LIB_DIR ?=lib
|
||
|
|
||
|
#object files for the libLfunction library
|
||
|
OBJ_L = Lglobals.o Lgamma.o Lriemannsiegel.o Lriemannsiegel_blfi.o Ldokchitser.o
|
||
|
@@ -141,9 +142,8 @@ OBJECTS = $(OBJ3)
|
||
|
|
||
|
all:
|
||
|
# make print_vars
|
||
|
- make libLfunction.so
|
||
|
- make lcalc
|
||
|
- make examples
|
||
|
+ ${MAKE} libLfunction.so
|
||
|
+ ${MAKE} lcalc
|
||
|
# make find_L
|
||
|
# make test
|
||
|
|
||
|
@@ -151,7 +151,7 @@ print_vars:
|
||
|
@echo OS_NAME = $(OS_NAME)
|
||
|
|
||
|
lcalc: $(OBJECTS)
|
||
|
- $(CC) $(CCFLAGS) $(INCLUDEFILES) $(OBJECTS) $(LDFLAGS) -o lcalc $(GMP_FLAGS)
|
||
|
+ $(CC) $(CCFLAGS) $(INCLUDEFILES) $(OBJECTS) $(MYLDFLAGS) -o lcalc $(GMP_FLAGS)
|
||
|
|
||
|
examples:
|
||
|
$(CC) $(CCFLAGS) $(INCLUDEFILES) example_programs/example.cc libLfunction.so -o example_programs/example $(GMP_FLAGS)
|
||
|
@@ -262,15 +262,18 @@ Lcommandline.o: ../include/Lcommandline_values_zeros.h
|
||
|
|
||
|
|
||
|
libLfunction.so: $(OBJ_L)
|
||
|
- g++ -$(DYN_OPTION) -o libLfunction.so $(OBJ_L)
|
||
|
+ g++ $(DYN_OPTION) -o libLfunction.so $(OBJ_L)
|
||
|
|
||
|
clean:
|
||
|
rm -f *.o lcalc libLfunction.so example_programs/example
|
||
|
|
||
|
install:
|
||
|
- cp -f lcalc $(INSTALL_DIR)/bin/.
|
||
|
- cp -f libLfunction.so $(INSTALL_DIR)/lib/.
|
||
|
- cp -rf ../include $(INSTALL_DIR)/include/Lfunction
|
||
|
+ install -d $(INSTALL_DIR)/bin
|
||
|
+ install -d $(INSTALL_DIR)/$(LIB_DIR)
|
||
|
+ install -d $(INSTALL_DIR)/include/libLfunction
|
||
|
+ install lcalc $(INSTALL_DIR)/bin
|
||
|
+ install libLfunction.so $(INSTALL_DIR)/$(LIB_DIR)
|
||
|
+ install -m 644 -t $(INSTALL_DIR)/include/libLfunction ../include/*.h
|
||
|
|
||
|
|
||
|
SRCS = Lcommandline.cc Lcommandline_elliptic.cc Lcommandline_globals.cc Lcommandline_misc.cc Lcommandline_numbertheory.cc Lcommandline_twist.cc Lcommandline_values_zeros.cc Lgamma.cc Lglobals.cc Lmisc.cc Lriemannsiegel.cc Lriemannsiegel_blfi.cc cmdline.c
|