automake
[Top][All Lists]
Advanced

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

redirecting produced files


From: Isajha
Subject: redirecting produced files
Date: Mon, 28 Aug 2006 10:37:21 +0200
User-agent: Thunderbird 1.5.0.5 (X11/20060725)

I forgot to mention that for this project it is not allowed to have any
build system specific files in the source directories.

As for different operating systems different compilers/build
environments/ide's are used we can not afford to use any toolset that
requires to clutter our source directories with it's proprietary files.

Correct me if i am wrong but if i run autoreconf -fvi in my source
directory then it'll produce several files there? If that's the case i
can not do that.

To clearify i'll try to visualize the project structure. The directories
in which no build system files are allowed to be have an *NB* in front.

*NB*project
  | 
  |_*NB*include
  |                     |_*NB*project_1
  |                     .
  |                     .
  |                     .
  |                     |_*NB*project_n
  |
  |_*NB*data
  |                  |_various folders with stuff the program loads
while running (not important here)
  |
  |_*NB*bin
  |            |_*NB*Win32
  |                                 |_*NB*VC8
  |                                                   |_*NB*release
  |                                                   |_*NB*debug
  |_*NB*obj
  |            |_*NB*Win32
  |                                 |_*NB*VC8
  |                                                   |_*NB*project_1
  |                                                   |                
    |_*NB*release
  |                                                   |                 
   |_*NB*debug
  |                                                   .
  |                                                   .
  |                                                   .
  |                                                   |_*NB*project_n
  |                                                                    
    |_*NB*release
  |                                                                    
    |_*NB*debug
  |
  |_*NB*lib
  |            |_*NB*Win32
  |                                 |_*NB*VC8
  |                                                   |_*NB*project_1
  |                                                   |                
    |_*NB*release
  |                                                   |                 
   |_*NB*debug
  |                                                   .
  |                                                   .
  |                                                   ,
  |                                                   |_*NB*project_n
  |                                                                    
    |_*NB*release
  |                                                                    
    |_*NB*debug
  |
  |_*NB*src
  |                      |_*NB*project_1
  |                      |_...
  |                      |_*NB*project_n
  |_*NB*scripts
                      |_VC8
                      |_autotools
                      |_DigitalMars
                      |_usw.


Perhaps it's visible but i'll mention it explicitly as this is the most
crucial point of the whole problem:
only in scripts/autotools folder files for autoconf, automake or
whatever are allowed to reside.
PLUS every build environment MUST comply to the structure that is given
by the folders.
For example VC8 is only allowed to have his *.sln files in scripts/VC8.
Inside these folders the environments can
do whatever they want - as long as all object files go to
obj/os/compiler/debug or release/project_x - the libraries go to bin,
the executables go to bin,
the shared libraries go to lib/os/compiler/debug or release/project_x.

What does automake at. It writes all *.o files of for example project_1
to project_n IN the autotools folder as the
Makefile.am is in there. The result is if - for example - project_8 and
project_12 both have a file called Main.cpp
and project_12 won't compile as the Main.o of project_8 is already in
there. (actually that's a real error i'm struggling with atm).

To shorten it - will autotools be able to do that? Last but not least.
There should one main makefile in scripts/autotools
and then a subfolder scripts/autotools/project_x holding the makefile
for project_x. This can be changed - as no one cares how the compiler
specific directories look like - but actually that was what i had in mind.




reply via email to

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