Hi,
Attached is a patch that reduces the verbosity of the build system by
printing the build commands in one of two formats:
COMMAND output_file
or
COMMAND input_file -> output_file
I hope it meets Alexandre's requirements of not reducing portability of
Wine to other platforms (including Windows).
--
Rob Shearman
>From f5e75b93a94f7f08faccf486cef1d64789a505ad Mon Sep 17 00:00:00 2001
From: Robert Shearman <[EMAIL PROTECTED]>
Date: Tue, 29 May 2007 20:36:26 +0100
Subject: Makefiles: Be less verbose when performing make rules by only printing the command being executed and the source and/or target file.
To: wine-patches <[EMAIL PROTECTED]>
The old behaviour can be turned back on by setting the V environment variable to "1" (e.g. make V=1). It will also automatically be turned back on for operating systems other than Linux for compatibility reasons.
---
Make.rules.in | 73 ++++++++++++++++++++++++++++++------------
configure.ac | 35 ++++++++++++++++++++-
dlls/Makedll.rules.in | 16 +++++-----
dlls/Makeimplib.rules.in | 6 ++--
dlls/Maketest.rules.in | 12 +++---
dlls/ntdll/Makefile.in | 2 +-
libs/port/Makefile.in | 6 ++--
libs/wine/Makefile.in | 6 ++--
libs/wpp/Makefile.in | 6 ++--
loader/Makefile.in | 8 ++--
programs/Makeprog.rules.in | 4 +-
server/Makefile.in | 2 +-
tools/Makefile.in | 14 ++++----
tools/makerule | 28 ++++++++++++++++
tools/widl/Makefile.in | 2 +-
tools/winebuild/Makefile.in | 2 +-
tools/winedump/Makefile.in | 2 +-
tools/winegcc/Makefile.in | 2 +-
tools/wmc/Makefile.in | 2 +-
tools/wrc/Makefile.in | 2 +-
20 files changed, 161 insertions(+), 69 deletions(-)
create mode 100755 tools/makerule
diff --git a/Make.rules.in b/Make.rules.in
index 02df171..0d3b6fc 100644
--- a/Make.rules.in
+++ b/Make.rules.in
@@ -63,6 +63,7 @@ WINAPI_CHECK = $(TOPSRCDIR)/tools/winapi/winapi_check
WINEWRAPPER = $(TOPSRCDIR)/tools/winewrapper
C2MAN = $(TOPSRCDIR)/tools/c2man.pl
RUNTEST = $(TOPSRCDIR)/tools/runtest
+MAKERULE = $(TOPSRCDIR)/tools/makerule
WINEBUILD = $(TOOLSDIR)/tools/winebuild/winebuild
MAKEDEP = $(TOOLSDIR)/tools/makedep
MAKECTESTS = $(TOOLSDIR)/tools/make_ctests
@@ -85,6 +86,36 @@ LIBWPP = $(TOPOBJDIR)/libs/wpp/libwpp.a
LIBWINE = -L$(TOPOBJDIR)/libs/wine -lwine
LIBWINE_LDFLAGS = @LIBWINE_LDFLAGS@ $(LIBWINE)
+# Pretty build system
+
+MAKERULE_CC = @MAKERULE_CC@
+MAKERULE_AS = @MAKERULE_AS@
+MAKERULE_WIDL = @MAKERULE_WIDL@
+MAKERULE_BISON = @MAKERULE_BISON@
+MAKERULE_FLEX = @MAKERULE_FLEX@
+MAKERULE_WINEBUILD = @MAKERULE_WINEBUILD@
+MAKERULE_WINEBUILD2 = @MAKERULE_WINEBUILD2@
+MAKERULE_LINT = @MAKERULE_LINT@
+MAKERULE_RUNTEST = @MAKERULE_RUNTEST@
+MAKERULE_FONTFORGE = @MAKERULE_FONTFORGE@
+MAKERULE_SED = @MAKERULE_SED@
+MAKERULE_BIN2RES = @MAKERULE_BIN2RES@
+MAKERULE_MAKEDEP = @MAKERULE_MAKEDEP@
+MAKERULE_WMC = @MAKERULE_WMC@
+MAKERULE_RC = @MAKERULE_RC@
+MAKERULE_LINK = @MAKERULE_LINK@
+MAKERULE_BLANK = @MAKERULE_BLANK@
+MAKERULE_AR = @MAKERULE_AR@
+MAKERULE_RANLIB = @MAKERULE_RANLIB@
+MAKERULE_LDSHARED = @MAKERULE_LDSHARED@
+MAKERULE_DLLTOOL = @MAKERULE_DLLTOOL@
+MAKERULE_MINGWAR = @MAKERULE_MINGWAR@
+MAKERULE_MAKECTESTS = @MAKERULE_MAKECTESTS@
+MAKERULE_CROSSCC = @MAKERULE_CROSSCC@
+MAKERULE_CROSSWINDRES = @MAKERULE_CROSSWINDRES@
+MAKERULE_SILENT = @MAKERULE_SILENT@
+
+
@SET_MAKE@
# Installation infos
@@ -128,61 +159,61 @@ LINTS = $(C_SRCS:.c=.ln)
.SUFFIXES: .mc .rc .mc.rc .res .res.o .spec .spec.o .idl .tlb .h .y .l .tab.c .tab.h .yy.c .ok .sfd .ttf .man.in .man _c.c _i.c _p.c _s.c
.c.o:
- $(CC) -c $(ALLCFLAGS) -o $@ $<
+ $(MAKERULE_CC) $(CC) -c $(ALLCFLAGS) -o $@ $<
.s.o:
- $(AS) -o $@ $<
+ $(MAKERULE_AS) $(AS) -o $@ $<
.y.tab.c:
- $(BISON) $(BISONFLAGS) -p $*_ -o $@ $<
+ $(MAKERULE_BISON) $(BISON) $(BISONFLAGS) -p $*_ -o $@ $<
.y.tab.h:
- $(BISON) $(BISONFLAGS) -p $*_ -o $*.tab.c -d $<
+ $(MAKERULE_BISON) $(BISON) $(BISONFLAGS) -p $*_ -o $*.tab.c -d $<
.l.yy.c:
- $(FLEX) $(LEXFLAGS) -o$@ $<
+ $(MAKERULE_FLEX) $(FLEX) $(LEXFLAGS) -o$@ $<
.mc.mc.rc:
- $(LDPATH) $(WMC) -i -U -H /dev/null -o $@ $<
+ $(MAKERULE_SILENT) $(LDPATH) $(MAKERULE_WMC) $(WMC) -i -U -H /dev/null -o $@ $<
.rc.res:
- $(LDPATH) $(RC) $(RCFLAGS) -fo$@ $<
+ $(MAKERULE_SILENT) $(LDPATH) $(MAKERULE_RC) $(RC) $(RCFLAGS) -fo$@ $<
.res.res.o:
- $(WINDRES) -i $< -o $@
+ $(MAKERULE_WINDRES) $(WINDRES) -i $< -o $@
.spec.spec.o:
- $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --export $<
+ $(MAKERULE_WINEBUILD) $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --export $<
.idl.h:
- $(WIDL) $(IDLFLAGS) -h -H $@ $<
+ $(MAKERULE_WIDL) $(WIDL) $(IDLFLAGS) -h -H $@ $<
.idl_c.c:
- $(WIDL) $(IDLFLAGS) -c -C $@ $<
+ $(MAKERULE_WIDL) $(WIDL) $(IDLFLAGS) -c -C $@ $<
.idl_i.c:
- $(WIDL) $(IDLFLAGS) -u -U $@ $<
+ $(MAKERULE_WIDL) $(WIDL) $(IDLFLAGS) -u -U $@ $<
.idl_p.c:
- $(WIDL) $(IDLFLAGS) -p -P $@ $<
+ $(MAKERULE_WIDL) $(WIDL) $(IDLFLAGS) -p -P $@ $<
.idl_s.c:
- $(WIDL) $(IDLFLAGS) -s -S $@ $<
+ $(MAKERULE_WIDL) $(WIDL) $(IDLFLAGS) -s -S $@ $<
.idl.tlb:
- $(WIDL) $(IDLFLAGS) -t -T $@ $<
+ $(MAKERULE_WIDL) $(WIDL) $(IDLFLAGS) -t -T $@ $<
.c.ln:
- $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )
+ $(MAKERULE_LINT) $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )
.c.ok:
- $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@
+ $(MAKERULE_RUNTEST) $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@
.sfd.ttf:
- $(FONTFORGE) -script $(TOPSRCDIR)/fonts/genttf.ff $< $@
+ $(MAKERULE_FONTFORGE) $(FONTFORGE) -script $(TOPSRCDIR)/fonts/genttf.ff $< $@
.man.in.man:
- sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,@PACKAGE_STRING@,g' $< >$@ || ($(RM) $@ && false)
+ $(MAKERULE_SED) sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,@PACKAGE_STRING@,g' $< >$@ || ($(RM) $@ && false)
# 'all' target first in case the enclosing Makefile didn't define any target
@@ -196,7 +227,7 @@ filter: dummy
# Rules for resources
$(RC_BINARIES): $(BIN2RES) $(RC_BINSRC)
- $(BIN2RES) -f -o $@ $(SRCDIR)/$(RC_BINSRC)
+ $(MAKERULE_BIN2RES) $(BIN2RES) -f -o $@ $(SRCDIR)/$(RC_BINSRC)
$(RC_SRCS:.rc=.res) $(RC_SRCS16:.rc=.res): $(WRC) $(RC_BINARIES) $(IDL_TLB_SRCS:.idl=.tlb)
@@ -228,7 +259,7 @@ $(SUBDIRS:%=%/__depend__): dummy
@cd `dirname [EMAIL PROTECTED] && $(MAKE) depend
depend: $(SUBDIRS:%=%/__depend__) dummy
- $(MAKEDEP) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
+ $(MAKERULE_MAKEDEP) $(MAKEDEP) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
.PHONY: depend $(SUBDIRS:%=%/__depend__)
diff --git a/configure.ac b/configure.ac
index e06b2bc..99c0e3f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1427,6 +1427,39 @@ case $host_vendor in
*sun*) WINE_CHECK_DEFINE([__sun__]) ;;
esac
+dnl *** Pretty build system support ***
+
+case $build_os in
+ linux*)
+ AC_SUBST(MAKERULE_CC, "@\$(MAKERULE) 'CC \$@'")
+ AC_SUBST(MAKERULE_AS, "@\$(MAKERULE) 'AS \$@'")
+ AC_SUBST(MAKERULE_WIDL, "@\$(MAKERULE) 'WIDL \$< -> \$@'")
+ AC_SUBST(MAKERULE_BISON, "@\$(MAKERULE) 'BISON \$< -> \$@'")
+ AC_SUBST(MAKERULE_FLEX, "@\$(MAKERULE) 'FLEX \$< -> \$@'")
+ AC_SUBST(MAKERULE_WINEBUILD, "@\$(MAKERULE) 'WINEBUILD \$@'")
+ AC_SUBST(MAKERULE_WINEBUILD2, "@\$(MAKERULE) 'WINEBUILD \$< -> \$@'")
+ AC_SUBST(MAKERULE_LINT, "@\$(MAKERULE) 'LINT \$@'")
+ AC_SUBST(MAKERULE_RUNTEST, "@\$(MAKERULE) 'RUNTEST \$<'")
+ AC_SUBST(MAKERULE_FONTFORGE, "@\$(MAKERULE) 'FONTFORGE \$@'")
+ AC_SUBST(MAKERULE_SED, "@\$(MAKERULE) 'SED \$@'")
+ AC_SUBST(MAKERULE_BIN2RES, "@\$(MAKERULE) 'BIN2RES \$(RC_BINSRC) -> \$@'")
+ AC_SUBST(MAKERULE_MAKEDEP, "@\$(MAKERULE) 'MAKEDEP'")
+ AC_SUBST(MAKERULE_WMC, "\$(MAKERULE) 'WMC \$@'")
+ AC_SUBST(MAKERULE_RC, "\$(MAKERULE) 'RC \$@'")
+ AC_SUBST(MAKERULE_LINK, "@\$(MAKERULE) 'LINK \$@'")
+ AC_SUBST(MAKERULE_BLANK, "@\$(MAKERULE) ''")
+ AC_SUBST(MAKERULE_AR, "@\$(MAKERULE) 'AR \$@'")
+ AC_SUBST(MAKERULE_RANLIB, "@\$(MAKERULE) 'RANLIB \$@'")
+ AC_SUBST(MAKERULE_LDSHARED, "@\$(MAKERULE) 'LDSHARED \$@'")
+ AC_SUBST(MAKERULE_DLLTOOL, "@\$(MAKERULE) 'DLLTOOL \$@'")
+ AC_SUBST(MAKERULE_MINGWAR, "@\$(MAKERULE) 'MINGWAR \$@'")
+ AC_SUBST(MAKERULE_MAKECTESTS, "@\$(MAKERULE) 'MAKECTESTS \$@'")
+ AC_SUBST(MAKERULE_CROSSCC, "@\$(MAKERULE) 'CROSSCC \$@'")
+ AC_SUBST(MAKERULE_CROSSWINDRES, "@\$(MAKERULE) 'CROSSWINDRES \$@'")
+ AC_SUBST(MAKERULE_SILENT, "@")
+ ;;
+esac
+
dnl **** Generate output files ****
dnl autoconf versions before 2.59d need backslashes to escape newlines in subst variables
@@ -1436,7 +1469,7 @@ AC_SUBST(DEPENDENCIES,m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]), [2
.INIT: Makefile\\
.BEGIN: Makefile\\
Makefile: dummy\\
- -\$(MAKEDEP) -C\$(SRCDIR) -S\$(TOPSRCDIR) -T\$(TOPOBJDIR) \$(EXTRAINCL) \$(DEPEND_SRCS)\\
+ -\$(MAKERULE_MAKEDEP) \$(MAKEDEP) -C\$(SRCDIR) -S\$(TOPSRCDIR) -T\$(TOPOBJDIR) \$(EXTRAINCL) \$(DEPEND_SRCS)\\
\\
\$(OBJS): \$(IDL_GEN_HEADERS)\\
\$(IDL_GEN_C_SRCS:.c=.o): \$(IDL_GEN_C_SRCS)\\
diff --git a/dlls/Makedll.rules.in b/dlls/Makedll.rules.in
index 3162175..1fedcbe 100644
--- a/dlls/Makedll.rules.in
+++ b/dlls/Makedll.rules.in
@@ -32,12 +32,12 @@ all: $(MODULE)$(DLLEXT) $(SUBDIRS)
# Rules for .so files
$(MODULE).so: $(MAINSPEC) $(ALL_OBJS) Makefile.in
- $(WINEGCC) -B$(TOOLSDIR)/tools/winebuild -shared $(SRCDIR)/$(MAINSPEC) $(ALL_OBJS) $(SUBSYSTEM:%=-Wb,--subsystem,%) $(DLLFILENAME:%=-Wb,-F,%) $(BASEADDRESS:%=-Wl,--image-base,%) -o $@ $(DELAYIMPORTS:%=-l%) $(IMPORTS:%=-l%) $(DELAYIMPORTS:%=-Wb,-d%) $(ALL_LIBS)
+ $(MAKERULE_LINK) $(WINEGCC) -B$(TOOLSDIR)/tools/winebuild -shared $(SRCDIR)/$(MAINSPEC) $(ALL_OBJS) $(SUBSYSTEM:%=-Wb,--subsystem,%) $(DLLFILENAME:%=-Wb,-F,%) $(BASEADDRESS:%=-Wl,--image-base,%) -o $@ $(DELAYIMPORTS:%=-l%) $(IMPORTS:%=-l%) $(DELAYIMPORTS:%=-Wb,-d%) $(ALL_LIBS)
# Rules for .dll files
$(MODULE): $(RCOBJS) $(OBJS) $(SPEC_DEF) Makefile.in
- $(DLLWRAP) -k --def $(SPEC_DEF) -o $@ $(RCOBJS) $(OBJS) $(DLL_LDPATH) $(DELAYIMPORTS:%=-l%) $(IMPORTS:%=-l%) $(LIBWINE) $(ALL_LIBS)
+ $(MAKERULE_LINK) $(DLLWRAP) -k --def $(SPEC_DEF) -o $@ $(RCOBJS) $(OBJS) $(DLL_LDPATH) $(DELAYIMPORTS:%=-l%) $(IMPORTS:%=-l%) $(LIBWINE) $(ALL_LIBS)
# Rules for import libraries
@@ -48,16 +48,16 @@ all implib: $(IMPORTLIB) $(IMPLIB_SRCS:%=__static_implib__%)
$(IMPLIB_SRCS:%=__static_implib__%): $(STATICIMPLIB)
lib$(BASEMODULE).def: $(MAINSPEC)
- $(WINEBUILD) -w --def -o $@ --export $(SRCDIR)/$(MAINSPEC)
+ $(MAKERULE_WINEBUILD2) $(WINEBUILD) -w --def -o $@ --export $(SRCDIR)/$(MAINSPEC)
lib$(BASEMODULE).def.a: $(IMPLIB_OBJS)
- $(RM) $@
- $(AR) $@ $(IMPLIB_OBJS)
- $(RANLIB) $@
+ $(MAKERULE_BLANK) $(RM) $@
+ $(MAKERULE_AR) $(AR) $@ $(IMPLIB_OBJS)
+ $(MAKERULE_RANLIB) $(RANLIB) $@
lib$(BASEMODULE).a: $(SPEC_DEF) $(IMPLIB_OBJS)
- $(DLLTOOL) -k -l $@ -d $(SPEC_DEF)
- $(MINGWAR) rs $@ $(IMPLIB_OBJS)
+ $(MAKERULE_DLLTOOL) $(DLLTOOL) -k -l $@ -d $(SPEC_DEF)
+ $(MAKERULE_MINGWAR) $(MINGWAR) rs $@ $(IMPLIB_OBJS)
$(SUBDIRS): implib
diff --git a/dlls/Makeimplib.rules.in b/dlls/Makeimplib.rules.in
index 19011c1..baf696e 100644
--- a/dlls/Makeimplib.rules.in
+++ b/dlls/Makeimplib.rules.in
@@ -17,9 +17,9 @@ all: $(MODULE)
# Rules for .a library
$(MODULE): $(OBJS) Makefile.in
- $(RM) $@
- $(AR) $@ $(OBJS)
- $(RANLIB) $@
+ $(MAKERULE_BLANK) $(RM) $@
+ $(MAKERULE_AR) $(AR) $@ $(OBJS)
+ $(MAKERULE_RANLIB) $(RANLIB) $@
# Rules for installation
diff --git a/dlls/Maketest.rules.in b/dlls/Maketest.rules.in
index 73bf4d9..00e5c29 100644
--- a/dlls/Maketest.rules.in
+++ b/dlls/Maketest.rules.in
@@ -33,17 +33,17 @@ all: $(TESTPROGRAM)
# Rules for .so main module
$(MODULE).so: $(OBJS) $(RC_SRCS:.rc=.res) Makefile.in
- $(WINEGCC) -B$(TOOLSDIR)/tools/winebuild -mconsole $(OBJS) $(RC_SRCS:.rc=.res) -o $@ $(LIBPORT) $(ALL_LIBS)
+ $(MAKERULE_LINK) $(WINEGCC) -B$(TOOLSDIR)/tools/winebuild -mconsole $(OBJS) $(RC_SRCS:.rc=.res) -o $@ $(LIBPORT) $(ALL_LIBS)
# Rules for .exe main module
$(MODULE): $(OBJS) $(RCOBJS) Makefile.in
- $(CC) $(OBJS) $(RCOBJS) -o $@ $(ALL_LIBS)
+ $(MAKERULE_LINK) $(CC) $(OBJS) $(RCOBJS) -o $@ $(ALL_LIBS)
# Rules for building test list
testlist.c: Makefile.in $(MAKECTESTS)
- $(MAKECTESTS) -o $@ $(CTESTS)
+ $(MAKERULE_MAKECTESTS) $(MAKECTESTS) -o $@ $(CTESTS)
testlist.o: testlist.c $(TOPSRCDIR)/include/wine/test.h
@@ -58,15 +58,15 @@ $(TESTRESULTS): $(MODULE)$(DLLEXT) ../$(TESTDLL)$(DLLEXT)
.SUFFIXES: .cross.o .res.cross.o
.c.cross.o:
- $(CROSSCC) -c $(ALLCFLAGS) -o $@ $<
+ $(MAKERULE_CROSSCC) $(CROSSCC) -c $(ALLCFLAGS) -o $@ $<
.res.res.cross.o:
- $(CROSSWINDRES) -i $< -o $@
+ $(MAKERULE_CROSSWINDRES) $(CROSSWINDRES) -i $< -o $@
crosstest:: @CROSSTEST@
$(CROSSTEST): $(CROSSOBJS) Makefile.in
- $(CROSSCC) $(CROSSOBJS) -o $@ $(ALL_LIBS)
+ $(MAKERULE_LINK) $(CROSSCC) $(CROSSOBJS) -o $@ $(ALL_LIBS)
# Rules for cleaning
diff --git a/dlls/ntdll/Makefile.in b/dlls/ntdll/Makefile.in
index 6797da5..f243c62 100644
--- a/dlls/ntdll/Makefile.in
+++ b/dlls/ntdll/Makefile.in
@@ -59,6 +59,6 @@ EXTRA_OBJS = relay32.o
@MAKE_DLL_RULES@
relay32.o: $(WINEBUILD)
- $(WINEBUILD) $(WINEBUILDFLAGS) -o $@ --relay32
+ $(MAKERULE_WINEBUILD) $(WINEBUILD) $(WINEBUILDFLAGS) -o $@ --relay32
@DEPENDENCIES@ # everything below this line is overwritten by make depend
diff --git a/libs/port/Makefile.in b/libs/port/Makefile.in
index 2504620..ec7213e 100644
--- a/libs/port/Makefile.in
+++ b/libs/port/Makefile.in
@@ -35,8 +35,8 @@ all: $(MODULE)
@MAKE_RULES@
$(MODULE): $(OBJS) Makefile.in
- $(RM) $@
- $(AR) $@ $(OBJS)
- $(RANLIB) $@
+ $(MAKERULE_BLANK) $(RM) $@
+ $(MAKERULE_AR) $(AR) $@ $(OBJS)
+ $(MAKERULE_BLANK) $(RANLIB) $@
@DEPENDENCIES@ # everything below this line is overwritten by make depend
diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in
index d126e5b..ef98649 100644
--- a/libs/wine/Makefile.in
+++ b/libs/wine/Makefile.in
@@ -112,12 +112,12 @@ CONFIGDIRS = \
-DBIN_TO_DATADIR=\"`$(RELPATH) $(bindir) $(datadir)/wine`\"
config.o: config.c $(RELPATH)
- $(CC) -c $(ALLCFLAGS) -o $@ $(SRCDIR)/config.c $(CONFIGDIRS)
+ $(MAKERULE_CC) $(CC) -c $(ALLCFLAGS) -o $@ $(SRCDIR)/config.c $(CONFIGDIRS)
# Linking rules
libwine.so.$(VERSION): $(OBJS) $(VERSCRIPT) Makefile.in
- $(LDSHARED) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@
+ $(MAKERULE_LDSHARED) $(LDSHARED) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@
libwine.so.$(SOVERSION): libwine.so.$(VERSION)
$(RM) $@ && $(LN_S) libwine.so.$(VERSION) $@
@@ -134,7 +134,7 @@ libwine.dll: $(OBJS) wine.def Makefile.in
DYLIB_LDFLAGS = -compatibility_version $(SOVERSION) -current_version $(VERSION)
libwine.$(VERSION).dylib: $(OBJS) $(RELPATH) Makefile.in
- $(LDSHARED) $(DYLIB_LDFLAGS) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@
+ $(MAKERULE_LDSHARED) $(LDSHARED) $(DYLIB_LDFLAGS) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@
libwine.$(SOVERSION).dylib: libwine.$(VERSION).dylib
$(RM) $@ && $(LN_S) libwine.$(VERSION).dylib $@
diff --git a/libs/wpp/Makefile.in b/libs/wpp/Makefile.in
index 5d818b7..39648e4 100644
--- a/libs/wpp/Makefile.in
+++ b/libs/wpp/Makefile.in
@@ -16,9 +16,9 @@ all: $(MODULE)
@MAKE_RULES@
$(MODULE): $(OBJS)
- $(RM) $@
- $(AR) $@ $(OBJS)
- $(RANLIB) $@
+ $(MAKERULE_BLANK) $(RM) $@
+ $(MAKERULE_AR) $(AR) $@ $(OBJS)
+ $(MAKERULE_RANLIB) $(RANLIB) $@
ppy.tab.c: ppy.tab.h # for parallel makes
diff --git a/loader/Makefile.in b/loader/Makefile.in
index 2b3d457..183a20c 100644
--- a/loader/Makefile.in
+++ b/loader/Makefile.in
@@ -37,16 +37,16 @@ LIBPTHREAD = @LIBPTHREAD@
LDEXECFLAGS = @LDEXECFLAGS@
wine-glibc: glibc.o Makefile.in
- $(CC) -o $@ glibc.o $(LIBWINE_LDFLAGS) $(LIBPORT) $(LIBPTHREAD) $(EXTRALIBS) $(LDFLAGS)
+ $(MAKERULE_LINK) $(CC) -o $@ glibc.o $(LIBWINE_LDFLAGS) $(LIBPORT) $(LIBPTHREAD) $(EXTRALIBS) $(LDFLAGS)
wine-preloader: preloader.o Makefile.in
- $(CC) -o $@ -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c000000 preloader.o $(LIBPORT) $(LDFLAGS)
+ $(MAKERULE_LINK) $(CC) -o $@ -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c000000 preloader.o $(LIBPORT) $(LDFLAGS)
wine-kthread: $(KTHREAD_OBJS) Makefile.in
- $(CC) -o $@ $(LDEXECFLAGS) $(KTHREAD_OBJS) $(LIBWINE_LDFLAGS) $(LIBPORT) $(EXTRALIBS) $(LDFLAGS)
+ $(MAKERULE_LINK) $(CC) -o $@ $(LDEXECFLAGS) $(KTHREAD_OBJS) $(LIBWINE_LDFLAGS) $(LIBPORT) $(EXTRALIBS) $(LDFLAGS)
wine-pthread: $(PTHREAD_OBJS) Makefile.in
- $(CC) -o $@ $(LDEXECFLAGS) $(PTHREAD_OBJS) $(LIBWINE_LDFLAGS) $(LIBPORT) $(LIBPTHREAD) $(EXTRALIBS) $(LDFLAGS)
+ $(MAKERULE_LINK) $(CC) -o $@ $(LDEXECFLAGS) $(PTHREAD_OBJS) $(LIBWINE_LDFLAGS) $(LIBPORT) $(LIBPTHREAD) $(EXTRALIBS) $(LDFLAGS)
$(MODULE): $(MAIN_BINARY)
$(RM) $(MODULE) && $(LN_S) $(MAIN_BINARY) $(MODULE)
diff --git a/programs/Makeprog.rules.in b/programs/Makeprog.rules.in
index f73498e..eb893b0 100644
--- a/programs/Makeprog.rules.in
+++ b/programs/Makeprog.rules.in
@@ -23,7 +23,7 @@ all: $(MODULE)$(DLLEXT) $(BASEMODULE)$(EXEEXT)
# Rules for .so main module
$(MODULE).so: $(OBJS) $(RC_SRCS:.rc=.res) Makefile.in
- $(WINEGCC) -B$(TOOLSDIR)/tools/winebuild $(APPMODE) $(OBJS) $(RC_SRCS:.rc=.res) -o $@ $(ALL_LIBS) $(DELAYIMPORTS:%=-Wb,-d%)
+ $(MAKERULE_LINK) $(WINEGCC) -B$(TOOLSDIR)/tools/winebuild $(APPMODE) $(OBJS) $(RC_SRCS:.rc=.res) -o $@ $(ALL_LIBS) $(DELAYIMPORTS:%=-Wb,-d%)
$(BASEMODULE): $(WINEWRAPPER)
$(RM) $@ && $(LN_S) $(WINEWRAPPER) $@
@@ -31,7 +31,7 @@ $(BASEMODULE): $(WINEWRAPPER)
# Rules for .exe main module
$(MODULE): $(OBJS) $(RCOBJS) Makefile.in
- $(CC) $(APPMODE) $(OBJS) $(RCOBJS) -o $@ $(LIBWINE) $(ALL_LIBS)
+ $(MAKERULE_LINK) $(CC) $(APPMODE) $(OBJS) $(RCOBJS) -o $@ $(LIBWINE) $(ALL_LIBS)
# Rules for testing
diff --git a/server/Makefile.in b/server/Makefile.in
index 7648281..fed493c 100644
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -65,7 +65,7 @@ all: $(PROGRAMS) $(MANPAGES)
@MAKE_RULES@
wineserver: $(OBJS)
- $(CC) -o $@ $(OBJS) $(LIBWINE_LDFLAGS) $(LIBPORT) $(LDFLAGS) $(LIBS)
+ $(MAKERULE_LINK) $(CC) -o $@ $(OBJS) $(LIBWINE_LDFLAGS) $(LIBPORT) $(LDFLAGS) $(LIBS)
install:: $(PROGRAMS) $(MANPAGES) $(INSTALLDIRS)
$(INSTALL_PROGRAM) wineserver $(DESTDIR)$(bindir)/wineserver
diff --git a/tools/Makefile.in b/tools/Makefile.in
index aa69d97..97aa8bb 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -55,25 +55,25 @@ all: $(PROGRAMS) $(MANPAGES) $(SUBDIRS)
@MAKE_RULES@
makedep$(EXEEXT) $(EXEEXT:%=makedep): makedep.o
- $(CC) $(CFLAGS) -o $@ makedep.o $(LDFLAGS)
+ $(MAKERULE_LINK) $(CC) $(CFLAGS) -o $@ makedep.o $(LDFLAGS)
make_ctests$(EXEEXT): make_ctests.o
- $(CC) $(CFLAGS) -o $@ make_ctests.o $(LDFLAGS)
+ $(MAKERULE_LINK) $(CC) $(CFLAGS) -o $@ make_ctests.o $(LDFLAGS)
fnt2bdf$(EXEEXT): fnt2bdf.o
- $(CC) $(CFLAGS) -o $@ fnt2bdf.o $(LIBPORT) $(LDFLAGS)
+ $(MAKERULE_LINK) $(CC) $(CFLAGS) -o $@ fnt2bdf.o $(LIBPORT) $(LDFLAGS)
fnt2fon$(EXEEXT): fnt2fon.o
- $(CC) $(CFLAGS) -o $@ fnt2fon.o $(LIBPORT) $(LDFLAGS)
+ $(MAKERULE_LINK) $(CC) $(CFLAGS) -o $@ fnt2fon.o $(LIBPORT) $(LDFLAGS)
relpath$(EXEEXT): relpath.o
- $(CC) $(CFLAGS) -o $@ relpath.o $(LIBPORT) $(LDFLAGS)
+ $(MAKERULE_LINK) $(CC) $(CFLAGS) -o $@ relpath.o $(LIBPORT) $(LDFLAGS)
sfnt2fnt$(EXEEXT): sfnt2fnt.o
- $(CC) $(CFLAGS) -o $@ sfnt2fnt.o $(LIBWINE) $(LIBPORT) $(LDFLAGS) $(FREETYPELIBS)
+ $(MAKERULE_LINK) $(CC) $(CFLAGS) -o $@ sfnt2fnt.o $(LIBWINE) $(LIBPORT) $(LDFLAGS) $(FREETYPELIBS)
bin2res$(EXEEXT): bin2res.o
- $(CC) $(CFLAGS) -o $@ bin2res.o $(LIBPORT) $(LDFLAGS)
+ $(MAKERULE_LINK) $(CC) $(CFLAGS) -o $@ bin2res.o $(LIBPORT) $(LDFLAGS)
wineprefixcreate: wineprefixcreate.in relpath$(EXEEXT)
sed -e "s,@bintodlldir\@,`$(RELPATH) $(bindir) $(dlldir)`,g" -e "s,@bintodatadir\@,`$(RELPATH) $(bindir) $(datadir)/wine`,g" $(SRCDIR)/wineprefixcreate.in >$@ || ($(RM) $@ && false)
diff --git a/tools/makerule b/tools/makerule
new file mode 100755
index 0000000..832bd12
--- /dev/null
+++ b/tools/makerule
@@ -0,0 +1,28 @@
+#! /bin/sh
+
+command="$1"
+shift
+
+for flag in ${MAKEFLAGS}; do
+ case "$flag" in
+ --*) quiet="" ;;
+ *s*) quiet=t ;;
+ *) quiet="" ;;
+ esac
+done
+
+if test "${V}" == "1"; then
+ if test -z "$quiet"; then
+ echo "$@"
+ fi
+ exec "$@"
+else
+ if test -n "$command" -a -z "$quiet"; then
+ echo "$command"
+ fi
+ "$@" && exit 0
+ exit_code=$?
+ echo "The command that failed was:" 1>&2
+ echo "$@" 1>&2
+ exit $exit_code
+fi
diff --git a/tools/widl/Makefile.in b/tools/widl/Makefile.in
index a3145b2..5e8f08e 100644
--- a/tools/widl/Makefile.in
+++ b/tools/widl/Makefile.in
@@ -30,7 +30,7 @@ all: $(PROGRAMS) $(MANPAGES)
@MAKE_RULES@
widl$(EXEEXT): $(OBJS) $(LIBWPP)
- $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBWPP) $(LIBPORT) $(LDFLAGS)
+ $(MAKERULE_CC) $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBWPP) $(LIBPORT) $(LDFLAGS)
install:: $(PROGRAMS) $(MANPAGES) $(INSTALLDIRS)
$(INSTALL_PROGRAM) widl$(EXEEXT) $(DESTDIR)$(bindir)/widl$(EXEEXT)
diff --git a/tools/winebuild/Makefile.in b/tools/winebuild/Makefile.in
index 77f3691..8edc813 100644
--- a/tools/winebuild/Makefile.in
+++ b/tools/winebuild/Makefile.in
@@ -26,7 +26,7 @@ all: $(PROGRAMS) $(MANPAGES)
@MAKE_RULES@
winebuild$(EXEEXT): $(OBJS)
- $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBPORT) $(LDFLAGS)
+ $(MAKERULE_CC) $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBPORT) $(LDFLAGS)
install:: $(PROGRAMS) $(MANPAGES) $(INSTALLDIRS)
$(INSTALL_PROGRAM) winebuild$(EXEEXT) $(DESTDIR)$(bindir)/winebuild$(EXEEXT)
diff --git a/tools/winedump/Makefile.in b/tools/winedump/Makefile.in
index 63af00b..8bbf29c 100644
--- a/tools/winedump/Makefile.in
+++ b/tools/winedump/Makefile.in
@@ -35,7 +35,7 @@ all: $(PROGRAMS) $(MANPAGES)
@MAKE_RULES@
winedump$(EXEEXT): $(OBJS)
- $(CC) $(CFLAGS) -o winedump$(EXEEXT) $(OBJS) $(LIBPORT) $(LDFLAGS)
+ $(MAKERULE_CC) $(CC) $(CFLAGS) -o winedump$(EXEEXT) $(OBJS) $(LIBPORT) $(LDFLAGS)
install:: $(PROGRAMS) $(MANPAGES) $(INSTALLDIRS)
$(INSTALL_PROGRAM) winedump$(EXEEXT) $(DESTDIR)$(bindir)/winedump$(EXEEXT)
diff --git a/tools/winegcc/Makefile.in b/tools/winegcc/Makefile.in
index c2640e2..c65d72a 100644
--- a/tools/winegcc/Makefile.in
+++ b/tools/winegcc/Makefile.in
@@ -36,7 +36,7 @@ all: $(PROGRAMS) $(MANPAGES)
@MAKE_RULES@
winegcc$(EXEEXT): winegcc.o utils.o
- $(CC) $(CFLAGS) -o $@ winegcc.o utils.o $(LIBPORT) $(LDFLAGS)
+ $(MAKERULE_CC) $(CC) $(CFLAGS) -o $@ winegcc.o utils.o $(LIBPORT) $(LDFLAGS)
winecpp$(EXEEXT) wineg++$(EXEEXT): winegcc$(EXEEXT)
$(RM) $@ && $(LN_S) winegcc$(EXEEXT) $@
diff --git a/tools/wmc/Makefile.in b/tools/wmc/Makefile.in
index 5e6e31a..e612e9d 100644
--- a/tools/wmc/Makefile.in
+++ b/tools/wmc/Makefile.in
@@ -24,7 +24,7 @@ all: $(PROGRAMS) $(MANPAGES)
@MAKE_RULES@
wmc$(EXEEXT): $(OBJS)
- $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBWINE_LDFLAGS) $(LIBPORT) $(LDFLAGS)
+ $(MAKERULE_CC) $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBWINE_LDFLAGS) $(LIBPORT) $(LDFLAGS)
install:: $(PROGRAMS) $(MANPAGES) $(INSTALLDIRS)
$(INSTALL_DATA) wmc.man $(DESTDIR)$(mandir)/man$(prog_manext)/wmc.$(prog_manext)
diff --git a/tools/wrc/Makefile.in b/tools/wrc/Makefile.in
index 9bae142..4b34e32 100644
--- a/tools/wrc/Makefile.in
+++ b/tools/wrc/Makefile.in
@@ -29,7 +29,7 @@ all: $(PROGRAMS) $(MANPAGES)
@MAKE_RULES@
wrc$(EXEEXT): $(OBJS) $(LIBWPP)
- $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBWPP) $(LIBWINE_LDFLAGS) $(LIBPORT) $(LDFLAGS)
+ $(MAKERULE_CC) $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBWPP) $(LIBWINE_LDFLAGS) $(LIBPORT) $(LDFLAGS)
install:: $(PROGRAMS) $(MANPAGES) $(INSTALLDIRS)
$(INSTALL_DATA) wrc.man $(DESTDIR)$(mandir)/man$(prog_manext)/wrc.$(prog_manext)
--
1.5.0