Thread overview
Conditional behavior within makefiles
Nov 13, 2007
Sean Kelly
Nov 13, 2007
Bill Baxter
Nov 13, 2007
Sean Kelly
Nov 13, 2007
Bill Baxter
Nov 14, 2007
torhu
Nov 14, 2007
Sean Kelly
Nov 14, 2007
Bill Baxter
November 13, 2007
There doesn't seem to be a tools newsgroup so I figured I'd just post this here.  Does the DigitalMars make tool support conditional behavior with ifeq and the like?  And more importantly, is there any equivalent for the GNU MAKECMDGOALS variable?  I'm trying to change makefile behavior based on the target specified and am not really sure how to proceed.


Sean
November 13, 2007
Sean Kelly wrote:
> There doesn't seem to be a tools newsgroup so I figured I'd just post this here.  Does the DigitalMars make tool support conditional behavior with ifeq and the like?  And more importantly, is there any equivalent for the GNU MAKECMDGOALS variable?  I'm trying to change makefile behavior based on the target specified and am not really sure how to proceed.

You probably know this much, but I'll say it anyway.  The free make tool that comes with DMD/DMC doesn't support much of anything.  The version that comes with the Extended Utilities Package or the DMC CD-ROM supports more features.  I *think* the for-fee one has conditionals. And I'm almost certain you're out of luck with the free one.

But there are many ports of gnumake to Win32, so why not just use that?

--bb
November 13, 2007
Bill Baxter wrote:
> Sean Kelly wrote:
>> There doesn't seem to be a tools newsgroup so I figured I'd just post this here.  Does the DigitalMars make tool support conditional behavior with ifeq and the like?  And more importantly, is there any equivalent for the GNU MAKECMDGOALS variable?  I'm trying to change makefile behavior based on the target specified and am not really sure how to proceed.
> 
> You probably know this much, but I'll say it anyway.  The free make tool that comes with DMD/DMC doesn't support much of anything.  The version that comes with the Extended Utilities Package or the DMC CD-ROM supports more features.  I *think* the for-fee one has conditionals. And I'm almost certain you're out of luck with the free one.
> 
> But there are many ports of gnumake to Win32, so why not just use that?

This is for the Tango makefiles, so I can't expect the user to have anything but the version of make.exe that comes with DMD/DMC.  I'm trying to sort out separate debug and release builds within the same makefile.


Sean
November 13, 2007
Sean Kelly wrote:
> Bill Baxter wrote:
>> Sean Kelly wrote:
>>> There doesn't seem to be a tools newsgroup so I figured I'd just post this here.  Does the DigitalMars make tool support conditional behavior with ifeq and the like?  And more importantly, is there any equivalent for the GNU MAKECMDGOALS variable?  I'm trying to change makefile behavior based on the target specified and am not really sure how to proceed.
>>
>> You probably know this much, but I'll say it anyway.  The free make tool that comes with DMD/DMC doesn't support much of anything.  The version that comes with the Extended Utilities Package or the DMC CD-ROM supports more features.  I *think* the for-fee one has conditionals. And I'm almost certain you're out of luck with the free one.
>>
>> But there are many ports of gnumake to Win32, so why not just use that?
> 
> This is for the Tango makefiles, so I can't expect the user to have anything but the version of make.exe that comes with DMD/DMC.  I'm trying to sort out separate debug and release builds within the same makefile.
> 

Ok.  Well if you run into a brick wall with DMD/DMC's make, you could always include gmake with the Tango distribution.

--bb
November 14, 2007
Sean Kelly wrote:
> This is for the Tango makefiles, so I can't expect the user to have anything but the version of make.exe that comes with DMD/DMC.  I'm trying to sort out separate debug and release builds within the same makefile.

I think the closest you can get is having a batch file that runs make with the correct DFLAGS, etc.

make -f win32.mak DFLAGS=-inline -O -release
make -f win32.mak DFLAGS=-g


I tried dmd make a while back, and didn't find it very amusing.
November 14, 2007
torhu wrote:
> Sean Kelly wrote:
>> This is for the Tango makefiles, so I can't expect the user to have anything but the version of make.exe that comes with DMD/DMC.  I'm trying to sort out separate debug and release builds within the same makefile.
> 
> I think the closest you can get is having a batch file that runs make with the correct DFLAGS, etc.

Yuck :-)


Sean
November 14, 2007
Sean Kelly wrote:
> torhu wrote:
>> Sean Kelly wrote:
>>> This is for the Tango makefiles, so I can't expect the user to have anything but the version of make.exe that comes with DMD/DMC.  I'm trying to sort out separate debug and release builds within the same makefile.
>>
>> I think the closest you can get is having a batch file that runs make with the correct DFLAGS, etc.
> 
> Yuck :-)
> 
> 
> Sean

I wonder if there's any technical reason why Walter couldn't just dump DMD make in favor of gmake.  Other than that DMD make is his baby.

The DMC build of wxWidgets is also screwed up because of the limited make that comes with the DMC compiler.  But they insist on using it rather than gmake for the same reason as you -- because if you have dmc, you're guaranteed to have dmc's make.

--bb