Ok, I'm trying to make my project so it easily compiles with both BSD and GNU make, so I am going strictly by the POSIX make standard from
http://www.opengroup.org/onlinepubs/009 ... /make.html
I have this piece of code that I'm pretty sure follows that standard, and compiles with BSD make, but not GNU make.
Code: Select all
${ASM_OBJS}: ${*:objs/%=src/%}.asm
${ASM} ${ASMFLAGS} ${*:objs/%=src/%}.asm -o $*.o
in GNU make it will expand, the prerequisite will expand only to '.asm' it will not include the filename as it should with the $* bit.
am I interpreting this wrong or is GNU make really broken?