summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2002-12-15 05:59:13 +0000
committerRichard Levitte <levitte@openssl.org>2002-12-15 05:59:13 +0000
commit30c08f2e3d7f7dca254d8341cdecc7ad37a9f62a (patch)
tree754dd66390b2ace7cadd1b27c7aaa62d8a93a997
parent9f100cf3441a56bdb4404bf5cc9747085e2c53a0 (diff)
Update the make system for installations:
- define a HERE variable to indicate where the source tree is (used very little right now) - make more use of copying and making attribute changes to {file}.new, and then move it to {file} - use 'mv -f' to avoid all those questions to the user when the file in question doesn't have write attributes for that user.
-rw-r--r--Makefile.org17
-rw-r--r--apps/Makefile.ssl15
-rw-r--r--engines/Makefile.ssl2
-rw-r--r--tools/Makefile.ssl10
4 files changed, 27 insertions, 17 deletions
diff --git a/Makefile.org b/Makefile.org
index 5954940fed..a3ae233aca 100644
--- a/Makefile.org
+++ b/Makefile.org
@@ -15,6 +15,11 @@ OPTIONS=
CONFIGURE_ARGS=
SHLIB_TARGET=
+# HERE indicates where this Makefile lives. This can be used to indicate
+# where sub-Makefiles are expected to be. Currently has very limited usage,
+# and should probably not be bothered with at all.
+HERE=.
+
# INSTALL_PREFIX is for package builders so that they can configure
# for, say, /usr/ and yet have everything installed to /tmp/somedir/usr/.
# Normally it is left empty.
@@ -257,7 +262,7 @@ clean-shared:
link-shared:
@ for i in ${SHLIBDIRS}; do \
- $(NEWMAKE) -f Makefile.shared \
+ $(NEWMAKE) -f $(HERE)/Makefile.shared \
LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
symlink.$(SHLIB_TARGET); \
@@ -496,7 +501,7 @@ install: all install_docs
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
$(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
- mv $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \
fi; \
done;
@if [ -n "$(SHARED_LIBS)" ]; then \
@@ -508,21 +513,21 @@ install: all install_docs
if [ "$(PLATFORM)" != "Cygwin" ]; then \
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
- mv $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
else \
c=`echo $$i | sed 's/^lib/cyg/'`; \
cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
- mv $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
cp $$i.a $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new; \
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new; \
- mv $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a; \
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a; \
fi ); \
fi; \
done; \
( here="`pwd`"; \
cd $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
- $(NEWMAKE) -f $$here/Makefile link-shared ); \
+ $(NEWMAKE) -f $$here/Makefile HERE="$$here" link-shared ); \
fi
cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkginfo
diff --git a/apps/Makefile.ssl b/apps/Makefile.ssl
index 1908f8dd34..78192363c4 100644
--- a/apps/Makefile.ssl
+++ b/apps/Makefile.ssl
@@ -99,17 +99,20 @@ install:
@for i in $(EXE); \
do \
(echo installing $$i; \
- cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i; \
- chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \
+ cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
+ chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \
done;
@for i in $(SCRIPTS); \
do \
(echo installing $$i; \
- cp $$i $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i; \
- chmod 755 $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i ); \
+ cp $$i $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \
+ chmod 755 $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/misc/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/misc/$$i ); \
done
- @cp openssl.cnf $(INSTALL_PREFIX)$(OPENSSLDIR); \
- chmod 644 $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf
+ @cp openssl.cnf $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new; \
+ chmod 644 $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new; \
+ mv -f $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf
tags:
ctags $(SRC)
diff --git a/engines/Makefile.ssl b/engines/Makefile.ssl
index fe0690622e..010d74b763 100644
--- a/engines/Makefile.ssl
+++ b/engines/Makefile.ssl
@@ -95,7 +95,7 @@ install:
( echo installing $$l; \
cp lib$$l.so $(INSTALL_PREFIX)$(OPENSSLDIR)/engines/lib$$l.so.new; \
chmod 555 $(INSTALL_PREFIX)$(OPENSSLDIR)/engines/lib$$l.so.new; \
- mv $(INSTALL_PREFIX)$(OPENSSLDIR)/engines/lib$$l.so.new $(INSTALL_PREFIX)$(OPENSSLDIR)/engines/lib$$l.so ); \
+ mv -f $(INSTALL_PREFIX)$(OPENSSLDIR)/engines/lib$$l.so.new $(INSTALL_PREFIX)$(OPENSSLDIR)/engines/lib$$l.so ); \
done; \
fi
diff --git a/tools/Makefile.ssl b/tools/Makefile.ssl
index b46ea44f6a..832b744375 100644
--- a/tools/Makefile.ssl
+++ b/tools/Makefile.ssl
@@ -27,13 +27,15 @@ all:
install:
@for i in $(APPS) ; \
do \
- (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i; \
- chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \
+ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
+ chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \
done;
@for i in $(MISC_APPS) ; \
do \
- (cp $$i $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i; \
- chmod 755 $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i ); \
+ (cp $$i $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \
+ chmod 755 $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/misc/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/misc/$$i ); \
done;
files: