From 58b1675f1fd7d84e6eeba00f3b29506f5838ddb6 Mon Sep 17 00:00:00 2001
From: Julien Signoles <julien.signoles@cea.fr>
Date: Thu, 7 Apr 2016 12:56:48 +0200
Subject: [PATCH] [Makefile] fix 'make install' when E-ACSL is
 compiled/installed within Frama-C

---
 src/plugins/e-acsl/Makefile.in   | 75 ++++++++++++++++----------------
 src/plugins/e-acsl/doc/Changelog |  1 +
 2 files changed, 39 insertions(+), 37 deletions(-)

diff --git a/src/plugins/e-acsl/Makefile.in b/src/plugins/e-acsl/Makefile.in
index 3ab581c387b..2187b849898 100644
--- a/src/plugins/e-acsl/Makefile.in
+++ b/src/plugins/e-acsl/Makefile.in
@@ -130,43 +130,6 @@ clean::
 	$(RM) $(E_ACSL_DIR)/tests/test_config
 	$(RM) $(E_ACSL_DIR)/doc/doxygen/html/*
 
-###########
-# Install #
-###########
-
-install::
-	$(PRINT_INSTALL) E-ACSL share files
-	$(MKDIR) $(FRAMAC_SHARE)/e-acsl
-	$(CP) $(E_ACSL_DIR)/share/e-acsl/*.[ch] $(FRAMAC_SHARE)/e-acsl
-	$(MKDIR) $(FRAMAC_SHARE)/e-acsl/bittree_model $(FRAMAC_SHARE)/e-acsl/glibc
-	$(CP) $(E_ACSL_DIR)/share/e-acsl/bittree_model/* \
-		$(FRAMAC_SHARE)/e-acsl/bittree_model
-	$(CP) $(E_ACSL_DIR)/share/e-acsl/glibc/* $(FRAMAC_SHARE)/e-acsl/glibc
-	$(PRINT_INSTALL) E-ACSL manuals
-	$(MKDIR) $(FRAMAC_SHARE)/manuals
-	$(CP) $(E_ACSL_DIR)/doc/manuals/e-acsl.pdf \
-	      $(E_ACSL_DIR)/doc/manuals/e-acsl-implementation.pdf \
-	      $(E_ACSL_DIR)/doc/manuals/e-acsl-manual.pdf \
-		$(FRAMAC_SHARE)/manuals
-	$(PRINT_INSTALL) E-ACSL scripts
-	$(MKDIR) $(BINDIR)
-	$(CP) $(E_ACSL_DIR)/scripts/e-acsl-gcc.sh $(BINDIR)/
-	$(PRINT_INSTALL) E-ACSL man pages
-	$(MKDIR) $(MANDIR)/man1
-	$(CP) $(E_ACSL_DIR)/man/e-acsl-gcc.sh.1 $(MANDIR)/man1/
-
-uninstall::
-	$(PRINT_RM) E-ACSL share files
-	$(RM) -r $(FRAMAC_SHARE)/e-acsl
-	$(PRINT_RM) E-ACSL manuals
-	$(RM) $(FRAMAC_SHARE)/manuals/e-acsl.pdf \
-	      $(FRAMAC_SHARE)/manuals/e-acsl-implementation.pdf \
-	      $(FRAMAC_SHARE)/manuals/e-acsl-manual.pdf
-	$(PRINT_RM) E-ACSL scripts
-	$(RM) $(BINDIR)/e-acsl-gcc.sh
-	$(PRINT_RM) man pages
-	$(RM) $(MANDIR)/man1/e-acsl-gcc.sh.1
-
 ################################
 # Building source distribution #
 ################################
@@ -252,6 +215,44 @@ headers::
 
 include $(FRAMAC_SHARE)/Makefile.dynamic
 
+###########
+# Install #
+###########
+
+install::
+	$(PRINT_INSTALL) E-ACSL share files
+	$(MKDIR) $(FRAMAC_DATADIR)/e-acsl
+	$(CP) $(E_ACSL_DIR)/share/e-acsl/*.[ch] $(FRAMAC_DATADIR)/e-acsl
+	$(MKDIR) $(FRAMAC_DATADIR)/e-acsl/bittree_model \
+		 $(FRAMAC_DATADIR)/e-acsl/glibc
+	$(CP) $(E_ACSL_DIR)/share/e-acsl/bittree_model/* \
+		$(FRAMAC_DATADIR)/e-acsl/bittree_model
+	$(CP) $(E_ACSL_DIR)/share/e-acsl/glibc/* $(FRAMAC_DATADIR)/e-acsl/glibc
+	$(PRINT_INSTALL) E-ACSL manuals
+	$(MKDIR) $(FRAMAC_DATADIR)/manuals
+	$(CP) $(E_ACSL_DIR)/doc/manuals/e-acsl.pdf \
+	      $(E_ACSL_DIR)/doc/manuals/e-acsl-implementation.pdf \
+	      $(E_ACSL_DIR)/doc/manuals/e-acsl-manual.pdf \
+		$(FRAMAC_DATADIR)/manuals
+	$(PRINT_INSTALL) E-ACSL scripts
+	$(MKDIR) $(BINDIR)
+	$(CP) $(E_ACSL_DIR)/scripts/e-acsl-gcc.sh $(BINDIR)/
+	$(PRINT_INSTALL) E-ACSL man pages
+	$(MKDIR) $(MANDIR)/man1
+	$(CP) $(E_ACSL_DIR)/man/e-acsl-gcc.sh.1 $(MANDIR)/man1/
+
+uninstall::
+	$(PRINT_RM) E-ACSL share files
+	$(RM) -r $(FRAMAC_DATADIR)/e-acsl
+	$(PRINT_RM) E-ACSL manuals
+	$(RM) $(FRAMAC_DATADIR)/manuals/e-acsl.pdf \
+	      $(FRAMAC_DATADIR)/manuals/e-acsl-implementation.pdf \
+	      $(FRAMAC_DATADIR)/manuals/e-acsl-manual.pdf
+	$(PRINT_RM) E-ACSL scripts
+	$(RM) $(BINDIR)/e-acsl-gcc.sh
+	$(PRINT_RM) man pages
+	$(RM) $(MANDIR)/man1/e-acsl-gcc.sh.1
+
 ####################
 # Testing (part 2) #
 ####################
diff --git a/src/plugins/e-acsl/doc/Changelog b/src/plugins/e-acsl/doc/Changelog
index 4e37d622083..bbcf33e43af 100644
--- a/src/plugins/e-acsl/doc/Changelog
+++ b/src/plugins/e-acsl/doc/Changelog
@@ -15,6 +15,7 @@
 #   E-ACSL: the Whole E-ACSL plug-in
 ###############################################################################
 
+-* E-ACSL       [2016/04/07] Fix 'make install' when executed within Frama-C.
 -* E-ACSL       [2016/03/31] Improve performance of Patricia Trie memory model.
 -* E-ACSL       [2016/02/25] Fix 'make clean' in tests.
 -* E-ACSL       [2016/01/15] Fix several bugs related to incorrect partial
-- 
GitLab