Hello. Consider a directory with (dummy) files {a,b,c,chelper,def}.c
and the attached Makefile.Now with make 3.81 (on Kubuntu Trusty) I am getting the output: $< gives /usr/bin/startx $< gives /usr/bin/startx $< gives chelper.c $< gives /usr/bin/startx $< gives /usr/bin/startx $< gives /usr/bin/startx I was wondering about this since as per http://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html#Prerequisite-Types for every successive rule adding a prerequisite to a given target, the prerequisites "are appended appropriately" (which I presume to mean "in the order they are specified in the Makefile). So what I would actually have expected make to give me is: $< gives a.c $< gives b.c $< gives c.c $< gives def.c $< gives def.c $< gives def.c But with make 3.81 to get this output, I need to move the /usr/bin/startx rule at location 2 to location 1 (see Makefile) which doesn't seem right. OTOH with make 4.0 (backported from Kubuntu Utopic) I am getting the above output with the /usr/bin/startx rule at location 2 as expected, and if I move it to location 1, $< points to /usr/bin/startx in all cases (and not chelper.c in one of the cases as in 3.81's location 2 case). I am just posting this here to ascertain from whether this was actually an intentional bugfix in make 4.0 and not just a serendipitous one. Thanks. -- Shriramana Sharma ஶ்ரீரமணஶர்மா श्रीरमणशर्मा
Makefile
Description: Binary data
_______________________________________________ Help-make mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-make
