[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
François Duranleau <address@hidden>, address@hidden
From: |
Manoj Srivastava |
Subject: |
François Duranleau <address@hidden>, address@hidden |
Date: |
Sun, 07 Aug 2005 08:08:25 -0500 |
User-agent: |
Gnus/5.110004 (No Gnus v0.4) Emacs/22.0.50 (gnu/linux) (i686-pc-linux-gnu) |
Hi,
[Please retain the CC to address@hidden
so that the Debian Bug Tracking system can record your
input]
This was reported by a debian user
manoj
I was playing with some rule generating functions (using the eval
function of GNU Make) and I hit a problem when inserting
conditionals. Here is an example where make says there is an error:
# Makefile begin
define other-rule
.PHONY: other-rule
other-rule:
@ echo other-rule
endef
define other-rule2
.PHONY: other-rule2
other-rule:
@ echo other-rule2
endef
define rule_test
.PHONY: rule-test
rule-test: other-rule
ifeq ($$(strip $$(VAR)),)
$$(eval $$(call other-rule))
else
$$(eval $$(call other-rule2))
endif
endef
$(eval $(rule_test))
# Makefile end
And then, running make with the above produces:
% make
Makefile:20: *** missing `endif'. Stop.
I was actually working at school and there I had no problem (they are
running Fedora Core release 2 (Tettnang)). When I uploaded my stuff
here at home, I had a surprise when make reported the error above. So
I fetched the sources codes of make for Debian (make 3.80-9) and the
Red Hat (make-3.80-3.src.rpm) and then I looked at the patched code.
In the Red Hat patch, they added something about conditionals when
evaluating a buffer, so I added the same thing and now make works
well with the example above.
make_3.80-9cond.diff.gz
Description: Compressed diff
--
Boys, you have ALL been selected to LEAVE th' PLANET in 15 minutes!!
Manoj Srivastava <address@hidden> <http://www.golden-gryphon.com/>
1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C
- François Duranleau <address@hidden>, address@hidden,
Manoj Srivastava <=