Board index » delphi » BCC 5.02 and makefiles

BCC 5.02 and makefiles

Til now I have been using the IDE for maintaining my project but I
have reason now to use a makefile for building my project.  The first
thing I tried was reading Borland manuals but found very little on the
subject.  In the IDE I click on Project, Generate makefile and build
a makefile with no trouble.  The trouble comes when in a command
prompt window I type
make -B

and I got the following:

MAKE Version 5.2 Copyright <c> 1987, 2000 Borland
Copy MAKE0007.@@@ BccW16.cfg
1 file<s> copied
c @MAKE0001.@@@
'c' is not recognized as an internal or external command,
operable program or batch file.

What seems a little odd is the copyright date is later than
the product.  Is this problem because I also have CBuilder 6
installed on the same computer?  If that is the problem, what
can I do to get this to work?

Damon Register

 

Re:BCC 5.02 and makefiles


Quote
"Damon Register" <damon.w.regis...@lmco.com> wrote in message

news:t90o9vsn06cfv5oa2jk3f9s6hf2huiscfg@4ax.com...

Quote
> Til now I have been using the IDE for maintaining my project but I
> have reason now to use a makefile for building my project.  The first
> thing I tried was reading Borland manuals but found very little on the
> subject.  In the IDE I click on Project, Generate makefile and build
> a makefile with no trouble.  The trouble comes when in a command
> prompt window I type
> make -B

> and I got the following:

> MAKE Version 5.2 Copyright <c> 1987, 2000 Borland
> Copy MAKE0007.@@@ BccW16.cfg
> 1 file<s> copied
> c @MAKE0001.@@@
> 'c' is not recognized as an internal or external command,
> operable program or batch file.

> What seems a little odd is the copyright date is later than
> the product.  Is this problem because I also have CBuilder 6
> installed on the same computer?  If that is the problem, what
> can I do to get this to work?

> Damon Register

Yes, that's the problem.

You can explicitly reference the path to the make program:

c:\bc5\bin\make -B

Or, you can change your path so that c:\bc5\bin comes before the path to
C++Builder, but then if you try to make a C++Builder project from the
command line, you'll have the same problem again.  You could also run a
batch file from your command prompt that changes the order of the paths
before you do a make.

Or, you could write a batch file that calls the correct make when you need
it:

bc5make.bat
-------------
c:\bc5\bin\make %*

Then do: bc5make -B

- Dennis

Re:BCC 5.02 and makefiles


Do you have a directory with a "+" or "-" symbol in its name?  If so, change
it or reinstall whatever is in it into somewhere that has no such symbols in
any directory name.

.  Ed

Quote
> Damon Register wrote in message
> news:t90o9vsn06cfv5oa2jk3f9s6hf2huiscfg@4ax.com...

Re:BCC 5.02 and makefiles


On Tue, 15 Apr 2003 12:49:54 -0700, "Dennis Jones" <djo...@nospam.com>
wrote:

Quote
>> the product.  Is this problem because I also have CBuilder 6
>> installed on the same computer?  If that is the problem, what
>> can I do to get this to work?

>> Damon Register

>Yes, that's the problem.

I guess I shouldn't be surprised.

I completely removed the C Builder product from the PC and tried
making the project again.  This time the copyright date is older as I
would expect but I still get the same error message.

To answer Ed's question, BC 5.02 is in the default c:\bc5 location
and my project is in d:\rsilrdrb so there are no directories with a
"+" or "-" symbol in its name.  Any ideas?

Damon Register

Re:BCC 5.02 and makefiles


Quote
"Damon Register" <damon.w.regis...@lmco.com> wrote in message

news:utcq9v0mlviothgl2ltjtjnjkujto0oj1q@4ax.com...

Quote
> On Tue, 15 Apr 2003 12:49:54 -0700, "Dennis Jones" <djo...@nospam.com>
> wrote:

> >> the product.  Is this problem because I also have CBuilder 6
> >> installed on the same computer?  If that is the problem, what
> >> can I do to get this to work?

> >> Damon Register

> >Yes, that's the problem.
> I guess I shouldn't be surprised.

> I completely removed the C Builder product from the PC and tried
> making the project again.  This time the copyright date is older as I
> would expect but I still get the same error message.

> To answer Ed's question, BC 5.02 is in the default c:\bc5 location
> and my project is in d:\rsilrdrb so there are no directories with a
> "+" or "-" symbol in its name.  Any ideas?

> Damon Register

Then I'd say there is something in the makefile that's wrong.  Take a look
at the makefile and see if you can find where 'c' my be getting referenced.

- Dennis

Re:BCC 5.02 and makefiles


On Wed, 16 Apr 2003 09:23:52 -0700, "Dennis Jones" <djo...@nospam.com>
wrote:

Quote
>Then I'd say there is something in the makefile that's wrong.  Take a look
>at the makefile and see if you can find where 'c' my be getting referenced.

I looked at the makefile and I find the follwing which seems like it
might be guilty:

.\TEMPBLD\rthook.obj :  rthook.cpp
  $(BCC32) -c @&&|
 $(CompOptsAt_rthookdlib) $(CompInheritOptsAt_rthookdlib) -o$@
rthook.cpp
|

I don't understand the syntax  very well, but it appears that $(BCC32)
isn't found and the following c is being interpreted as a command.  At
the command prompt I can type BCC32 and it is valid.  Any idea where
to go from here?

Damon Register

Re:BCC 5.02 and makefiles


Here are some things I'd try if I had this problem.

Check that the macro BCC32 is defined.

Check that the BCC32 definition is complete with drive and path. (so as to
not execute your C++ Builder bcc32.exe)

Check that the following macros are defined and that the text which they are
set to is reasonable, including that all path and file names they contain
actually exist

  CompOptsAt_rthookdlib
  CompInheritOptsAt_rthookdlib

Change the -c in "$(BCC32) -c @&&|" to a /c

You can also do this (subsitute your make file's name)

  make -K -n -B -f makefile.mak >make.log

If you are lucky that should put all the commands used into a text file
named make.log and preserve all the re-direction files (all the make####.@@@
files).  If not lucky, it will just generate the same error.

You could then examine the commands given in plain text without the macro
noise.

.  Ed

Quote
> Damon Register wrote in message
> news:4g6r9v4pkbujhkpvf94da2adfs2a42n2k4@4ax.com...

Re:BCC 5.02 and makefiles


"Ed Mulroy [TeamB]" <e...@mulroyREMOVETHESECHARS.org> wrote in message
news:3e9da8f5$1@newsgroups.borland.com...

Quote
> Here are some things I'd try if I had this problem.

> Check that the macro BCC32 is defined.

> Check that the BCC32 definition is complete with drive and path. (so as to
> not execute your C++ Builder bcc32.exe)

> Check that the following macros are defined and that the text which they
are
> set to is reasonable, including that all path and file names they contain
> actually exist

>   CompOptsAt_rthookdlib
>   CompInheritOptsAt_rthookdlib

> Change the -c in "$(BCC32) -c @&&|" to a /c

> You can also do this (subsitute your make file's name)

>   make -K -n -B -f makefile.mak >make.log

> If you are lucky that should put all the commands used into a text file
> named make.log and preserve all the re-direction files (all the
make####.@@@
> files).  If not lucky, it will just generate the same error.

> You could then examine the commands given in plain text without the macro
> noise.

> .  Ed

> > Damon Register wrote in message
> > news:4g6r9v4pkbujhkpvf94da2adfs2a42n2k4@4ax.com...

Re:BCC 5.02 and makefiles


Sorry for that last extraneous post...

"Ed Mulroy [TeamB]" <e...@mulroyREMOVETHESECHARS.org> wrote in message
news:3e9da8f5$1@newsgroups.borland.com...

Quote
> Here are some things I'd try if I had this problem.

> Check that the macro BCC32 is defined.

> Check that the BCC32 definition is complete with drive and path. (so as to
> not execute your C++ Builder bcc32.exe)

Yes.  At the beginning of the makefile, you should see something like this:

#
# Borland C++ tools
#
IMPLIB  = c:\bc5\bin\Implib
BCC32   = c:\bc5\bin\Bcc32 +BccW32.cfg
BCC32I  = c:\bc5\bin\Bcc32i +BccW32.cfg
TLINK32 = c:\bc5\bin\TLink32
ILINK32 = c:\bc5\bin\Ilink32
TLIB    = c:\bc5\bin\TLib
BRC32   = c:\bc5\bin\Brc32
TASM32  = c:\bc5\bin\Tasm32

Notice that I have explicitly stated the path to all of the tools, not just
BCC32.

Quote
> Change the -c in "$(BCC32) -c @&&|" to a /c

This is not necessary, Ed.  BCC32 treats both slash and hyphen as a switch.

- Dennis

Re:BCC 5.02 and makefiles


Quote
> Yes.  At the beginning of the makefile, you should see something like
this:

> #
> # Borland C++ tools
> #
> IMPLIB  = c:\bc5\bin\Implib
> BCC32   = c:\bc5\bin\Bcc32 +BccW32.cfg

That is what I already told him.

Quote
> > Change the -c in "$(BCC32) -c @&&|" to a /c

> This is not necessary, Ed.  BCC32 treats both
> slash and hyphen as a switch.

Why would you think I do not know that?  Why are you telling me this?  Are
you trying to tell the man to not try what I suggested?

.  Ed

Quote
> Dennis Jones wrote in message
> news:3e9daee2$1@newsgroups.borland.com...

Re:BCC 5.02 and makefiles


"Ed Mulroy [TeamB]" <e...@mulroyREMOVETHESECHARS.org> wrote in message
news:3e9dea7c$1@newsgroups.borland.com...

Quote
> > Yes.  At the beginning of the makefile, you should see something like
> this:

> > #
> > # Borland C++ tools
> > #
> > IMPLIB  = c:\bc5\bin\Implib
> > BCC32   = c:\bc5\bin\Bcc32 +BccW32.cfg

> That is what I already told him.

And I wholeheartedly agreed with your assessment (hence the "Yes"), only
adding that I recommend all tools be given the full path, and showed an
example.  Some people appreciate examples, and since I had one, I provided
it.  What's wrong with that?

Quote

> > > Change the -c in "$(BCC32) -c @&&|" to a /c

> > This is not necessary, Ed.  BCC32 treats both
> > slash and hyphen as a switch.

> Why would you think I do not know that?  Why are you telling me this?  Are
> you trying to tell the man to not try what I suggested?

Because your comment would seem to suggest that the use of the hyphen is
wrong.  But now that you mention it, if you already knew that they are the
same, then why suggest the change in the first place?  Is there some
expectation that MAKE (or BCC32) will behave differently if a slash is used
in place of the hyphen?  If so, please explain -- I'd be interested in
hearing it.

None of what I said was meant to criticize you, and I don't think there is
any reason for you to think so, but I apologize if it sounded that way --
that was not my intent.  Like you, I offer help when I can, and there's
absolutely nothing wrong with a little extra re-enforcement (or even a
different viewpoint) once in a while.

- Dennis

Re:BCC 5.02 and makefiles


The ways in which the dash character might be misinterpreted in a command
are not the same as those in which a slash would be.  The error displays a
character 'c' without the dash.  Trying a slash instead of a dash may cause
a different error message or symptom.

.  Ed

Quote
> Dennis Jones wrote in message
> news:3e9e1681$1@newsgroups.borland.com...

Other Threads