$NetBSD: patch-aa,v 1.5 2003/03/02 09:04:04 jtb Exp $ --- makefile.orig Tue Dec 17 15:43:30 2002 +++ makefile @@ -7,7 +7,7 @@ ############################################################### -CC=gcc +#CC=gcc # A C or C++ compiler, e. g., gcc, cc, xlc. # There are a few components written in C which may be compiled # under C++, but C compilers tend to generate slightly better code. @@ -15,11 +15,11 @@ CC=gcc # compatible code. -CXX=g++ +#CXX=g++ # A C++ compiler, e.g., g++, CC, xlC -CFLAGS=-O2 +#CFLAGS=-O2 # Flags for the C compiler # Some useful flags: # -O2 -- recommended level of optimization @@ -31,7 +31,7 @@ CFLAGS=-O2 -CXXFLAGS=$(CFLAGS) +#CXXFLAGS=$(CFLAGS) # Flags for the C++ compiler (usually the same as CFLAGS) # Some useful flags: # -+ -- needed with xlC to make it treat .c files as C++ files @@ -40,16 +40,16 @@ CXXFLAGS=$(CFLAGS) # The defaults should almost always be OK. -AR=ar +#AR=ar # command to make a library -ARFLAGS=ruv +#ARFLAGS=ruv # arguments for AR -RANLIB=ranlib +#RANLIB=ranlib # set to echo if you want to disable it completely -LDFLAGS= +#LDFLAGS= # arguments for linker for C++ programs LDFLAGS_CXX=$(LDFLAGS) @@ -61,13 +61,13 @@ LDLIBS=-lm LDLIBS_CXX=$(LDLIBS) # libraries for linking C++ programs -CPPFLAGS= +#CPPFLAGS= # arguments for the C preprocessor -PREFIX=/usr/local +#PREFIX=/usr/local LIBDIR=$(PREFIX)/lib INCLUDEDIR=$(PREFIX)/include -DOCDIR=$(PREFIX)/doc +DOCDIR=$(PREFIX)/share/doc # where to install NTL ############################################################### @@ -87,15 +87,15 @@ DOCDIR=$(PREFIX)/doc ############################################################### -GMP_INCDIR= +GMP_INCDIR= -I${BUILDLINK_PREFIX.gmp}/include # Set to -I if using GMP and GMP # is not installed in a standard system directory, empty otherwise -GMP_LIBDIR= +GMP_LIBDIR= -Wl,-R${BUILDLINK_PREFIX.gmp}/lib -L${BUILDLINK_PREFIX.gmp}/lib # Set to -L if using GMP and GMP # is not installed in a standard system directory, empty otherwise -GMP_LIB= +GMP_LIB= -lgmp # Set to -lgmp if using GMP, empty otherwise ############################################################### @@ -147,7 +147,7 @@ OBJ=$(O19) S01=FFT.c FacVec.c GF2.c GF2E.c GF2EX.c GF2EXFactoring.c GF2X.c GF2X1.c S02=$(S01) GF2XFactoring.c GF2XVec.c HNF.c ctools.c LLL.c LLL_FP.c LLL_QP.c S03=$(S02) LLL_RR.c LLL_XD.c RR.c WordVector.c ZZ.c ZZVec.c ZZX.c ZZX1.c -S04=$(S03) ZZXCharPoly.c ZZXFactoring.c ZZ_p.c ZZ_pE.c ZZ_pEX.c +S04=$(S03) ZZXCharPoly.c ZZXFactoring.c ZZ_p.c ZZ_pE.c ZZ_pEX.c S05=$(S04) ZZ_pEXFactoring.c ZZ_pX.c ZZ_pX1.c ZZ_pXCharPoly.c S06=$(S05) ZZ_pXFactoring.c fileio.c lip.c lzz_p.c lzz_pE.c lzz_pEX.c S07=$(S06) lzz_pEXFactoring.c lzz_pX.c lzz_pX1.c @@ -162,8 +162,8 @@ S15=$(S14) vec_long.c vec_lzz_p.c vec_lz S16=$(S15) vec_vec_GF2.c vec_vec_GF2E.c vec_vec_RR.c vec_vec_ZZ.c S17=$(S16) vec_vec_ZZ_p.c vec_vec_ZZ_pE.c vec_vec_long.c vec_vec_lzz_p.c S18=$(S17) vec_vec_lzz_pE.c vec_xdouble.c xdouble.c -S19=$(S18) G_LLL_FP.c G_LLL_QP.c G_LLL_XD.c G_LLL_RR.c -S20=$(S19) vec_ulong.c vec_vec_ulong.c +S19=$(S18) G_LLL_FP.c G_LLL_QP.c G_LLL_XD.c G_LLL_RR.c +S20=$(S19) vec_ulong.c vec_vec_ulong.c SRC = $(S20) @@ -178,7 +178,7 @@ SINC = c_lip_impl.h g_lip_impl.h # library header files IN01= FFT.h FacVec.h GF2.h GF2E.h GF2EX.h GF2EXFactoring.h GF2X.h -IN02=$(IN01) GF2XFactoring.h GF2XVec.h HNF.h ctools.h LLL.h +IN02=$(IN01) GF2XFactoring.h GF2XVec.h HNF.h ctools.h LLL.h IN03=$(IN02) RR.h WordVector.h ZZ.h ZZVec.h ZZX.h ZZXFactoring.h ZZ_p.h IN04=$(IN03) ZZ_pE.h ZZ_pEX.h ZZ_pEXFactoring.h ZZ_pX.h ZZ_pXFactoring.h IN05=$(IN04) fileio.h lip.h lzz_p.h lzz_pE.h lzz_pEX.h lzz_pEXFactoring.h @@ -202,9 +202,9 @@ INCL=$(IN18) # test data -TD1=BerlekampTestIn BerlekampTestOut CanZassTestIn CanZassTestOut -TD2=$(TD1) ZZXFacTestIn ZZXFacTestOut MoreFacTestIn LLLTestIn LLLTestOut RRTestIn RRTestOut -TD3=$(TD2) MatrixTestIn MatrixTestOut CharPolyTestIn +TD1=BerlekampTestIn BerlekampTestOut CanZassTestIn CanZassTestOut +TD2=$(TD1) ZZXFacTestIn ZZXFacTestOut MoreFacTestIn LLLTestIn LLLTestOut RRTestIn RRTestOut +TD3=$(TD2) MatrixTestIn MatrixTestOut CharPolyTestIn TD4=$(TD3) CharPolyTestOut QuadTestIn QuadTestOut TD = $(TD4) @@ -260,15 +260,15 @@ DOC = $(D18) # test program executables PROG1=QuickTest BerlekampTest CanZassTest ZZXFacTest MoreFacTest LLLTest BitMatTest -PROG2=$(PROG1) MatrixTest CharPolyTest RRTest QuadTest +PROG2=$(PROG1) MatrixTest CharPolyTest RRTest QuadTest PROG3=$(PROG2) GF2EXTest subset ZZ_pEXTest lzz_pEXTest PROGS = $(PROG3) # things to save to a tar file -SFI1=makefile $(SRC) $(SINC) $(SCRIPTS) $(MD) $(GT) $(TS) $(TD) mach_desc.win +SFI1=makefile $(SRC) $(SINC) $(SCRIPTS) $(MD) $(GT) $(TS) $(TD) mach_desc.win SFI2=$(SFI1) MulTimeTest.c PolyTimeTest.c clr_AVOID_BRANCHING clr_AVOID_FLOAT -SFI3=$(SFI2) clr_FFT_PIPELINE clr_LONG_LONG clr_TBL_REM clr_WIZARD_HACK +SFI3=$(SFI2) clr_FFT_PIPELINE clr_LONG_LONG clr_TBL_REM clr_WIZARD_HACK SFI4=$(SFI3) InitSettings.c mul_banner poly_banner set_AVOID_BRANCHING set_AVOID_FLOAT SFI5=$(SFI4) set_FFT_PIPELINE set_LONG_LONG set_TBL_REM set_WIZARD_HACK SFI6=$(SFI5) WizComp.c DispSettings.c config_template WizardAux Wizard def_makefile @@ -285,11 +285,11 @@ SFILES=$(SFI6) NTL_INCLUDE = -I../include -I. # NTL needs this to find its include files -COMPILE = $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) -c -COMPILE_CXX = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) -c +COMPILE = $(LIBTOOL) $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) -c +COMPILE_CXX = $(LIBTOOL) $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) -c -LINK = $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -LINK_CXX = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS_CXX) +LINK = $(LIBTOOL) $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) +LINK_CXX = $(LIBTOOL) $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS_CXX) @@ -298,14 +298,14 @@ all: make setup2 make setup3 make setup4 - make ntl.a + make libntl.la # setup1 generates the file ../incluse/NTL/mach_desc.h setup1: $(COMPILE) MakeDescAux.c - $(LINK) -o MakeDesc MakeDesc.c MakeDescAux.o $(LDLIBS) + $(LINK) -o MakeDesc MakeDesc.c MakeDescAux.lo $(LDLIBS) ./MakeDesc mv mach_desc.h ../include/NTL/mach_desc.h @@ -332,9 +332,10 @@ setup4: sh Wizard $(WIZARD) -ntl.a: $(OBJ) - $(AR) $(ARFLAGS) ntl.a $(OBJ) - - $(RANLIB) ntl.a +libntl.la: $(OBJ) + $(LIBTOOL) $(CC) -o libntl.la $(OBJ:.o=.lo) \ + $(GMP_LIBDIR) $(GMP_LIB) -rpath $(LIBDIR) \ + -version-info 0:1 lip.o: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h $(COMPILE) $(GMP_INCDIR) lip.c @@ -343,15 +344,15 @@ ctools.o: ctools.c $(COMPILE) ctools.c -GetTime.o: GetTime.c +GetTime.o: GetTime.c $(COMPILE) GetTime.c -.c.o: +.c.o: $(COMPILE_CXX) $< -.c: - $(LINK_CXX) -o $@ $< ntl.a $(GMP_LIBDIR) $(GMP_LIB) $(LDLIBS_CXX) +.c: + $(LINK_CXX) -o $@ $< libntl.la $(GMP_LIBDIR) $(GMP_LIB) $(LDLIBS_CXX) ################################################################# # @@ -372,25 +373,20 @@ check: # make install just does a simple copy of the include file # and library # make uninstall removes these files -# +# ################################################################# install: - mkdir -p $(LIBDIR) - cp ntl.a $(LIBDIR)/libntl.a - mkdir -p $(INCLUDEDIR) - - rm -r $(INCLUDEDIR)/NTL - mkdir $(INCLUDEDIR)/NTL - cp ../include/NTL/*.h $(INCLUDEDIR)/NTL - mkdir -p $(DOCDIR) - - rm -r $(DOCDIR)/NTL - mkdir $(DOCDIR)/NTL - cp ../doc/*.txt $(DOCDIR)/NTL - cp ../doc/*.html $(DOCDIR)/NTL - cp ../doc/*.gif $(DOCDIR)/NTL + $(LIBTOOL) $(BSD_INSTALL_DATA) libntl.la $(LIBDIR) + $(BSD_INSTALL_DATA_DIR) $(INCLUDEDIR)/NTL + $(BSD_INSTALL_DATA) ../include/NTL/*.h $(INCLUDEDIR)/NTL + $(BSD_INSTALL_DATA_DIR) $(DOCDIR)/NTL + $(BSD_INSTALL_DATA) ../doc/*.txt $(DOCDIR)/NTL + $(BSD_INSTALL_DATA) ../doc/*.html $(DOCDIR)/NTL + uninstall: @@ -409,17 +405,17 @@ uninstall: # ################################################################# -clobber: - - rm ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c - - rm lip_gmp_aux_impl.h ../include/NTL/gmp_aux.h +clobber: + - rm -fr libntl.la .libs mach_desc.h ../include/NTL/mach_desc.h GetTime.c + - rm -f lip_gmp_aux_impl.h ../include/NTL/gmp_aux.h - sh RemoveProg $(PROGS) MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux - - rm *.o - - rm -r small + - rm -f *.o *.lo + - rm -fr small clean: - - rm *.o + - rm -f *.o *.lo - sh RemoveProg MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux - - rm -r small + - rm -fr small ################################################################# # @@ -436,7 +432,7 @@ DIRNAME=ntl-5.3.1 WINDIR=WinNTL-5_3_1 package: - sh unixify "$(SFILES)" "$(INCL)" "$(DOC)" + sh unixify "$(SFILES)" "$(INCL)" "$(DOC)" -rm -r $(DIRNAME) mv unix $(DIRNAME) chmod -R a+rX $(DIRNAME) @@ -467,17 +463,17 @@ WO2 = $(WO1) ZZ_pX1.o lip.o tools.o vec_ WOBJ = $(WO2) -wntl.a: $(WOBJ) - $(AR) $(ARFLAGS) wntl.a $(WOBJ) - - $(RANLIB) wntl.a +libwntl.la: $(WOBJ) + $(LIBTOOL) $(CC) -o libwntl.la $(WOBJ:.o=.lo) -rpath $(LIBDIR) \ + -version-info 0:0 MulTimeTest: - $(LINK_CXX) -o MulTimeTest MulTimeTest.c wntl.a $(GMP_LIBDIR) $(GMP_LIB) $(LDLIBS_CXX) + $(LINK_CXX) -o MulTimeTest MulTimeTest.c libwntl.la $(GMP_LIBDIR) $(GMP_LIB) $(LDLIBS_CXX) PolyTimeTest: - $(LINK_CXX) -o PolyTimeTest PolyTimeTest.c wntl.a $(GMP_LIBDIR) $(GMP_LIB) $(LDLIBS_CXX) + $(LINK_CXX) -o PolyTimeTest PolyTimeTest.c libwntl.la $(GMP_LIBDIR) $(GMP_LIB) $(LDLIBS_CXX) InitSettings: $(LINK_CXX) -o InitSettings InitSettings.c $(LDLIBS_CXX)