Re: Difficulties from the combination of functions "call" and "eval"

2015-01-17 Thread SF Markus Elfring
> So that $(eval $(call GIBBERISH)) is wrong.  Exactly *how* it's wrong
> depends on what the $(call) is supposed to return.  Currently you're
> evaling something that doesn't look like a *STANDALONE* chunk of
> Makefile, which results in the error *in the eval*.

I have added another tab character to a multi-line variable definition
which should be called for a specific evaluation.
Now I get a bit of more "progress indication" from a different error message.

…
parallel-inc.make:249: *** recipe commences before first target.  Stop.


Would you like to give further hints (or advices) for another excerpt
from this build script?

Lines 183 - 203:
define RESULT_CHECK
for part in $(1); do \
if test "x$$(< $$part)" != "x0"; then \
$(PRINTF) "$$(TEXT3)" '$$part'; \
exit 12; \
fi; \
done \
&& $$(TOUCH) '$(2)'
endef

define HANDLE_BACKGROUND_TASK
@$(RM) '$(1)'
$(file >$(2)) \
$(file >>$(2),for task in $$($(SEQ) $(PARALLEL_MAXIMUM) -1 0); \
do $(MAKE) -f $(3) -j1 index=$$task &; \
done) \
$(file >>$(2),wait)
@cat '$(2)'
$$SHELL '$(2)'
$(eval $(call RESULT_CHECK,$(4),$(1)))
endef


Regards,
Markus

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: Questionable line number in a message "missing separator"?

2015-01-17 Thread Philip Guenther
On Sat, Jan 17, 2015 at 12:52 PM, SF Markus Elfring
 wrote:
>> Of course, if you had actually quoted the relevant lines from your
>> Makefile, we could be more precise.
>
> Thanks for your interest.
>
> Do you get further ideas from an excerpt of my build script 
> "parallel-inc.make"?
>
> Lines 241 - 256:
> $(EXIT_CODES_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS) \
> $(RESULT_SQL_DATABASE_NOTIFICATION3) \
> $(RUN_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS): \
> initialise_database \
> $(BUILD_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS) \
> $(HEADER_SEARCH_PARTS)
> $(if 
> $(LET_RUN_FIND_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS_PARALLEL),\
> $(eval 
> LET_RUN_FIND_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS_PARALLEL::=)$(eval
>  $(call HANDLE_BACKGROUND_TASK,\
> $(RESULT_SQL_DATABASE_NOTIFICATION3),\
> $(RUN_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS),\
> $(BUILD_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS),\
> $(EXIT_CODES_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS
>
> find_functions_that_check_their_single_parameter_in_headers_with_parallel_groups:
>  \
> $(RESULT_SQL_DATABASE_NOTIFICATION3)
> @$(ECHO) 'Header files were analysed.'



So that $(eval $(call GIBBERISH)) is wrong.  Exactly *how* it's wrong
depends on what the $(call) is supposed to return.  Currently you're
evaling something that doesn't look like a *STANDALONE* chunk of
Makefile, which results in the error *in the eval*.


Paul, I still think $(eval) should have been named
$(stick-arm-in-woodchipper), to make it less seductive to people
trying to layer imperative programming on the declarative nature of
make.


Philip Guenther

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: Questionable line number in a message "missing separator"?

2015-01-17 Thread SF Markus Elfring
> Of course, if you had actually quoted the relevant lines from your
> Makefile, we could be more precise.

Thanks for your interest.

Do you get further ideas from an excerpt of my build script "parallel-inc.make"?

Lines 241 - 256:
$(EXIT_CODES_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS) \
$(RESULT_SQL_DATABASE_NOTIFICATION3) \
$(RUN_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS): \
initialise_database \
$(BUILD_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS) \
$(HEADER_SEARCH_PARTS)
$(if 
$(LET_RUN_FIND_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS_PARALLEL),\
$(eval 
LET_RUN_FIND_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS_PARALLEL::=)$(eval
 $(call HANDLE_BACKGROUND_TASK,\
$(RESULT_SQL_DATABASE_NOTIFICATION3),\
$(RUN_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS),\
$(BUILD_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS),\
$(EXIT_CODES_FUNCTIONS_THAT_CHECK_THEIR_SINGLE_PARAMETER_IN_HEADERS

find_functions_that_check_their_single_parameter_in_headers_with_parallel_groups:
 \
$(RESULT_SQL_DATABASE_NOTIFICATION3)
@$(ECHO) 'Header files were analysed.'


Regards,
Markus

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: Questionable line number in a message "missing separator"?

2015-01-17 Thread Philip Guenther
On Sat, Jan 17, 2015 at 11:06 AM, SF Markus Elfring
 wrote:
> But the software tool "make 4.1-2.2" does not like
> a specific place in this file at the moment.
>
> …
> parallel-inc.make:247: *** missing separator.  Stop.
>
>
> The mentioned line has got a leading tab character
> for the beginning of a recipe.
> How can this syntax difficulty be resolved now?

A line starting with a tab is only interpreted as part of a recipe if
the previous non-comment line was either a rule or another recipe
line.  If the previous line was an include, a variable assignment, a
vpath setting, etc then the previous recipe is closed and you can't
add another recipe line to it.

Of course, if you had actually quoted the relevant lines from your
Makefile, we could be more precise.


Philip Guenther

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Questionable line number in a message "missing separator"?

2015-01-17 Thread SF Markus Elfring
Hello,

I can use some phony targets from my build script
as expected.

But the software tool "make 4.1-2.2" does not like
a specific place in this file at the moment.

…
parallel-inc.make:247: *** missing separator.  Stop.


The mentioned line has got a leading tab character
for the beginning of a recipe.
How can this syntax difficulty be resolved now?

Regards,
Markus

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make