www.digitalmars.com         C & C++   DMDScript  

c++.command-line - smake problems

reply "Robert M. Münch" <robert.muench robertmuench.de> writes:
Hi, I'm having some problems with SMAKE. I have a rather big makefile and
SMAKE screws up compilation of one file in that SC doens't include the
include files (I can see it in the list file). If I compile the file by hand
from the command line everything works fine... strange thing.

This is happening while compiling Berkeley-DB 4.1.25 If someone would like
to try it I can send over the makefile. Maybe I'm just blind...

--
Robert M. Münch
IT & Management Freelancer
Mobile: +49 (0)177 2452 802
Fax   : +49 (0)721 8408 9112
Web   : http://www.robertmuench.de
Mar 12 2003
parent reply "Walter" <walter digitalmars.com> writes:
"Robert M. Münch" <robert.muench robertmuench.de> wrote in message
news:b4o485$289l$1 digitaldaemon.com...
 Hi, I'm having some problems with SMAKE. I have a rather big makefile and
 SMAKE screws up compilation of one file in that SC doens't include the
 include files (I can see it in the list file). If I compile the file by

 from the command line everything works fine... strange thing.

 This is happening while compiling Berkeley-DB 4.1.25 If someone would like
 to try it I can send over the makefile. Maybe I'm just blind...

The only way to deal with those kinds of problems is to make a backup of the original makefile, and then start chopping off irrelevant parts of the problem makefile until it is reduced to just the syntax that causes the problem.
Mar 12 2003
next sibling parent reply "Robert M. Münch" <robert.muench robertmuench.de> writes:
"Walter" <walter digitalmars.com> schrieb im Newsbeitrag
news:b4olfd$2mvq$4 digitaldaemon.com...

 The only way to deal with those kinds of problems is to make a backup of

 original makefile, and then start chopping off irrelevant parts of the
 problem makefile until it is reduced to just the syntax that causes the
 problem.

Hi, thanks I try this. I'm really wondering since years why it's mostly impossible to have a simple out-of-the-box makefile setup for bigger source-code libraries. On Linux it's mostly working but on Windows it's really a pain. I'm mostly fighting against such issues than programming problems... Robert
Mar 12 2003
parent "Walter" <walter digitalmars.com> writes:
"Robert M. Münch" <robert.muench robertmuench.de> wrote in message
news:b4pcc4$4si$1 digitaldaemon.com...
 "Walter" <walter digitalmars.com> schrieb im Newsbeitrag
 news:b4olfd$2mvq$4 digitaldaemon.com...
 The only way to deal with those kinds of problems is to make a backup of

 original makefile, and then start chopping off irrelevant parts of the
 problem makefile until it is reduced to just the syntax that causes the
 problem.

impossible to have a simple out-of-the-box makefile setup for bigger source-code libraries. On Linux it's mostly working but on Windows it's really a pain. I'm mostly fighting against such issues than programming problems... Robert

That's because makefile syntax & rules are a giant kludge. And nobody writes makefiles from scratch - they cut & paste & modify from others that someone else managed to get to work.
Mar 13 2003
prev sibling parent reply =?iso-8859-15?Q?=22Robert_M._M=FCnch=22?= <robert.muench robertmuench.de> writes:
On Wed, 12 Mar 2003 17:02:46 -0800, Walter <walter digitalmars.com> wrote:

 The only way to deal with those kinds of problems is to make a backup of 
 the original makefile, and then start chopping off irrelevant parts of 
 the
 problem makefile until it is reduced to just the syntax that causes the
 problem.

I further investigated the problem: 1. SMAKE always fails to compile one file. 2. If I cut & paste the compiler command to the command line it fails too (sometimes). 3. If I change the compile command the file compiles. Thats strange... Sometimes I need to change more, when the file compiles, and I use the original compile line it works too. 4. As posted SMAKE always compiles all files of a target. Is this normal? I though it checks which files changed and only compiles those. -- Robert M. Münch
Mar 13 2003
parent "Walter" <walter digitalmars.com> writes:
"Robert M. Münch" <robert.muench robertmuench.de> wrote in message
news:oprlzmliiyr6w2gz news.digitalmars.com...
 On Wed, 12 Mar 2003 17:02:46 -0800, Walter <walter digitalmars.com> wrote:

 The only way to deal with those kinds of problems is to make a backup of
 the original makefile, and then start chopping off irrelevant parts of
 the
 problem makefile until it is reduced to just the syntax that causes the
 problem.

I further investigated the problem: 1. SMAKE always fails to compile one file. 2. If I cut & paste the compiler command to the command line it fails too (sometimes).

? The compiler is pretty deterministic. Something it depends on is changing, like a .h or .sym file.
 3. If I change the compile command the file compiles. Thats strange...
 Sometimes I need to change more, when the file compiles, and I use the
 original compile line it works too.

I have no idea what is happening. Again, try cutting the makefile down.
 4. As posted SMAKE always compiles all files of a target. Is this normal?

 though it checks which files changed and only compiles those.

It depends on how you constructed the dependency list.
Mar 13 2003