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.
---
 Makefile | 48 ++++++++++++++++++++++++++++++++++++------------
 1 file changed, 36 insertions(+), 12 deletions(-)

diff --git a/Makefile b/Makefile
index a492386..256805a 100644
--- a/Makefile
+++ b/Makefile
@@ -688,8 +688,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
 
 #
@@ -1048,8 +1065,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    \
@@ -1081,7 +1098,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
 
@@ -1210,29 +1227,36 @@ 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)
 	-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
+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
+endif
+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
+endif
 	cp $(SOLIB)/libcbf.so $(CBF_PREFIX)/$(INSTALL_LIB)/$(SOVERSION)
 	$(LN) -r $(CBF_PREFIX)/$(INSTALL_LIB)/$(SOVERSION) $(CBF_PREFIX)/$(INSTALL_LIB)/$(SONAME)
 	$(LN) -r $(CBF_PREFIX)/$(INSTALL_LIB)/$(SOVERSION) $(CBF_PREFIX)/$(INSTALL_LIB)/libcbf.so
+ifneq ($(NOLIBIMG),yes)
 	-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
+endif
+ifneq ($(NOFORTRAN),yes)
 	-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
 	$(LN) $(CBF_PREFIX)/$(INSTALL_LIB)/libfcb.so $(CBF_PREFIX)/$(INSTALL_LIB)/lib_fcb.so
+endif
 	-cp $(CBF_PREFIX)/bin/cbflib.ini $(CBF_PREFIX)/bin/cbflib.ini_old
 	echo  "$(RUNLDPREFIX)" > $(CBF_PREFIX)/bin/cbflib.ini
 	echo  "HDF5_PLUGIN_PATH=$(CBF_PREFIX)/lib:$$HDF5_PLUGIN_PATH" >> $(CBF_PREFIX)/bin/cbflib.ini
@@ -1302,11 +1326,11 @@ endif
 	-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 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)/$(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
@@ -1687,7 +1711,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)
 
 
 #
