Thank you very much for your write and provide powerfull make for people and for me..
I use GNU make 3.80 running on Win32 (form WindRiver Systems Workbench 2.4) and find a strange problem that the make's internal function "eval" not work properly...
function eval not work properly.it can describe as follows..
when use eval to "insert some code to the makefile" it sometimes generate errors.
I have to files named makefile.ok and makefile.bad..and the veiw.ouput.JPG file is the output of the make
the makefile.ok can generate and insert the object dependency OK.but the makefile.bad generate errors said "endif not found"..but when the statement:
$(foreach prog,$(PROGRAMS),$(eval $(call PROGRAM_template,$(prog))))
been removed. the makefile.bad has no errors in it...I don't know why.
BTW:
1. I found it will be very usefull to dynamiclly generate and insert dependency rules to the makefile..so if has a function that can directly insert a variables value to makefile will be good.like :
MY_STATEMENT = $(foo) : xx.o yy.o
$(LD) -o $(foo) -r xx.o yy.o
###MY_STATEMENT can be dynamic generate by exist functions.
###and a function "insert" can directly insert the statement to the makefile.like
$(insert $(MY_STATEMENT))
2. some compare funcitons like compare of numbers maybe usefull and some loop funcitons like
while for may also be usefull.
I am a new beginer on using make,so could you please forgive me if i am fool on something.
Thank you very much!!!
Best Regards,
Yao pinggang
22-aug-06