TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Jeff Dunlop
from: John Poltorak
date: 1996-02-07 14:41:16
subject: DMAKE

Sunday February 04 1996, Jeff Dunlop writes to John Poltorak:

 >>>> However, anyone who is comfortable with creating
makefiles has quite
 >>>> a bit of choice. I've been trying to familiarise myself with DMAKE
 >>>> for quite some time, and that seems to be a very powerful and
 >>>> configurable make program It is available on a large number of
 >>>> platforms, although I don't know anyone who uses it personally, but
 >>>> could do with swapping a few tips...

 JD> I have been an immense fan of DMake for years, because I can get
 JD> incredibly complex library dependencies condensed into very concise
 JD> makefiles. This makes makefile maintenance _very_ simple when I switch to
 JD> a new compiler. The implicit dependencies that Dmake supports are
 JD> incredible. Its macros are also the most powerful I've seen, especially
 JD> the {} expansions.

Mind giving a few examples?

 JD> If I make a .exe dependent on a .obj, and if there's no recipe to build
 JD> the .obj, it uses my default recipe of either %.c or %.cpp depending on
 JD> whether there's a .c or .cpp file in the directory. So my typical makefile
 JD> looks like:

 JD> file.exe : file1.obj file2.obj file3.obj file4.obj
 JD>     $(LD) $(LDFLAGS) file $(<:t, ","), name ${at}

 JD> Pretty damn concise.

..or cryptic if you can't get the hang of it. You've completely lost me
with that $(<;t, ",") bit. I can appreciate the DMAKE is
immensely powerful and that makefiles can be written in a very concise way,
I just wish there was some way of learning how to make the best use of all
the features available, or just knowing what the purpose of some of the
features was.

One thing I tried to do after reading a short book on MAKE was to get DMAKE
to use VPATH to find any required files in building a target, but I didn't
have any success. Have you tried it, by any chance?

John
----------------------------------
mailto://jpolt{at}bradnet.demon.co.uk

---
* Origin: (2:250/313)
SEEN-BY: 50/99 270/101 620/243 711/401 409 410 413 430 808 809 934 955
SEEN-BY: 712/407 515 517 628 713/888 800/1 7877/2809
@PATH: 250/313 440/4 141/209 270/101 712/515 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.