summaryrefslogtreecommitdiff
path: root/config/jobserver.m4
blob: dc566b1a1d9bdfe7b8c62eda0dea57b4483c56a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
dnl GNU_MAKE_JOBSERVER
dnl
dnl Implement a workaround for GNU mak jobserver by adding the '+' to the
dnl recipe line in Makefiles generated by automake.
dnl
AC_DEFUN([GNU_MAKE_JOBSERVER],[dnl
m4_pattern_allow(AM_V_CCLD)
touch config.status.tmp
dnl Must keep the same timestamps on config.status and Makefile.
if touch --reference=config.status config.status.tmp > /dev/null 2>&1; then
  sed '/as_fn_exit 0/i \
sed -e \"s/^\t\\\(\\\$(AM_V_CCLD)\\\)/\t+ \\\1/\" Makefile > Makefile.tmp \
touch --reference=Makefile Makefile.tmp \
mv Makefile.tmp Makefile \
' config.status > config.status.tmp
  touch --reference=config.status config.status.tmp
  mv config.status.tmp config.status
  chmod +x config.status
  sed -e "s/^\t\(\$(AM_V_CCLD)\)/\t+ \1/" Makefile > Makefile.tmp
  touch --reference=Makefile Makefile.tmp
  mv Makefile.tmp Makefile
else
  rm -f config.status.tmp
fi])