From: =?utf-8?q?Picca_Fr=C3=A9d=C3=A9ric-Emmanuel?= <picca@debian.org>
Date: Thu, 16 Apr 2020 13:05:17 +0200
Subject: makefile-fix: Allow disabling libimg and libfcb builds.

Setting variables NOLIBIMG and NOFORTRAN to 'yes' will disable
building of libimg and libcb, respectively.

# Conflicts:
#	Makefile
---
 Makefile | 95 +++++++++++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 64 insertions(+), 31 deletions(-)

diff --git a/Makefile b/Makefile
index ffa879a..caa5fc5 100644
--- a/Makefile
+++ b/Makefile
@@ -601,8 +601,25 @@ EXTRALIBS = -lm
 M4FLAGS = -Dfcb_bytes_in_rec=131072
 TIME = time
 
-ifneq ($(NOFORTRAN),)
+# Set NOLIBIMG = yes to disable libimg build
+NOLIBIMG ?=
+ifeq ($(NOLIBIMG),yes)
+LIBIMG_A =
+LIBIMG_SO =
+else
+LIBIMG_A = $(LIB)/libimg.a
+LIBIMG_SO = $(SOLIB)/libimg.so
+endif
+
+# Set NOFORTRAN = yes to disable libfcb build
+NOFORTRAN ?=
+ifeq ($(NOFORTRAN),yes)
 F90C =
+LIBFCB_A =
+LIBFCB_SO =
+else
+LIBFCB_A = $(LIB)/libfcb.a
+LIBFCB_SO = $(SOLIB)/libfcb.so
 endif
 
 #
@@ -920,8 +937,8 @@ all::	$(BIN) $(SOURCE) $(F90SOURCE) $(HEADERS) \
 	$(REGEXDEP)           \
 	$(LIB)                \
 	$(LIB)/libcbf.a       \
-	$(LIB)/libfcb.a       \
-	$(LIB)/libimg.a       \
+	$(LIBFCB_A)           \
+	$(LIBIMG_A)	      \
 	$(BIN)/adscimg2cbf    \
 	$(BIN)/arvai_test     \
 	$(BIN)/cbf2adscimg    \
@@ -953,7 +970,7 @@ all::	$(BIN)/test_xds_binary   \
 	$(BIN)/test_fcb_read_image
 endif
 
-shared:	$(SOLIB)/libcbf.so $(SOLIB)/libfcb.so $(SOLIB)/libimg.so
+shared:	$(SOLIB)/libcbf.so $(LIBFCB_SO) $(LIBIMG_SO)
 
 javawrapper: shared $(JCBF) $(JCBF)/cbflib-$(VERSION).jar $(SOLIB)/libcbf_wrap.so
 
@@ -1073,28 +1090,39 @@ userinstall: baseinstall \
 baseinstall:  all $(CBF_PREFIX) $(CBF_PREFIX)/$(INSTALL_LIB) $(CBF_PREFIX)/bin \
 	$(CBF_PREFIX)/include $(CBF_PREFIX)/include/cbflib \
 	$(PYSOURCE) shared $(EXAMPLES)/batch_convert_minicbf.sh \
-	$(LIB)/libcbf.a $(LIB)/libimg.a $(LIB)/libfcb.a \
-	$(SOLIB)/libcbf.so $(SOLIB)/libimg.so $(SOLIB)/libfcb.so
-	-chmod -R 755 $(CBF_PREFIX)/include/cbflib
+	$(LIB)/libcbf.a $(LIBIMG_A) $(LIBFCB_A) \
+	$(SOLIB)/libcbf.so $(LIBIMG_SO) $(LIBFCB_SO)
+	#
+	# libcbf
+	#
 	-chmod 755 $(CBF_PREFIX)/$(INSTALL_LIB)/libcbf.a
 	-cp $(CBF_PREFIX)/$(INSTALL_LIB)/libcbf.a $(CBF_PREFIX)/$(INSTALL_LIB)/libcbf_old.a
 	cp $(LIB)/libcbf.a $(CBF_PREFIX)/$(INSTALL_LIB)/libcbf.a
-	-chmod 755 $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.a
-	-cp $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.a $(CBF_PREFIX)/$(INSTALL_LIB)/libimg_old.a
-	cp $(LIB)/libimg.a $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.a
-	-chmod 755 $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb.a
-	-cp $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb.a $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb_old.a
-	cp $(LIB)/libfcb.a $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb.a
 	#-chmod 755 $(CBF_PREFIX)/$(INSTALL_LIB)/libcbf.so
 	#-cp $(CBF_PREFIX)/$(INSTALL_LIB)/libcbf.so $(CBF_PREFIX)/$(INSTALL_LIB)/libcbf_old.so
 	cp $(SOLIB)/libcbf.so $(CBF_PREFIX)/$(INSTALL_LIB)/$(SOVERSION)
 	ln -s -r -f $(CBF_PREFIX)/$(INSTALL_LIB)/$(SOVERSION) $(CBF_PREFIX)/$(INSTALL_LIB)/$(SONAME)
 	ln -s -r -f $(CBF_PREFIX)/$(INSTALL_LIB)/$(SOVERSION) $(CBF_PREFIX)/$(INSTALL_LIB)/libcbf.so
 	#$(LN) $(CBF_PREFIX)/$(INSTALL_LIB)/libcbf.so $(CBF_PREFIX)/$(INSTALL_LIB)/lib_cbf.so
-	-chmod 755 $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.so
-	-cp $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.so $(CBF_PREFIX)/$(INSTALL_LIB)/libimg_old.so
-	cp $(SOLIB)/libimg.so $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.so
-	$(LN) $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.so $(CBF_PREFIX)/$(INSTALL_LIB)/lib_img.so
+	chmod 644 $(CBF_PREFIX)/$(INSTALL_LIB)/libcbf.a
+	chmod 755 $(CBF_PREFIX)/$(INSTALL_LIB)/libcbf.so
+	#
+	# includes
+	#
+	-chmod -R 755 $(CBF_PREFIX)/include/cbflib
+	chmod -R 755 $(CBF_PREFIX)/include/cbflib
+	-rm -rf $(CBF_PREFIX)/include/cbflib_old
+	-cp -r $(CBF_PREFIX)/include/cbflib $(CBF_PREFIX)/include/cbflib_old
+	-rm -rf $(CBF_PREFIX)/include/cbflib
+	cp -r $(INCLUDE) $(CBF_PREFIX)/include/cbflib
+	chmod 644 $(CBF_PREFIX)/include/cbflib/*.h
+	#
+	# libfcb
+	#
+ifneq ($(NOFORTRAN),yes)
+	-chmod 755 $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb.a
+	-cp $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb.a $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb_old.a
+	cp $(LIB)/libfcb.a $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb.a
 	-chmod 755 $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb.so
 	-cp $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb.so $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb_old.so
 	cp $(SOLIB)/libfcb.so $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb.so
@@ -1103,6 +1131,23 @@ baseinstall:  all $(CBF_PREFIX) $(CBF_PREFIX)/$(INSTALL_LIB) $(CBF_PREFIX)/bin \
 	echo  "$(RUNLDPREFIX)" > $(CBF_PREFIX)/bin/cbflib.ini
 	echo  "HDF5_PLUGIN_PATH=$(CBF_PREFIX)/lib:$$HDF5_PLUGIN_PATH" >> $(CBF_PREFIX)/bin/cbflib.ini
 	echo  "export HDF5_PLUGIN_PATH" >> $(CBF_PREFIX)/bin/cbflib.ini
+	chmod 644 $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb.a
+	chmod 755 $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb.so
+endif
+	#
+	# libimg
+	#
+ifneq ($(NOLIBIMG),yes)
+	-chmod 755 $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.a
+	-cp $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.a $(CBF_PREFIX)/$(INSTALL_LIB)/libimg_old.a
+	cp $(LIB)/libimg.a $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.a
+	$(LN) $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.so $(CBF_PREFIX)/$(INSTALL_LIB)/lib_img.so
+	chmod 644 $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.a
+	chmod 755 $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.so
+endif
+	#
+	# programs
+	#
 	-cp $(CBF_PREFIX)/bin/adscimg2cbf $(CBF_PREFIX)/bin/adscimg2cbf_old
 	cp $(BIN)/adscimg2cbf $(CBF_PREFIX)/bin/adscimg2cbf
 	-cp $(CBF_PREFIX)/bin/cbf2adscimg $(CBF_PREFIX)/bin/cbf2adscimg_old
@@ -1162,17 +1207,6 @@ ifneq ($(CBFLIB_DONT_USE_PYCIFRW),yes)
 	cp $(SRC)/drelc.py $(CBF_PREFIX)/bin/drelc.py
 	cp $(SRC)/drel_prep.py $(CBF_PREFIX)/bin/drel_prep.py
 endif
-	chmod -R 755 $(CBF_PREFIX)/include/cbflib
-	-rm -rf $(CBF_PREFIX)/include/cbflib_old
-	-cp -r $(CBF_PREFIX)/include/cbflib $(CBF_PREFIX)/include/cbflib_old
-	-rm -rf $(CBF_PREFIX)/include/cbflib
-	cp -r $(INCLUDE) $(CBF_PREFIX)/include/cbflib
-	chmod 644 $(CBF_PREFIX)/$(INSTALL_LIB)/libcbf.a
-	chmod 644 $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.a
-	chmod 644 $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb.a
-	chmod 755 $(CBF_PREFIX)/$(INSTALL_LIB)/libcbf.so
-	chmod 755 $(CBF_PREFIX)/$(INSTALL_LIB)/libimg.so
-	chmod 755 $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb.so
 	chmod 755 $(CBF_PREFIX)/bin/arvai_test
 	chmod 755 $(CBF_PREFIX)/bin/cbf2nexus
 	chmod 755 $(CBF_PREFIX)/bin/cbf_standardize_numbers
@@ -1197,8 +1231,7 @@ endif
 	chmod 755 $(CBF_PREFIX)/bin/tiff2cbf
 	chmod 755 $(CBF_PREFIX)/bin/test_cbf_airy_disk
 	chmod 755 $(CBF_PREFIX)/bin/batch_convert_minicbf.sh
-	chmod 644 $(CBF_PREFIX)/include/cbflib/*.h
-	
+
 ifneq ($(CBFLIB_DONT_USE_PYCIFRW),yes)
 #
 # PyCifRW
@@ -1466,7 +1499,7 @@ $(SOLIB)/libimg.so: $(SOURCE) $(HEADERS) $(COMMONDEP)
 #
 # CBF and IMG libraries
 #
-CBF_IMG_LIBS:  $(LIB)/libcbf.a $(LIB)/libimg.a 	
+CBF_IMG_LIBS:  $(LIB)/libcbf.a $(LIBIMG_A)
 
 
 #
