Benoit Sigoure wrote: > Hello > My make distcheck fails on Windows because of the following: > > ------------------------------------------------------------- > check_PROGRAMS = \ > simple \ > xml-simple \ > parentness \ > destroy \ > rm_all_trans \ > unblock_all \ > bug16 \ > meta_data > [..._SOURCES and stuff] > TESTS = $(check_PROGRAMS:=.test) > > $(TESTS): > for i in $(TESTS); do \ > $(LN_S) -f $(top_srcdir)/build-aux/test.sh $$i || exit 1; \ > done > > EXTRA_DIST = $(TESTS:.test=.stdout) > ------------------------------------------------------------- > > Automake automagically appends $EXEEXT (=.exe on Win32) to the check_PROGRAMS > which entails that TESTS = simple.exe.test etc.. instead of simple.test etc.. > > make dist then looks for simple.exe.stdout (etc) instead of simple.stdout > (etc). > > I tried several things such as > TESTS = $(check_PROGRAMS:$(EXEEXT)=.test) > (Makefile.am:38: check_PROGRAMS:$(EXEEXT: non-POSIX variable name) although it > seems to work [with GNU make] (but I doubt the resulting Makefile is portable) > > TESTS = $(check_PROGRAMS:$EXEEXT=.test) > TESTS = $(check_PROGRAMS:${EXEEXT}=.test) > (Both generated Makefile contains: TESTS = $(check_PROGRAMS) which is > obviously > wrong). > > So what's The Right Way of writing this? > > Cheers [(c) Ralf],
Given that the "programs" are basically incarnations of a test script and not binary executables, would it make sense to use check_SCRIPTS instead of check_PROGRAMS?