From 37b13801d9036f3f7b9704e14629bcebca2fc19e Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 11 Aug 2009 13:05:39 +0000 Subject: [PATCH] 2009-08-11 15:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * config/none.cf * config/lib.cf * config/bin.cf * config/dir.cf * config/dirsh.cf + Added $(MKFLAGS) to all internal $(MK) calls. + Initializing $(MKFLAGS) to --no-print-directory, which suppresses "Entering directory"/"Leaving directory" GNU Make messages. They can be useful for debugging, but for normal operation IMO they just add up to unnecessary clutter. Please tell if you think otherwise. Despite docs say it's enabled when using -C (change dir) option, I've only seen it enabled on win/dos platforms, so for other platforms (at least *nixes) this won't change behavior. + Added '@' prefix for $(MK) calls, so recursive GNU Make invocations won't be shown anymore on screen. Again, please tell if this isn't good, I'll also evaluate things this way and see whether to keep it. For sure on *nixes the GNU Make output is extremely short and clean now for a simple incremental make session. Sometimes though it's useful information when someone posts a log snippet. * Indentation. * config/dirsh.cf * Little consistency fix: Using $(MK) instead of $(MAKE). They are the same at this point. * config/global.cf + Shows $(MAKE) value as part of the configuration. * config/test.cf * Small change in wording: 'ignored' -> 'skipped' --- harbour/ChangeLog | 35 +++++++++++++++++++++++++++++++++++ harbour/config/bin.cf | 2 +- harbour/config/dir.cf | 9 ++++----- harbour/config/dirsh.cf | 34 ++++++++++++---------------------- harbour/config/global.cf | 4 ++++ harbour/config/lib.cf | 3 +-- harbour/config/none.cf | 2 +- harbour/config/test.cf | 2 +- 8 files changed, 59 insertions(+), 32 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 0f11e45400..4fdc0b4bba 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,41 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-08-11 15:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * config/none.cf + * config/lib.cf + * config/bin.cf + * config/dir.cf + * config/dirsh.cf + + Added $(MKFLAGS) to all internal $(MK) calls. + + Initializing $(MKFLAGS) to --no-print-directory, which + suppresses "Entering directory"/"Leaving directory" GNU + Make messages. They can be useful for debugging, but for + normal operation IMO they just add up to unnecessary + clutter. Please tell if you think otherwise. + Despite docs say it's enabled when using -C (change dir) + option, I've only seen it enabled on win/dos platforms, + so for other platforms (at least *nixes) this won't change + behavior. + + Added '@' prefix for $(MK) calls, so recursive GNU Make + invocations won't be shown anymore on screen. + Again, please tell if this isn't good, I'll also evaluate + things this way and see whether to keep it. For sure on + *nixes the GNU Make output is extremely short and clean + now for a simple incremental make session. Sometimes though + it's useful information when someone posts a log snippet. + * Indentation. + + * config/dirsh.cf + * Little consistency fix: Using $(MK) instead of $(MAKE). + They are the same at this point. + + * config/global.cf + + Shows $(MAKE) value as part of the configuration. + + * config/test.cf + * Small change in wording: 'ignored' -> 'skipped' + 2009-08-11 14:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/fstemp.c * enabled mkstemps() in *BSD and Darwin builds diff --git a/harbour/config/bin.cf b/harbour/config/bin.cf index 543ea84807..c35f7588a7 100644 --- a/harbour/config/bin.cf +++ b/harbour/config/bin.cf @@ -79,7 +79,7 @@ ALL_OBJS = $(ALL_C_OBJS) $(ALL_PRG_OBJS) first:: dirbase descend descend:: dirbase - +@$(MK) -C $(OBJ_DIR) -f $(GRANDP)Makefile TOP=$(GRANDP) $(BIN_NAME) $(HB_USER_MAKEFLAGS) + +@$(MK) $(MKFLAGS) -C $(OBJ_DIR) -f $(GRANDP)Makefile TOP=$(GRANDP) $(BIN_NAME) $(HB_USER_MAKEFLAGS) vpath $(BIN_NAME) $(BIN_DIR) $(BIN_NAME) : $(ALL_OBJS) diff --git a/harbour/config/dir.cf b/harbour/config/dir.cf index 0e786a408f..fba12827e4 100644 --- a/harbour/config/dir.cf +++ b/harbour/config/dir.cf @@ -28,7 +28,7 @@ ifeq ($(DIR_RULE),) # NOTE: The empty line directly before 'endef' HAVE TO exist! # It causes that every commands will be separated by LF define dir_mk -$(MK) -C $(dir) $@ +@$(MK) $(MKFLAGS) -C $(dir) $@ endef @@ -73,17 +73,16 @@ $(foreach dep, $(DIRS_DEP), $(eval $(call dep_rule,$(dep),.inst))) $(foreach dep, $(DIRS_DEP), $(eval $(call dep_rule,$(dep),))) $(DIRS_CLEAN) :: - +$(MK) -C $(@:.clean=) clean + +@$(MK) $(MKFLAGS) -C $(@:.clean=) clean $(DIRS_INST) :: - +$(MK) -C $(@:.inst=) install _HB_BLD=yes + +@$(MK) $(MKFLAGS) -C $(@:.inst=) install _HB_BLD=yes $(DIRS_MK) :: - +$(MK) -C $(@) + +@$(MK) $(MKFLAGS) -C $(@) endif - ifneq ($(HB_POSTINST),) install:: +$(HB_POSTINST) diff --git a/harbour/config/dirsh.cf b/harbour/config/dirsh.cf index 250c99aedf..8bb1af4c0a 100644 --- a/harbour/config/dirsh.cf +++ b/harbour/config/dirsh.cf @@ -3,39 +3,29 @@ # ifneq ($(HB_SHELL),sh) - -MK_OS = $(subst /,\,$(MK)) -DIRS_OS = $(subst /,\,$(DIRS)) - + MK_OS = $(subst /,\,$(MK)) + DIRS_OS = $(subst /,\,$(DIRS)) endif ifeq ($(DIRS),) # Empty directory list - -DIR_RULE := @echo "! Done" - + DIR_RULE := @echo "! Done" else ifeq ($(HB_SHELL),sh) - -DIR_RULE =\ - @for d in $(DIRS); do \ - if [ -d "$$d" ]; then \ - $(MAKE) -C $$d $@; \ - fi \ - done - + DIR_RULE =\ + @for d in $(DIRS); do \ + if [ -d "$$d" ]; then \ + $(MK) $(MKFLAGS) -C $$d $@; \ + fi \ + done endif ifeq ($(HB_SHELL),nt) - -DIR_RULE = for %%d in ($(DIRS_OS)) do $(MK_OS) -C %%d $@ - + DIR_RULE = for %%d in ($(DIRS_OS)) do $(MK_OS) $(MKFLAGS) -C %%d $@ endif ifeq ($(HB_SHELL),os2) - -DIR_RULE = for %d in ($(DIRS_OS)) do $(MK_OS) -C %d $@ - + DIR_RULE = for %d in ($(DIRS_OS)) do $(MK_OS) $(MKFLAGS) -C %d $@ endif ifeq ($(HB_SHELL),dos) @@ -44,7 +34,7 @@ ifeq ($(HB_SHELL),dos) # NOTE: The empty line directly before 'endef' HAVE TO exist! # It causes that every commands will be separated by LF define dir_mk -$(MK_OS) -C $(file) $@ +@$(MK_OS) $(MKFLAGS) -C $(file) $@ endef diff --git a/harbour/config/global.cf b/harbour/config/global.cf index dbc8e2c803..801619c8c3 100644 --- a/harbour/config/global.cf +++ b/harbour/config/global.cf @@ -182,6 +182,7 @@ ifeq ($(HB_CONFIG_SHOWN),) $(info ! Dynamic library creation phase) endif $(info ! Configuration:) + $(info ! MAKE: $(MAKE)) ifneq ($(HB_USER_PRGFLAGS),) $(info ! HB_USER_PRGFLAGS: $(HB_USER_PRGFLAGS)) endif @@ -705,6 +706,9 @@ export HARBOURCMD := export CLIPPER := export CLIPPERCMD := +# important only for win hosts +MKFLAGS := --no-print-directory + include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/global.cf include $(TOP)$(ROOT)config/globsh.cf diff --git a/harbour/config/lib.cf b/harbour/config/lib.cf index 4ed94739ec..49dc015eef 100644 --- a/harbour/config/lib.cf +++ b/harbour/config/lib.cf @@ -20,13 +20,12 @@ ALL_OBJS = $(ALL_C_OBJS) $(ALL_PRG_OBJS) first:: dirbase descend descend:: dirbase - +@$(MK) -C $(OBJ_DIR) -f $(GRANDP)Makefile TOP=$(GRANDP) $(LIB_NAME) $(HB_USER_MAKEFLAGS) + +@$(MK) $(MKFLAGS) -C $(OBJ_DIR) -f $(GRANDP)Makefile TOP=$(GRANDP) $(LIB_NAME) $(HB_USER_MAKEFLAGS) vpath $(LIB_NAME) $(LIB_DIR) $(LIB_NAME) : $(ALL_OBJS) $(AR_RULE) - INSTALL_FILES = $(LIB_FILE) INSTALL_DIR = $(HB_LIB_INSTALL) diff --git a/harbour/config/none.cf b/harbour/config/none.cf index 8de18350ec..4e83e91fb2 100644 --- a/harbour/config/none.cf +++ b/harbour/config/none.cf @@ -8,7 +8,7 @@ ifneq ($(HB_ARCHITECTURE),) ifneq ($(HB_COMPILER),) ifneq ($(LIBNAME),) - DIR_RULE := @echo "! '$(LIBNAME)' library ignored" + DIR_RULE := @echo "! '$(LIBNAME)' library skipped" else DIR_RULE := endif diff --git a/harbour/config/test.cf b/harbour/config/test.cf index d0c9dbca70..3e6d1d67c0 100644 --- a/harbour/config/test.cf +++ b/harbour/config/test.cf @@ -13,7 +13,7 @@ include $(TOP)$(ROOT)config/prg.cf first:: dirbase ^^^d^e^s^c^e^n^d^^^ ^^^d^e^s^c^e^n^d^^^ : - @$(MK) -C $(OBJ_DIR) -f $(GRANDP)Makefile TOP=$(GRANDP) $(PRG_EXES) + @$(MK) $(MKFLAGS) -C $(OBJ_DIR) -f $(GRANDP)Makefile TOP=$(GRANDP) $(PRG_EXES) endif endif