Jump to page: 1 2
Thread overview
MSVC Workspace/Project 2 SMAKE converter
Mar 08, 2003
Robert M. Münch
Mar 09, 2003
Walter
Mar 09, 2003
Robert M. Münch
Mar 09, 2003
Robert M. Münch
Mar 09, 2003
Walter
Mar 09, 2003
Robert M. Münch
Mar 09, 2003
Robert M. Münch
Mar 09, 2003
Walter
Mar 16, 2003
Mark Junker
Mar 24, 2003
Gerhard Wiesinger
Apr 06, 2003
Robert M. Münch
March 08, 2003
Hi, I'm currently writing a MSVC Workspace/Project 2 SMAKE convert, so it's easier to use such a setup with DMC++.

Anyway, so far I'm mostly done, SMAKE starts and seems to understand the generated makefile, but I have a problem:

This is the beginning of my generated makefile:

CC=cl
CFLAGS= /nologo /MDd /W3 /GX /Z7 /Od /I "." /I ".." /I "../dbinc" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
CPPFLAGS= /nologo /MDd /W3 /GX /Z7 /Od /I "." /I ".." /I "../dbinc" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c


BTW: Walter, the option /FD isn't known/handled by CL, maybe you can fix this.


   ..\btree\bt_compare.c       [03-0+-02 04:30://]
   db_config.h [0,-/--02 /*:.0:14]
   db_int.h    [0)-13-02 //:-0:0,]
   db.h        [0,-/--02 /*:.0:14]
SMAKE fatal error: don't know how to make dbinc\queue.h
Stopping.

The rule looks like this (generated from MAKEDEP):

..\btree\bt_compare.obj : ..\btree\bt_compare.c db_config.h db_int.h db.h \
dbinc\queue.h dbinc\shqueue.h dbinc\globals.h dbinc\debug.h dbinc\mutex.h \
dbinc\region.h dbinc_auto\mutex_ext.h dbinc_auto\env_ext.h dbinc\os.h \
dbinc_auto\clib_ext.h dbinc_auto\common_ext.h dbinc\db_page.h \
dbinc\btree.h

All include files without a path are in the current directory and don't make any problems. The include files with a directory are actually located in ..\<directory-name> It seem that the /I option for CFLAGS/CPPFLAGS don't aplly here.

So, what's the problem with this?

-- 
Robert M. Münch
March 09, 2003
I have no idea what's going wrong for you - does the .h file in question exist?

"Robert M. Münch" <robert.muench@robertmuench.de> wrote in message news:oprlp7skzvr6w2gz@news.digitalmars.com...
> Hi, I'm currently writing a MSVC Workspace/Project 2 SMAKE convert, so
it's
> easier to use such a setup with DMC++.
>
> Anyway, so far I'm mostly done, SMAKE starts and seems to understand the generated makefile, but I have a problem:
>
> This is the beginning of my generated makefile:
>
> CC=cl
> CFLAGS= /nologo /MDd /W3 /GX /Z7 /Od /I "." /I ".." /I "../dbinc" /D
> "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
> CPPFLAGS= /nologo /MDd /W3 /GX /Z7 /Od /I "." /I ".." /I "../dbinc" /D
> "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
>
>
> BTW: Walter, the option /FD isn't known/handled by CL, maybe you can fix this.
>
>
>     ..\btree\bt_compare.c       [03-0+-02 04:30://]
>     db_config.h [0,-/--02 /*:.0:14]
>     db_int.h    [0)-13-02 //:-0:0,]
>     db.h        [0,-/--02 /*:.0:14]
> SMAKE fatal error: don't know how to make dbinc\queue.h
> Stopping.
>
> The rule looks like this (generated from MAKEDEP):
>
> ..\btree\bt_compare.obj : ..\btree\bt_compare.c db_config.h db_int.h db.h
\
>  dbinc\queue.h dbinc\shqueue.h dbinc\globals.h dbinc\debug.h dbinc\mutex.h
> \
>  dbinc\region.h dbinc_auto\mutex_ext.h dbinc_auto\env_ext.h dbinc\os.h \
>  dbinc_auto\clib_ext.h dbinc_auto\common_ext.h dbinc\db_page.h \
>  dbinc\btree.h
>
> All include files without a path are in the current directory and don't make any problems. The include files with a directory are actually located in ..\<directory-name> It seem that the /I option for CFLAGS/CPPFLAGS
don't
> aplly here.
>
> So, what's the problem with this?
>
> --
> Robert M. Münch


March 09, 2003
"Walter" <walter@digitalmars.com> schrieb im Newsbeitrag news:b4eud6$1c4p$1@digitaldaemon.com...

> I have no idea what's going wrong for you - does the .h file in question exist?

Hi, yes the file exists. Hmm... now I'm stuck. Is it a problem that the include file is referenced as dbinc\queue.h instead of ..\dbinc\queue.h?

Does it make sense that I send you the makefile? The makefile uses several dependencies of the form:

dll_all: mylib dblib ..\sources\source_file.cpp

Maybe it's a problem of mixing dependencies and source files even I don't think so but who knows... Robert


March 09, 2003
On Sun, 9 Mar 2003 11:22:05 +0100, Robert M. Münch <robert.muench@robertmuench.de> wrote:

> Is it a problem that the
> include file is referenced as dbinc\queue.h instead of ..\dbinc\queue.h?

I change some entries by hand in that I added the ..\ stuff and than it works :-|. Does this makes sense to you?

I'm calling MAKEDEP from inside a script and than use the returned output. What I have found out is that MAKEDEP issues full-qualified-paths if used on the command line:

[d:\develop\db-4.1.25\build_win32]makedep -s ..\btree\bt_compare.c
..\btree\bt_compare.obj : ..\btree\bt_compare.c db_config.h db_int.h db.h \
d:\develop\db-4.1.25\dbinc\queue.h d:\develop\db-4.1.25\dbinc\shqueue.h \
......

But not if used from the scripting environment:

>> call/output "makedep -s ..\btree\bt_compare.c" test
== 0
>> ?? test
test: {..\btree\bt_compare.obj : ..\btree\bt_compare.c db_config.h db_int.h db.h \
dbinc\queue.h dbinc\shqueue.h dbinc\globals.h dbinc\debug.h dbinc\mutex.h \
dbinc\region.h dbinc_auto\mutex_ext.h dbinc_auto\env_ext.h dbinc\os.h \
dbinc_auto\clib_ext.h dbinc_auto\common_ext.h dbinc\db_page.h \
dbinc\btree.h
}

It looks like the -t option is applied. Any idea?

-- 
Robert M. Münch
March 09, 2003
On Sun, 9 Mar 2003 00:29:51 -0800, Walter <walter@digitalmars.com> wrote:

> I have no idea what's going wrong for you - does the .h file in question
> exist?

Hi, could it be that SMAKE isn't using the INCLUDE variabel specified in the environment and/or in SC.INI? Robert
March 09, 2003
On Sun, 9 Mar 2003 00:29:51 -0800, Walter <walter@digitalmars.com> wrote:

> I have no idea what's going wrong for you - does the .h file in question
> exist?

Further, investigating:

1. makedep needs the INLCUDE environment variable set to issue full path information. Using -t or not in this case always results in a full path information.

2. makedep seems not to handle #defines, this means stuff like:
	#ifdef HAVE_VXWORKS
	#include "semLib.h"
	#endif
get's included even this platform to build for wasn't set. Is this right? If so, there should be a switch that makedep skips include files that it can't find. Here is an example run:

[d:\develop\db-4.1.25\build_win32]makedep -d -s -t ..\btree\bt_compare.c
Processing file '..\btree\bt_compare.c'
Processing file 'db_config.h'
Processing file 'db_int.h'
Processing file 'd:\develop\db-4.1.25\dbinc\db_page.h'
Processing file 'd:\develop\db-4.1.25\dbinc\btree.h'
Processing file 'db.h'
Processing file 'd:\develop\db-4.1.25\dbinc\queue.h'
Processing file 'd:\develop\db-4.1.25\dbinc\shqueue.h'
Processing file 'd:\develop\db-4.1.25\dbinc\globals.h'
Processing file 'd:\develop\db-4.1.25\dbinc\debug.h'
Processing file 'd:\develop\db-4.1.25\dbinc\mutex.h'
Processing file 'd:\develop\db-4.1.25\dbinc\region.h'
Processing file 'd:\develop\db-4.1.25\dbinc_auto\mutex_ext.h'
Processing file 'd:\develop\db-4.1.25\dbinc_auto\env_ext.h'
Processing file 'd:\develop\db-4.1.25\dbinc\os.h'
Processing file 'd:\develop\db-4.1.25\dbinc_auto\clib_ext.h'
Processing file 'd:\develop\db-4.1.25\dbinc_auto\common_ext.h'
Processing file 'd:\develop\db-4.1.25\dbinc_auto\btree_auto.h'
Processing file 'd:\develop\db-4.1.25\dbinc_auto\btree_ext.h'
Processing file 'd:\develop\db-4.1.25\dbinc\db_am.h'
Processing file 'semLib.h'
Can't open file 'semLib.h'
Processing file 'taskLib.h'
Can't open file 'taskLib.h'
Processing file 'd:\develop\db-4.1.25\dbinc_auto\os_ext.h'
Processing file 'd:\develop\db-4.1.25\dbinc\db_dispatch.h'
Processing file 'd:\develop\db-4.1.25\dbinc_auto\db_auto.h'
Processing file 'd:\develop\db-4.1.25\dbinc_auto\crdel_auto.h'
Processing file 'd:\develop\db-4.1.25\dbinc_auto\db_ext.h'

bt_compare.obj : ..\btree\bt_compare.c db_config.h db_int.h db.h \
d:\develop\db-4.1.25\dbinc\queue.h d:\develop\db-4.1.25\dbinc\shqueue.h \
d:\develop\db-4.1.25\dbinc\globals.h semLib.h \
d:\develop\db-4.1.25\dbinc\debug.h d:\develop\db-4.1.25\dbinc\mutex.h \
taskLib.h d:\develop\db-4.1.25\dbinc\region.h \
d:\develop\db-4.1.25\dbinc_auto\mutex_ext.h \
d:\develop\db-4.1.25\dbinc_auto\env_ext.h d:\develop\db-4.1.25\dbinc\os.h \
d:\develop\db-4.1.25\dbinc_auto\os_ext.h \
d:\develop\db-4.1.25\dbinc_auto\clib_ext.h \
d:\develop\db-4.1.25\dbinc_auto\common_ext.h \
d:\develop\db-4.1.25\dbinc\db_page.h d:\develop\db-4.1.25\dbinc\btree.h \
d:\develop\db-4.1.25\dbinc_auto\btree_auto.h \
d:\develop\db-4.1.25\dbinc_auto\btree_ext.h \
d:\develop\db-4.1.25\dbinc\db_am.h d:\develop\db- 4.1.25\dbinc\db_dispatch.h \
d:\develop\db-4.1.25\dbinc_auto\db_auto.h \
d:\develop\db-4.1.25\dbinc_auto\crdel_auto.h \
d:\develop\db-4.1.25\dbinc_auto\db_ext.h

-- 
Robert M. Münch
March 09, 2003
"Robert M. Münch" <robert.muench@robertmuench.de> wrote in message news:oprlryum0br6w2gz@news.digitalmars.com...
> 2. makedep seems not to handle #defines, this means stuff like:
> #ifdef HAVE_VXWORKS
> #include "semLib.h"
> #endif
> get's included even this platform to build for wasn't set. Is this right?

Yes. Makedep doesn't have a macro preprocessor in it. It's a pretty simple program.


March 09, 2003
"Robert M. Münch" <robert.muench@robertmuench.de> wrote in message news:oprlrx05lkr6w2gz@news.digitalmars.com...
> On Sun, 9 Mar 2003 11:22:05 +0100, Robert M. Münch <robert.muench@robertmuench.de> wrote:
>
> > Is it a problem that the
> > include file is referenced as dbinc\queue.h instead of ..\dbinc\queue.h?
>
> I change some entries by hand in that I added the ..\ stuff and than it works :-|. Does this makes sense to you?

Yes. x\file.h and ..\x\file.h are different files.


March 16, 2003
> 2. makedep seems not to handle #defines, this means stuff like:
> 	#ifdef HAVE_VXWORKS
> 	#include "semLib.h"
> 	#endif
> get's included even this platform to build for wasn't set. Is this right?
Hi,

I get quite good results using makedepend/sed from UnxUtils + update when generation dependencies automatically. It seems to me that it has something like a C preprocessor in it but you have to add some defines like __DMC__ to the makedepend command line yourself.

Best regards,
Mark Junker

March 24, 2003
Hello!

Did you have a look at http://jrfonseca.dyndns.org/projects/gnu-win32/software/msds/

BTW: How far did you get?

Ciao,
Gerhard

""Robert M. Münch"" wrote:
> 
> Hi, I'm currently writing a MSVC Workspace/Project 2 SMAKE convert, so it's easier to use such a setup with DMC++.
> 
> Anyway, so far I'm mostly done, SMAKE starts and seems to understand the generated makefile, but I have a problem:
> 
> This is the beginning of my generated makefile:
> 
> CC=cl
> CFLAGS= /nologo /MDd /W3 /GX /Z7 /Od /I "." /I ".." /I "../dbinc" /D
> "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
> CPPFLAGS= /nologo /MDd /W3 /GX /Z7 /Od /I "." /I ".." /I "../dbinc" /D
> "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
> 
> BTW: Walter, the option /FD isn't known/handled by CL, maybe you can fix this.
> 
>     ..\btree\bt_compare.c       [03-0+-02 04:30://]
>     db_config.h [0,-/--02 /*:.0:14]
>     db_int.h    [0)-13-02 //:-0:0,]
>     db.h        [0,-/--02 /*:.0:14]
> SMAKE fatal error: don't know how to make dbinc\queue.h
> Stopping.
> 
> The rule looks like this (generated from MAKEDEP):
> 
> ..\btree\bt_compare.obj : ..\btree\bt_compare.c db_config.h db_int.h db.h \
>  dbinc\queue.h dbinc\shqueue.h dbinc\globals.h dbinc\debug.h dbinc\mutex.h
> \
>  dbinc\region.h dbinc_auto\mutex_ext.h dbinc_auto\env_ext.h dbinc\os.h \
>  dbinc_auto\clib_ext.h dbinc_auto\common_ext.h dbinc\db_page.h \
>  dbinc\btree.h
> 
> All include files without a path are in the current directory and don't make any problems. The include files with a directory are actually located in ..\<directory-name> It seem that the /I option for CFLAGS/CPPFLAGS don't aplly here.
> 
> So, what's the problem with this?
> 
> --
> Robert M. Münch
« First   ‹ Prev
1 2