automake
[Top][All Lists]
Advanced

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

Re: make dist fails for EXTRA_DIST elements


From: Vincent Torri
Subject: Re: make dist fails for EXTRA_DIST elements
Date: Tue, 10 Mar 2015 07:22:29 +0100

Hey

On Mon, Mar 9, 2015 at 11:23 PM, Andy Falanga (afalanga)
<address@hidden> wrote:
> Hi,
>
> The project I'm working on builds in both Windows and Linux.  As you may 
> imagine, there are some conditional compilations and, in fact, sometimes full 
> files are left out.  There are also some header files, and a python script 
> for auto-building a header file, which must be distributed too.  It seemed 
> that EXTRA_DIST was the ticket for me.
>
> I started adding this to the Makefile.am
>
> EXTRA_DIST = path/to/prebuild.py path/to/header1.hpp path/to/header2.hpp \
>              path/to/header3.hpp path/to/header4.hpp
>
> This worked just fine when I did "make dist".  Then, when attempting another 
> build, I ran into the next scenario: headers not used on Linux but still part 
> of the distribution.  "No problem," I think, and add it to the EXTRA_DIST 
> variable along with its companion code file.  Well, I did so like this:
>
> EXTRA_DIST = path/to/prebuild.py path/to/header1.hpp path/to/header2.hpp \
>              path/to/header3.hpp path/to/header4.hpp path/to/WindowsHeader.h \
>              path/to/WindowsSource.cpp
>
> Then I do "autoreconf", "./configure" and finally, "make dist".  Only this 
> time, I'm greeted with this:
>
> make[1]: *** No rule to make target `path/to/WindowsHeader.cpp', needed by 
> `distdir'.  Stop.

just be sure that path/to/WindowsHeader.cpp exists. There should ne
problem (I've already did that)

> I try taking out the *.cpp file and try again with the same error but with 
> the *.h.  If I take out the *.h file, all is well again and "make dist" is 
> happy and fine.  Why is it picky with files ending with *.cpp and *.h if 
> these things are extra to the distribution and have nothing to do with the 
> build anyway?

usually, when trying to build a program / library on Windows and
Linux, I try to also compile the Windows part with gcc (MSYS or MSYS2
for the shell (like a Linux terminal), mingw-w64 for the gcc
compiler). So I add the Windows file conditionally to the _SOURCE
variable. The side effect is that these Windows files are always added
to the dist tarball. Another advantage : even if you are on Linux, you
can cross-compile your project for Windows, without switching to
Windows.

Vincent



reply via email to

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