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
--disable-static \
--disable-glibtest \
CPPFLAGS=-I$(idir)/include \
- LDFLAGS=\"-L$(idir)/lib\"
+ LDFLAGS=-L$(idir)/lib
cm_pkg_harfbuzz_configure = \
-Ddocs=disabled \
--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 \
--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 \
--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
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 = \
--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 \
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 \
--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 \
--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 \
--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
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 \
--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
-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
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:
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
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
.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
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
.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
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
.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
.PHONY : all-claws-mail clean-stamps clean-claws-mail-src
-# @emacs_local_vars_begin@
-# @emacs_local_vars_read_only@
-# @emacs_local_vars_end@