> CVS = cvs > TCP_RELEASE = TCP_RELEASE_1_0 > TCP: TCP/ > $(CVS) export -r $(TCP_RELEASE) TCP > > I use this in order to be able to make the project use > the latest code from my CVS. From what I could tell > from the AutoConf manual (and a quick search of the > Mailing list archives) this may not be possible using > AutoConf. Is there a way that I can keep this > functionality and still use AutoConf & AutoMake? I think this can be handled by autoconf just fine. You could determine $CVS and the CVSROOT using AC_PATH_PROG and a --with-tcp-cvsroot option for example, and hardcode $TCP_RELEASE. Then you can use AC_CONFIG_COMMANDS to have config.status (re)create the tcp sources from CVS. Note that for a user, it would probably be easier if you used 'cvs checkout' rather than an export (just set up a user with read-only access), as that allows the use of 'cvs update'. Sample AC_CONFIG_COMMANDS: AC_CONFIG_COMMANDS([Shared/TCP], [ echo Retrieving TCP sources from CVS... $CVS -d "$TCP_CVSROOT" export -d 'Shared/TCP' -r "$TCP_CVS_TAG" TCP ], [ CVS=$ac_prog_cvs TCP_CVSROOT=$with_tcp_cvsroot TCP_CVS_TAG=$TCP_RELEASE ]) Of course, you could also do the CVS export at configure time, but the above would allow for a 'refetch-tcp' rule in Shared/Makefile, something like: refetch-tcp: ../config.status # Optionally remove existing sources # rm -rf TCP cd ..; ./config.status 'Shared/TCP'