From d83d51d6b9f7ba9cca83b143a723fdecacc47da7 Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Thu, 29 Jan 2009 21:47:10 +0000 Subject: [PATCH] 2009-01-29 22:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/rules.cf * harbour/config/dos/bcc16.cf ! fixed wrong automatic macros $? was used instead of $< * harbour/config/dir.cf * optional new DIR_RULE setting for easier testing * harbour/config/c.cf + added support for setting dependencies for files which needs grammar header files generated by bison (YACC_DEPEND) * harbour/source/macro/Makefile * marked macrolex.c as YACC_DEPEND dependent * harbour/source/compiler/Makefile * marked complex.c as YACC_DEPEND dependent --- harbour/ChangeLog | 18 ++++++++++++++++++ harbour/config/c.cf | 3 +++ harbour/config/dir.cf | 2 ++ harbour/config/dos/bcc16.cf | 2 +- harbour/config/rules.cf | 4 ++-- harbour/source/compiler/Makefile | 1 + harbour/source/macro/Makefile | 1 + 7 files changed, 28 insertions(+), 3 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index e54a649496..ba893b5496 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,24 @@ 2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-01-29 22:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/config/rules.cf + * harbour/config/dos/bcc16.cf + ! fixed wrong automatic macros $? was used instead of $< + + * harbour/config/dir.cf + * optional new DIR_RULE setting for easier testing + + * harbour/config/c.cf + + added support for setting dependencies for files which needs + grammar header files generated by bison (YACC_DEPEND) + + * harbour/source/macro/Makefile + * marked macrolex.c as YACC_DEPEND dependent + + * harbour/source/compiler/Makefile + * marked complex.c as YACC_DEPEND dependent + 2009-01-29 19:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/postinst.sh ! added missing export in envvar setting. diff --git a/harbour/config/c.cf b/harbour/config/c.cf index b913391e61..d41e85e6da 100644 --- a/harbour/config/c.cf +++ b/harbour/config/c.cf @@ -14,6 +14,9 @@ YACC_H = y_tab.h YACC_OUTPUT = $(YACC_C:.c=.out) YACC_OBJ = $(YACC_C:.c=$(OBJ_EXT)) YACC_HB_H := $(foreach h, $(YACC_HEADERS), $(HB_INC_COMPILE)/$(h)) +ifneq ($(YACC_DEPEND),) +$(foreach f, $(YACC_DEPEND), $(f:.c=$(OBJ_EXT))) : $(YACC_C) +endif endif ifdef LEX_SOURCE diff --git a/harbour/config/dir.cf b/harbour/config/dir.cf index cb6cb7ed62..d87529252d 100644 --- a/harbour/config/dir.cf +++ b/harbour/config/dir.cf @@ -8,6 +8,7 @@ ifneq ($(HB_COMPILER),) include $(TOP)$(ROOT)config/global.cf #include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/dir.cf +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 @@ -17,6 +18,7 @@ endef DIRS_MK = $(foreach d, $(DIRS), $(if $(wildcard $(d)/Makefile),$(d),)) DIR_RULE = $(foreach dir, $(DIRS_MK), $(dir_mk)) +endif all : first diff --git a/harbour/config/dos/bcc16.cf b/harbour/config/dos/bcc16.cf index 456260876b..9683204873 100644 --- a/harbour/config/dos/bcc16.cf +++ b/harbour/config/dos/bcc16.cf @@ -28,7 +28,7 @@ CPPFLAGS = -I$($(HB_ARCHITECTURE)_$(HB_COMPILER)_GRANDP) -I$(_HB_INC_COMPILE) CFLAGS = -i48 -O2 -mh -d -DHB_LONG_LONG_OFF # BCC (at least version 3.1) requires that the output file be listed ahead of the input file -CC_RULE = $(CC) $(CPPFLAGS) $(CFLAGS) $(C_USR) $(CC_OUT)$(?F:.c=$(OBJ_EXT)) $(CC_IN) $? +CC_RULE = $(CC) $(CPPFLAGS) $(CFLAGS) $(C_USR) $(CC_OUT)$(