From ac6a61ed391ae9dd140b8043ea199c6e5047fdb9 Mon Sep 17 00:00:00 2001 From: weidai Date: Mon, 19 Sep 2011 01:37:29 +0000 Subject: [PATCH] From Jeff Walton: * added 'static' and 'dynamic' targets * added libcryptopp.so to cleanup * continue install/cleanup on error * force cryptest.exe to link with static library --- GNUmakefile | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index e6640843..93e3d893 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -132,19 +132,27 @@ TESTIMPORTOBJS = $(TESTOBJS:.o=.import.o) DLLTESTOBJS = dlltest.dllonly.o all: cryptest.exe +static: libcryptopp.a +dynamic: libcryptopp.so test: cryptest.exe ./cryptest.exe v clean: - $(RM) cryptest.exe libcryptopp.a $(LIBOBJS) $(TESTOBJS) cryptopp.dll libcryptopp.dll.a libcryptopp.import.a cryptest.import.exe dlltest.exe $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS) + -$(RM) cryptest.exe libcryptopp.a libcryptopp.so $(LIBOBJS) $(TESTOBJS) cryptopp.dll libcryptopp.dll.a libcryptopp.import.a cryptest.import.exe dlltest.exe $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTI MPORTOBJS) $(DLLTESTOBJS) -install: +install: static dynamic cryptest.exe $(MKDIR) -p $(PREFIX)/include/cryptopp $(PREFIX)/lib $(PREFIX)/bin - $(CP) *.h $(PREFIX)/include/cryptopp - $(CP) *.a $(PREFIX)/lib - $(CP) *.so $(PREFIX)/lib - $(CP) *.exe $(PREFIX)/bin + -$(CP) *.h $(PREFIX)/include/cryptopp + -$(CP) *.a $(PREFIX)/lib + -$(CP) *.so $(PREFIX)/lib + -$(CP) *.exe $(PREFIX)/bin + +remove: + -$(RM) -rf $(PREFIX)/include/cryptopp + -$(RM) $(PREFIX)/lib/libcryptopp.a + -$(RM) $(PREFIX)/lib/libcryptopp.so + -$(RM) $(PREFIX)/bin/cryptest.exe libcryptopp.a: $(LIBOBJS) $(AR) $(ARFLAGS) $@ $(LIBOBJS) @@ -154,7 +162,7 @@ libcryptopp.so: $(LIBOBJS) $(CXX) -shared -o $@ $(LIBOBJS) cryptest.exe: libcryptopp.a $(TESTOBJS) - $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) -L. -lcryptopp $(LDFLAGS) $(LDLIBS) + $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) ./libcryptopp.a $(LDFLAGS) $(LDLIBS) nolib: $(OBJS) # makes it faster to test changes $(CXX) -o ct $(CXXFLAGS) $(OBJS) $(LDFLAGS) $(LDLIBS)