automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

EXEEXT messing up extension substitutions on win32.


From: Benoit Sigoure
Subject: EXEEXT messing up extension substitutions on win32.
Date: Wed, 15 Nov 2006 23:32:05 +0100
User-agent: Internet Messaging Program (IMP) H3 (4.0.2)

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],

-- 
SIGOURE Benoit aka Tsuna
   _____
  /EPITA\ Promo 2008, LRDE





reply via email to

[Prev in Thread] Current Thread [Next in Thread]