overhaul makefile variables
authorJonathan Boeing <jonathan.n.boeing@gmail.com>
Sun, 27 Jun 2021 02:23:42 +0000 (19:23 -0700)
committerJonathan Boeing <jonathan.n.boeing@gmail.com>
Thu, 1 Jul 2021 07:11:31 +0000 (00:11 -0700)
src/Makefile.am
src/claws-mail.mk.in
src/meson-cross.txt.in

index b76f3c54f80e3734c18ae19cff91e734d5beccfb..49efbd63aa0e77a2a7c3b4de84146ac0878a0e4f 100644 (file)
@@ -58,7 +58,7 @@ cm_pkg_libiconv_configure = \
 cm_pkg_gettext_configure = \
        --with-lib-prefix=$(idir) \
        CPPFLAGS=-I$(idir)/include \
-       LDFLAGS=\"-L$(idir)/lib\"
+       LDFLAGS=-L$(idir)/lib
 
 # We only need gettext-runtime and there is sadly no top level
 # configure option for this
@@ -88,7 +88,7 @@ cm_pkg_gtk_configure = \
        --disable-static \
        --disable-glibtest \
        CPPFLAGS=-I$(idir)/include \
-       LDFLAGS=\"-L$(idir)/lib\"
+       LDFLAGS=-L$(idir)/lib
 
 cm_pkg_harfbuzz_configure = \
        -Ddocs=disabled \
@@ -106,15 +106,15 @@ cm_pkg_freetype_configure = \
        --with-png \
        --without-bzip2 \
        --with-zlib \
-       CPPFLAGS=\"-I$(idir)/include\" \
-       LDFLAGS=\"-L$(idir)/lib\"
+       CPPFLAGS=-I$(idir)/include \
+       LDFLAGS=-L$(idir)/lib
 
 cm_pkg_fontconfig_configure = \
        --enable-iconv \
        --disable-docs \
        --enable-libxml2 \
-       CPPFLAGS=\"-I$(idir)/include\" \
-       LDFLAGS=\"-L$(idir)/lib\"
+       CPPFLAGS=-I$(idir)/include \
+       LDFLAGS=-L$(idir)/lib
 
 cm_pkg_fribidi_configure = \
        -Ddocs=false \
@@ -141,21 +141,21 @@ cm_pkg_cairo_configure = \
        --enable-win32-font \
        --enable-ft \
        --enable-fc \
-       CPPFLAGS=\"-I$(idir)/include\" \
-       LDFLAGS=\"-L$(idir)/lib\"
+       CPPFLAGS=-I$(idir)/include \
+       LDFLAGS=-L$(idir)/lib
 
 cm_pkg_libgpg_error_configure = \
        --disable-doc \
        --enable-static \
        CPPFLAGS=-I$(idir)/include \
-       LDFLAGS=\"-L$(idir)/lib\"
+       LDFLAGS=-L$(idir)/lib
 
 cm_pkg_libassuan_configure = \
        --enable-static
 
 cm_pkg_libpng_configure = \
-       CPPFLAGS=\"-I$(idir)/include\" \
-       LDFLAGS=\"-L$(idir)/lib\"
+       CPPFLAGS=-I$(idir)/include \
+       LDFLAGS=-L$(idir)/lib
 
 cm_pkg_enchant_configure = \
        --enable-relocatable \
@@ -166,8 +166,8 @@ cm_pkg_enchant_configure = \
        --without-voikko \
        --without-applespell \
        --without-zemberek \
-       CPPFLAGS=\"-I$(idir)/include\" \
-       LDFLAGS=\"-L$(idir)/lib\"
+       CPPFLAGS=-I$(idir)/include \
+       LDFLAGS=-L$(idir)/lib
 
 cm_pkg_hunspell_configure = \
        --disable-rpath
@@ -176,7 +176,8 @@ cm_pkg_hunspell_configure = \
 cm_pkg_gpgme_configure = \
        --enable-static \
        --enable-w32-glib \
-       LDFLAGS=\"-L$(idir)/lib\"
+       --with-libassuan-prefix=$(idir) \
+       LDFLAGS=-L$(idir)/lib
 
 # We can't use pkcs11 due to too much additional dependencies.
 cm_pkg_gnutls_configure = \
@@ -188,8 +189,8 @@ cm_pkg_gnutls_configure = \
        --disable-tests \
        --disable-doc \
        --disable-tools \
-       CPPFLAGS=\"-I$(idir)/include\" \
-       LDFLAGS=\"-L$(idir)/lib\"
+       CPPFLAGS=-I$(idir)/include \
+       LDFLAGS=-L$(idir)/lib
 
 cm_pkg_gmp_configure = \
        --disable-static \
@@ -198,8 +199,8 @@ cm_pkg_gmp_configure = \
 
 cm_pkg_nettle_configure = \
        --enable-public-key \
-       CPPFLAGS=\"-I$(idir)/include\" \
-       LDFLAGS=\"-L$(idir)/lib\"
+       CPPFLAGS=-I$(idir)/include \
+       LDFLAGS=-L$(idir)/lib
 
 cm_pkg_curl_configure = \
        --with-gnutls \
@@ -207,8 +208,8 @@ cm_pkg_curl_configure = \
        --with-winidn \
        --without-ca-bundle \
        --without-ca-path \
-       CPPFLAGS=\"-I$(idir)/include\" \
-       LDFLAGS=\"-L$(idir)/lib\"
+       CPPFLAGS=-I$(idir)/include \
+       LDFLAGS=-L$(idir)/lib
 
 cm_pkg_libxml2_configure = \
        --enable-shared \
@@ -237,22 +238,23 @@ cm_pkg_cyrus_sasl_configure = \
        --disable-static \
        --enable-shared \
        --disable-sample \
-       CPPFLAGS=\"-I$(idir)/include\" \
-       LDFLAGS=\"-L$(idir)/lib\"
+       CPPFLAGS=-I$(idir)/include \
+       LDFLAGS=-L$(idir)/lib
 
 cm_pkg_libetpan_configure = \
        --with-gnutls \
        --enable-threads \
        --enable-ipv6 \
-       CPPFLAGS=\"-I$(idir)/include\" \
-       LDFLAGS=\"-L$(idir)/lib\" \
-       LIBS=\"-lpthread\"
+       CPPFLAGS=-I$(idir)/include \
+       LDFLAGS=-L$(idir)/lib \
+       LIBS=-lpthread
 
 # -D_POSIX_C_SOURCE is there so that time.h from mingw64-4.x
 # actually gives us gmtime_r() and localtime_r() prototype declarations
 cm_pkg_claws_mail_configure = \
        --enable-silent-rules \
        --with-lib-prefix=$(idir) \
+       --with-gpgme-prefix=$(idir) \
        --enable-pthread \
        --enable-gnutls \
        --enable-libetpan \
@@ -274,9 +276,9 @@ cm_pkg_claws_mail_configure = \
        --disable-dillo-plugin \
        --enable-tnef_parse-plugin \
        --with-password-encryption=gnutls \
-       CPPFLAGS=\"-I$(idir)/include -D_POSIX_C_SOURCE -DLITEHTML_UTF8\" \
-       LDFLAGS=\"-L$(idir)/lib\" \
-       LIBS=\"-lexpat\"
+       CPPFLAGS="-I$(idir)/include -D_POSIX_C_SOURCE -DLITEHTML_UTF8" \
+       LDFLAGS=-L$(idir)/lib \
+       LIBS=-lexpat
 
 cm_pkg_sqlite_configure = \
        --disable-static-shell
@@ -302,8 +304,8 @@ cm_pkg_libsoup_meson_cppflags = -I$(idir)/include
 cm_pkg_libsoup_meson_ldflags = -L$(idir)/lib
 
 cm_pkg_libwebp_configure = \
-       LDFLAGS=\"-L$(idir)/lib\" \
-       CPPFLAGS=\"-I$(idir)/include\"
+       LDFLAGS=-L$(idir)/lib \
+       CPPFLAGS=-I$(idir)/include
 
 cm_pkg_webkitgtk_configure = \
        --disable-webkit2 \
@@ -331,9 +333,9 @@ cm_pkg_webkitgtk_configure = \
        --disable-debug \
        --disable-accelerated-compositing \
        --enable-silent-rules \
-       CPPFLAGS=\"-I$(idir)/include -Wno-expansion-to-defined\" \
+       CPPFLAGS="-I$(idir)/include -Wno-expansion-to-defined" \
        CC=$(CC) \
-       LDFLAGS=\"-L$(idir)/lib\"
+       LDFLAGS=-L$(idir)/lib
 # -ggdb causes an ICE with gcc-8.3 / webkit-2.4.11
 cm_pkg_webkitgtk_cflags = \
        -O2 -pipe -mms-bitfields
@@ -346,25 +348,36 @@ cm_pkg_libical_configure = \
        -DLIBICAL_BUILD_TESTING=OFF
 
 cm_pkg_gumbo_parser_configure = \
-       LDFLAGS=\"-L$(idir)/lib\" \
-       CPPFLAGS=\"-I$(idir)/include\"
+       LDFLAGS=-L$(idir)/lib \
+       CPPFLAGS=-I$(idir)/include
 
 
 # Extra options for the make invocations for individual packages.
 # make_flags is used for building, make_args_inst is used for installing.
-cm_pkg_bzip2_make_args = -j$(CM_MAKE_JOBS) \
-       CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
+cm_pkg_bzip2_make_args = \
+       -j$(CM_MAKE_JOBS) \
+       CC=$(CC) \
+       AR=$(AR) \
+       RANLIB=$(RANLIB)
 
 cm_pkg_bzip2_make_args_inst = \
-       PREFIX=$$$${pkgidir} CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
-
-cm_pkg_zlib_make_args = -j$(CM_MAKE_JOBS) \
-       -fwin32/Makefile.gcc PREFIX=$(host)-
-
-cm_pkg_zlib_make_args_inst = -fwin32/Makefile.gcc install \
-       prefix=$$$${pkgidir} \
-       BINARY_PATH=$$$${pkgidir}/bin INCLUDE_PATH=$$$${pkgidir}/include \
-       LIBRARY_PATH=$$$${pkgidir}/lib SHARED_MODE=1
+       PREFIX=$(pkg_idir) \
+       CC=$(CC) \
+       AR=$(AR) \
+       RANLIB=$(RANLIB)
+
+cm_pkg_zlib_make_args = \
+       -j$(CM_MAKE_JOBS) \
+       -fwin32/Makefile.gcc \
+       PREFIX=$(host)-
+
+cm_pkg_zlib_make_args_inst = \
+       -fwin32/Makefile.gcc \
+       prefix=$(pkg_idir) \
+       BINARY_PATH=$(pkg_idir)/bin \
+       INCLUDE_PATH=$(pkg_idir)/include \
+       LIBRARY_PATH=$(pkg_idir)/lib \
+       SHARED_MODE=1
 
 # Now do the bunch of the work.  This is a bunch of dirty magic to
 # integrate our special makefile into automake, while not actually
index 639c6569a73cbfb109c33253aa79676531e89597..4a9582ce82c43364a10f1ffe87a5ce650896a09e 100644 (file)
@@ -31,6 +31,10 @@ cdir := $(root)/configure
 ipdir := $(root)/install/pkgs
 pdir := $(abs_top_srcdir)/patches
 
+export SYSROOT := $(idir)
+export PKG_CONFIG_PATH := $(idir)/lib/pkgconfig
+export PKG_CONFIG_LIBDIR := $(idir)/lib/pkgconfig
+
 # The playground area is our scratch area, where we unpack, build and
 # install the packages.
 stamps/stamp-directories:
@@ -44,58 +48,25 @@ stamps/stamp-directories:
        cp ${top_srcdir}/src/mingw.*.h $(idir)/include
        touch stamps/stamp-directories
 
-# Set a couple of common variables.
-define SETVARS
-       pkg_version="$(1)-$(cm_pkg_$(1)_version)"; \
-       pkgsdir="$(bdir)/$$$${pkg_version}"; \
-       pkgbdir="$(bdir)/$$$${pkg_version}-build"; \
-       pkgpdir="$(pdir)/$$$${pkg_version}"; \
-       pkgpbdir="$(pdir)/$(1)"; \
-       pkgidir="$(ipdir)/$$$${pkg_version}"; \
-       if [ "x$(cm_pkg_$(1)_cmake)" = "xyes" ]; then \
-               pkgcmake="yes"; \
-       elif [ "x$(cm_pkg_$(1)_meson)" = "xyes" ]; then \
-               pkgmeson="yes"; \
-       fi; \
-       pkgcfg="$(cm_pkg_$(1)_configure)"; \
-       pkgcflags="$(cm_pkg_$(1)_cflags)"; \
-       if [ "x$$$${pkgcflags}" = "x" ]; then \
-               pkgcflags="@CM_CFLAGS@"; \
-       fi; \
-       pkgcxxflags="$(cm_pkg_$(1)_cxxflags)";  \
-       if [ "x$$$${pkgcxxflags}" = "x" ]; then \
-               pkgcxxflags="@CM_CXXFLAGS@"; \
-       fi; \
-       pkgmkargs="$(cm_pkg_$(1)_make_args)"; \
-       if [ "x$$$${pkgmkargs}" = "x" ]; then \
-               pkgmkargs="-j@CM_MAKE_JOBS@"; \
-       fi; \
-       pkgmkargs_inst="$(cm_pkg_$(1)_make_args_inst)"; \
-       pkgmkdir="$(cm_pkg_$(1)_make_dir)"; \
-       pkgmkdir_inst="$(cm_pkg_$(1)_make_dir)"; \
-       export PKG_CONFIG="pkg-config"; \
-       export PKG_CONFIG_PATH="$(idir)/lib/pkgconfig"; \
-       export PKG_CONFIG_LIBDIR="$(idir)/lib/pkgconfig"; \
-       export PATH="$(idir)/bin:$${PATH}"; \
-       export SYSROOT="$(idir)"
-endef
+# Recursively defined per-package variables
+pkg_ver = $(1)-$(cm_pkg_$(1)_version)
+pkg_sdir = $(bdir)/$(pkg_ver)
+pkg_bdir = $(bdir)/$(pkg_ver)-build
+pkg_idir = $(ipdir)/$(pkg_ver)
+
+pkg_patchdir = $(pdir)/$(pkg_ver)
+pkg_patchbasedir = $(pdir)/$(1)
 
-# Support macro.  Unpack the archive for package $(1).
-define EXTRACT_macro
-$(TAR) -xf $(cm_pkg_$(1)_file) -C $(1)-$(cm_pkg_$(1)_version) --strip-components=1;
-endef
 
 # Support macro.  Strip all exe files below $(1).
 define STRIP_macro
-       if [ "@STRIP_BINARIES@" = "yes" ]; then \
-               (cd $(1);                                       \
-                 for f in `find . -name \*.exe -o -name \*.dll`; do            \
-                   echo Stripping "$$$${pkg_version}/$$$${f}"; \
-                   $(OBJCOPY) --only-keep-debug "$$$${f}" "$$$${f}.debug"; \
-                   $(OBJCOPY) --add-gnu-debuglink="$$$${f}.debug" --strip-unneeded "$$$${f}"; \
-                 done; \
-               ); \
-       fi
+if [ "$(STRIP_BINARIES)" = "yes" ]; then \
+       for f in `find $(1) -name \*.exe -o -name \*.dll`; do \
+               echo Stripping "$$$${f}"; \
+               $(OBJCOPY) --only-keep-debug "$$$${f}" "$$$${f}.debug"; \
+               $(OBJCOPY) --add-gnu-debuglink="$$$${f}.debug" --strip-unneeded "$$$${f}"; \
+       done; \
+fi
 endef
 
 define GETDEPS
@@ -106,99 +77,96 @@ endef
 
 define SPKG_template
 
+$(eval cm_pkg_$(1)_cflags ?= $(CM_CFLAGS))
+$(eval cm_pkg_$(1)_cxxflags ?= $(CM_CXXFLAGS))
+$(eval cm_pkg_$(1)_make_args ?= -j$(CM_MAKE_JOBS))
+
 stamps/stamp-$(1)-00-unpack: stamps/stamp-directories $(call GETDEPS,$(1))
-       (cd $(bdir); \
-       $(MKDIR) $(1)-$(cm_pkg_$(1)_version); \
-       $(call EXTRACT_macro,$(1)))
+       $(MKDIR) -p $(pkg_sdir)
+       $(TAR) -xf $(cm_pkg_$(1)_file) -C $(pkg_sdir) --strip-components=1
        touch stamps/stamp-$(1)-00-unpack
 
 stamps/stamp-$(1)-01-patch: stamps/stamp-$(1)-00-unpack
-       (shopt -s nullglob;                             \
-        $(call SETVARS,$(1));                          \
-        for pfile in "$$$${pkgpbdir}"/*.patch "$$$${pkgpdir}"/*.patch ; do  \
-          (cd "$$$${pkgsdir}"; echo -e "\nExecuting $$$${pfile}"; "$$$${pfile}")               \
-        done)
+       (shopt -s nullglob; \
+       for pfile in $(pkg_patchbasedir)/*.patch $(pkg_patchdir)/*.patch ; do \
+               (cd $(pkg_sdir); echo -e "\nExecuting $$$${pfile}"; "$$$${pfile}") \
+       done)
        touch stamps/stamp-$(1)-01-patch
 
 stamps/stamp-$(1)-02-configure: stamps/stamp-$(1)-01-patch
-       ($(call SETVARS,$(1));                          \
-       mkdir "$$$${pkgbdir}";                          \
-       cd "$$$${pkgbdir}";                             \
-       if [ "$$$${pkgcmake}" = "yes" ]; then \
-               eval "$(CMAKE) \
-                       -DCMAKE_TOOLCHAIN_FILE=$(abs_top_srcdir)/src/Toolchain-mingw32.cmake \
-                       -DCMAKE_INSTALL_PREFIX=$$$${pkgidir} \
-                       -DCMAKE_PREFIX_PATH=$(idir) \
-                       -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=True \
-                       -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-                       -DCMAKE_VERBOSE_MAKEFILE=ON \
-                       $$$${pkgcfg} \
-                       -DCMAKE_C_FLAGS_RELWITHDEBINFO=\"$$$${pkgcflags} -DNDEBUG\" \
-                       -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=\"$$$${pkgcxxflags} -DNDEBUG\" \
-                       $$$${pkgsdir}" | tee $(cdir)/$$$${pkg_version}_output.txt 2>&1; \
-               $(CMAKE) -LH -S $$$${pkgsdir} > $(cdir)/$$$${pkg_version}_help.txt 2>&1; \
-               $(CMAKE) -LAH -S $$$${pkgsdir} > $(cdir)/$$$${pkg_version}_adv_help.txt 2>&1; \
-       elif [ "$$$${pkgmeson}" = "yes" ]; then \
-               meson_cppflags="$(cm_pkg_$(1)_meson_cppflags)"; \
-               meson_ldflags="$(cm_pkg_$(1)_meson_ldflags)"; \
-               eval "$(MESON) \
-                       --prefix=$$$${pkgidir} \
-                       --buildtype plain \
-                       -Dc_args=\"$$$${pkgcflags} $$$${meson_cppflags}\" \
-                       -Dc_link_args=\"$$$${pkgcflags} $$$${meson_ldflags}\" \
-                       -Dcpp_args=\"$$$${pkgcxxflags} $$$${meson_cppflags}\" \
-                       -Dcpp_link_args=\"$$$${pkgcxxflags} $$$${meson_ldflags}\" \
-                       $$$${pkgcfg} \
-                       --cross-file "$(abs_top_srcdir)/src/meson-cross.txt" \
-                       $$$${pkgsdir} $$$${pkgbdir}" | tee $(cdir)/$$$${pkg_version}_output.txt 2>&1; \
-               $(MESON) configure > $(cdir)/$$$${pkg_version}_help.txt 2>&1; \
-       else \
-               ../$$$${pkg_version}/configure --help > $(cdir)/$$$${pkg_version}_help.txt; \
-               eval "../$$$${pkg_version}/configure"           \
-                       --prefix="$$$${pkgidir}"                \
-                       --host=$(host)                          \
-                       --build=$(build)                        \
-                       $$$${pkgcfg} CFLAGS=\"$$$${pkgcflags}\" CXXFLAGS=\"$$$${pkgcxxflags}\" | tee $(cdir)/$$$${pkg_version}_output.txt 2>&1; \
-               shopt -s nullglob;                                      \
-               for pfile in "$$$${pkgpbdir}"/*.postcfg "$$$${pkgpdir}"/*.postcfg ; do                  \
-                       (cd "$$$${pkgsdir}"; "$$$${pfile}")                     \
-               done;                                                                                   \
-               for pfile in "$$$${pkgpbdir}"/*.postcfg-build "$$$${pkgpdir}"/*.postcfg-build ; do      \
-                       (cd "$$$${pkgbdir}"; "$$$${pfile}")                     \
-               done; \
-       fi)
+       $(MKDIR) -p $(pkg_bdir)
+ifeq ($(cm_pkg_$(1)_cmake), yes)
+       (cd $(pkg_bdir); \
+       $(CMAKE) \
+               -DCMAKE_TOOLCHAIN_FILE=$(abs_top_srcdir)/src/Toolchain-mingw32.cmake \
+               -DCMAKE_INSTALL_PREFIX=$(pkg_idir) \
+               -DCMAKE_PREFIX_PATH=$(idir) \
+               -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=True \
+               -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+               -DCMAKE_VERBOSE_MAKEFILE=ON \
+               $(cm_pkg_$(1)_configure) \
+               -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(cm_pkg_$(1)_cflags) -DNDEBUG" \
+               -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(cm_pkg_$(1)_cxxflags) -DNDEBUG" \
+               $(pkg_sdir) | tee $(cdir)/$(pkg_ver)_output.txt 2>&1; \
+       $(CMAKE) -LH -S $(pkg_sdir) > $(cdir)/$(pkg_ver)_help.txt 2>&1; \
+       $(CMAKE) -LAH -S $(pkg_sdir) > $(cdir)/$(pkg_ver)_adv_help.txt 2>&1)
+else ifeq ($(cm_pkg_$(1)_meson), yes)
+       (cd $(pkg_bdir); \
+       $(MESON) \
+               --prefix=$(pkg_idir) \
+               --buildtype plain \
+               -Dc_args="$(cm_pkg_$(1)_cflags) $(cm_pkg_$(1)_meson_cppflags)" \
+               -Dc_link_args="$(cm_pkg_$(1)_cflags) $(cm_pkg_$(1)_meson_ldflags)" \
+               -Dcpp_args="$(cm_pkg_$(1)_cxxflags) $(cm_pkg_$(1)_meson_cppflags)" \
+               -Dcpp_link_args="$(cm_pkg_$(1)_cxxflags) $(cm_pkg_$(1)_meson_ldflags)" \
+               $(cm_pkg_$(1)_configure) \
+               --cross-file "$(abs_top_srcdir)/src/meson-cross.txt" \
+               $(pkg_sdir) $(pkg_bdir) | tee $(cdir)/$(pkg_ver)_output.txt 2>&1; \
+       $(MESON) configure > $(cdir)/$(pkg_ver)_help.txt 2>&1)
+else
+       (cd $(pkg_bdir); \
+       ../$(pkg_ver)/configure --help > $(cdir)/$(pkg_ver)_help.txt; \
+       ../$(pkg_ver)/configure \
+               --prefix="$(pkg_idir)" \
+               --host=$(host) \
+               --build=$(build) \
+               $(cm_pkg_$(1)_configure) \
+               CFLAGS="$(cm_pkg_$(1)_cflags)" \
+               CXXFLAGS="$(cm_pkg_$(1)_cxxflags)" | tee $(cdir)/$(pkg_ver)_output.txt 2>&1)
+endif
+       (shopt -s nullglob; \
+       for pfile in "$(pkg_patchbasedir)"/*.postcfg "$(pkg_patchdir)"/*.postcfg ; do \
+               (cd "$(pkg_sdir)"; "$$$${pfile}") \
+       done; \
+       for pfile in "$(pkg_patchbasedir)"/*.postcfg-build "$(pkg_patchdir)"/*.postcfg-build ; do \
+               (cd "$(pkg_bdir)"; "$$$${pfile}") \
+       done)
        touch stamps/stamp-$(1)-02-configure
 
 stamps/stamp-$(1)-03-make: stamps/stamp-$(1)-02-configure
-       ($(call SETVARS,$(1));                          \
-         cd "$$$${pkgbdir}";                           \
-         test -n "$$$${pkgmkdir}" && cd "$$$${pkgmkdir}";      \
-         if [ "$$$${pkgmeson}" = "yes" ]; then \
-           $(NINJA) -v -C $$$${pkgbdir}; \
-         else \
-           $(MAKE) $(AM_MAKEFLAGS) $$$${pkgmkargs} ;\
-         fi)
+       (cd "$(pkg_bdir)"; \
+       test -n "$(cm_pkg_$(1)_make_dir)" && cd "$(cm_pkg_$(1)_make_dir)"; \
+       if [ "$(cm_pkg_$(1)_meson)" = "yes" ]; then \
+               $(NINJA) -v -C $(pkg_bdir); \
+       else \
+               $(MAKE) $(cm_pkg_$(1)_make_args) ; \
+       fi)
        touch stamps/stamp-$(1)-03-make
 
-# Note that post_install must come last because it may be empty and
-# "; ;" is a syntax error.
 stamps/stamp-$(1)-04-install: stamps/stamp-$(1)-03-make
-       ($(call SETVARS,$(1));                          \
-         cd "$$$${pkgbdir}";                           \
-         cd "$$$${pkgmkdir_inst}";                     \
-         if [ "$$$${pkgmeson}" = "yes" ]; then \
-           $(NINJA) -C $$$${pkgbdir} install; \
-         else \
-           $(MAKE) $(AM_MAKEFLAGS) $$$${pkgmkargs_inst} install; \
-         fi; \
-         $(call STRIP_macro,"$$$${pkgidir}");          \
-         rm -f "$$$${pkgidir}/share/info/dir")
+       (cd "$(pkg_bdir)"; \
+       test -n "$(cm_pkg_$(1)_make_dir_inst)" && cd "$(cm_pkg_$(1)_make_dir_inst)"; \
+       if [ "$(cm_pkg_$(1)_meson)" = "yes" ]; then \
+               $(NINJA) -C $(pkg_bdir) install; \
+       else \
+               $(MAKE) $(cm_pkg_$(1)_make_args_inst) install; \
+       fi; \
+       $(call STRIP_macro,$(pkg_idir)); \
+       rm -f "$(pkg_idir)/share/info/dir")
        touch stamps/stamp-$(1)-04-install
 
 stamps/stamp-$(1)-05-stow: stamps/stamp-$(1)-04-install
-       ($(call SETVARS,$(1));                          \
-        cd $(ipdir);                                   \
-        $(STOW) "$$$${pkg_version}")
+       cd $(ipdir) && $(STOW) "$(pkg_ver)"
        touch stamps/stamp-$(1)-05-stow
 
 stamps/stamp-final-$(1): stamps/stamp-$(1)-05-stow
@@ -206,11 +174,8 @@ stamps/stamp-final-$(1): stamps/stamp-$(1)-05-stow
 
 .PHONY : clean-$(1)
 clean-$(1):
-       ($(call SETVARS,$(1));                          \
-        (cd $(ipdir) &&                                \
-         ($(STOW) -D "$$$${pkg_version}";              \
-          rm -fR "$$$${pkg_version}"));                \
-        rm -fR "$$$${pkgsdir}" "$$$${pkgbdir}")
+       cd $(ipdir) && $(STOW) -D "$(pkg_ver)"
+       rm -fR "$(pkg_idir)" "$(pkg_sdir)" "$(pkg_bdir)"
        rm -f stamps/stamp-final-$(1) stamps/stamp-$(1)-*
 
 endef
@@ -221,38 +186,34 @@ endef
 
 define MPKG_template
 
+$(eval cm_pkg_$(1)_make_args ?= -j$(CM_MAKE_JOBS))
+
 stamps/stamp-$(1)-00-unpack: stamps/stamp-directories $(call GETDEPS,$(1))
-       (cd $(bdir); \
-       $(MKDIR) $(1)-$(cm_pkg_$(1)_version); \
-       $(call EXTRACT_macro,$(1)))
+       $(MKDIR) -p $(pkg_sdir)
+       $(TAR) -xf $(cm_pkg_$(1)_file) -C $(pkg_sdir) --strip-components=1
        touch stamps/stamp-$(1)-00-unpack
 
 stamps/stamp-$(1)-01-patch: stamps/stamp-$(1)-00-unpack
-       (shopt -s nullglob;                             \
-        $(call SETVARS,$(1));                          \
-        for pfile in "$$$${pkgpbdir}"/*.patch "$$$${pkgpdir}"/*.patch ; do \
-          (cd "$$$${pkgsdir}"; "$$$${pfile}")          \
-        done)
+       (shopt -s nullglob; \
+       for pfile in $(pkg_patchbasedir)/*.patch $(pkg_patchdir)/*.patch ; do \
+               (cd $(pkg_sdir); echo -e "\nExecuting $$$${pfile}"; "$$$${pfile}") \
+       done)
        touch stamps/stamp-$(1)-01-patch
 
 stamps/stamp-$(1)-03-make: stamps/stamp-$(1)-01-patch
-       ($(call SETVARS,$(1));                          \
-         cd "$$$${pkgsdir}";                           \
-         test -n "$$$${pkgmkdir}" && cd "$$$${pkgmkdir}";      \
-         $(MAKE) $(AM_MAKEFLAGS) $$$${pkgmkargs})
+       (cd $(pkg_sdir); \
+       test -n "$(cm_pkg_$(1)_make_dir)" && cd $(cm_pkg_$(1)_make_dir); \
+       $(MAKE) $(cm_pkg_$(1)_make_args))
        touch stamps/stamp-$(1)-03-make
 
 stamps/stamp-$(1)-04-install: stamps/stamp-$(1)-03-make
-       ($(call SETVARS,$(1));                          \
-         cd "$$$${pkgsdir}";                           \
-         $(MAKE) $(AM_MAKEFLAGS) $$$${pkgmkargs_inst} install; \
-         $(call STRIP_macro,"$$$${pkgidir}"))
+       (cd $(pkg_sdir); \
+       $(MAKE) $(cm_pkg_$(1)_make_args_inst) install; \
+       $(call STRIP_macro,$(pkg_idir)))
        touch stamps/stamp-$(1)-04-install
 
 stamps/stamp-$(1)-05-stow: stamps/stamp-$(1)-04-install
-       ($(call SETVARS,$(1));                          \
-        cd $(ipdir);                                   \
-        $(STOW) "$$$${pkg_version}")
+       cd $(ipdir) && $(STOW) "$(pkg_ver)"
        touch stamps/stamp-$(1)-05-stow
 
 stamps/stamp-final-$(1): stamps/stamp-$(1)-05-stow
@@ -260,11 +221,8 @@ stamps/stamp-final-$(1): stamps/stamp-$(1)-05-stow
 
 .PHONY : clean-$(1)
 clean-$(1):
-       ($(call SETVARS,$(1));                          \
-        (cd $(ipdir) &&                                \
-         ($(STOW) -D "$$$${pkg_version}";              \
-          rm -fR "$$$${pkg_version}"));                \
-        rm -fR "$$$${pkgsdir}")
+       cd $(ipdir) && $(STOW) -D "$(pkg_ver)"
+       rm -fR "$(pkg_idir)" "$(pkg_sdir)"
        rm -f stamps/stamp-final-$(1) stamps/stamp-$(1)-*
 
 endef
@@ -275,16 +233,12 @@ endef
 define BPKG_template
 
 stamps/stamp-$(1)-00-install: stamps/stamp-directories $(call GETDEPS,$(1))
-       ($(call SETVARS,$(1)); \
-        $(MKDIR) "$$$${pkgidir}"; \
-        cd $(ipdir); \
-        $(call EXTRACT_macro,$(1)))
+       $(MKDIR) -p $(pkg_idir)
+       $(TAR) -xf $(cm_pkg_$(1)_file) -C $(pkg_idir)
        touch stamps/stamp-$(1)-00-install
 
 stamps/stamp-$(1)-01-stow: stamps/stamp-$(1)-00-install
-       ($(call SETVARS,$(1));                          \
-        cd $(ipdir);                                   \
-        $(STOW) "$$$${pkg_version}")
+       cd $(ipdir) && $(STOW) "$(pkg_ver)"
        touch stamps/stamp-$(1)-01-stow
 
 stamps/stamp-final-$(1): stamps/stamp-$(1)-01-stow
@@ -292,10 +246,8 @@ stamps/stamp-final-$(1): stamps/stamp-$(1)-01-stow
 
 .PHONY : clean-$(1)
 clean-$(1):
-       ($(call SETVARS,$(1));                          \
-        cd $(ipdir) &&                                 \
-        ($(STOW) -D "$$$${pkg_version}";               \
-         rm -fR "$$$${pkg_version}" ))
+       cd $(ipdir) && $(STOW) -D "$(pkg_ver)"
+       rm -fR "$(pkg_idir)"
        rm -f stamps/stamp-final-$(1) stamps/stamp-$(1)-*
 
 endef
@@ -325,6 +277,3 @@ clean-claws-mail-src:
 
 .PHONY : all-claws-mail clean-stamps clean-claws-mail-src
 
-# @emacs_local_vars_begin@
-# @emacs_local_vars_read_only@
-# @emacs_local_vars_end@
index 64a54568dcfddcb6f6074eda0b3dd70a7552a719..0b5299a9834509d90a63418eeb82458bae350791 100644 (file)
@@ -13,5 +13,7 @@ objcopy = '@OBJCOPY@'
 strip = '@STRIP@'
 pkgconfig = '@PKG_CONFIG@'
 windres = '@WINDRES@'
+glib-genmarshal = '@abs_srcdir@/playground/install/bin/glib-genmarshal'
+glib-mkenums = '@abs_srcdir@/playground/install/bin/glib-mkenums'
 
 [properties]