1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
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)
#
|