I have the following trivial automake sequence in linux-atm-2.5.1/src/q2931/Makefile.am:
14 NLS = atm_ai_msg atm_ai_ie atm_loc atm_cv atm_pu atm_na atm_cond atm_ie \ 15 atm_msg atm_np atm_ton atm_sat atm_prs atm_scrn atm_vpa atm_poe \ 16 q2931_cs atm_td atm_bc atm_tc atm_stc atm_upcc q2931_proto atm_flag \ 17 atm_aalp atm_fd atm_tag atm_l2 atm_l3 atm_tt atm_mc atm_hl atm_imd \ 18 atm_tdl atm_tni atm_nip atm_shi atm_oci atm_unfm atm_ofi atm_irs \ 19 atm_it atm_lit atm_lsi atm_tcs atm_css atm_eqo atm_eqp atm_aap \ 20 atm_asp atm_tor 21 SYMFILES = $(srcdir)/uni.h $(shell $(CC) $(CFLAGS) -E $(srcdir)/header.c | $ (AWK) -f $(srcdir)/script.awk) 22 but when I run automake on this, I get: Running automake... src/q2931/Makefile.am:21: shell $(CC: non-POSIX variable name src/q2931/Makefile.am:21: (probably a GNU make extension) src/qgen/Makefile.am:8: `CFLAGS' is a user variable, you should not override it; src/qgen/Makefile.am:8: use `AM_CFLAGS' instead. Finished... Now run './configure' and 'make'... The sequence: $(shell $(CC) $(CFLAGS) -E $(srcdir)/header.c | $ (AWK) -f $(srcdir)/script.awk) is perfectly valid gmake syntax. Why is automake complaining about this? And how do I get it to stop? Oddly, automake ends up generating the correct output: linux-atm-2.5.1/src/q2931/Makefile: 214 NLS = atm_ai_msg atm_ai_ie atm_loc atm_cv atm_pu atm_na atm_cond atm_ie \ 215 atm_msg atm_np atm_ton atm_sat atm_prs atm_scrn atm_vpa atm_poe \ 216 q2931_cs atm_td atm_bc atm_tc atm_stc atm_upcc q2931_proto atm_flag \ 217 atm_aalp atm_fd atm_tag atm_l2 atm_l3 atm_tt atm_mc atm_hl atm_imd \ 218 atm_tdl atm_tni atm_nip atm_shi atm_oci atm_unfm atm_ofi atm_irs \ 219 atm_it atm_lit atm_lsi atm_tcs atm_css atm_eqo atm_eqp atm_aap \ 220 atm_asp atm_tor 221 222 SYMFILES = $(srcdir)/uni.h $(shell $(CC) $(CFLAGS) -E $(srcdir)/header.c | $ (AWK) -f $(srcdir)/script.awk) ... This is with 1.11.1 on Fedora 12. Thanks.