Thread overview | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
March 08, 2003 MSVC Workspace/Project 2 SMAKE converter | ||||
---|---|---|---|---|
| ||||
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 Re: MSVC Workspace/Project 2 SMAKE converter | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert M. Münch | 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 Re: MSVC Workspace/Project 2 SMAKE converter | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | "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 Re: MSVC Workspace/Project 2 SMAKE converter | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert M. Münch | 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 Re: MSVC Workspace/Project 2 SMAKE converter | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | 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 Re: MSVC Workspace/Project 2 SMAKE converter | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | 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 Re: MSVC Workspace/Project 2 SMAKE converter | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert M. Münch | "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 Re: MSVC Workspace/Project 2 SMAKE converter | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert M. Münch | "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 Re: MSVC Workspace/Project 2 SMAKE converter | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert M. Münch | > 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 Re: MSVC Workspace/Project 2 SMAKE converter | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert M. Münch | 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 |
Copyright © 1999-2021 by the D Language Foundation