MAKE Utility Compatibility Chart

Hamburg (Germany), the 18th November 1997.
Written by Nils Pipenbrinck aka Submissive/Cubic & $eeN

Table Of Contents: Make Utility Compatibility

  1. Introduction
  2. Borland Make
    1. .SYMBOLIC
    2. %WRITE
    3. .HOLD/.ERASE/.BEFORE/.AFTER
  3. Contact Me

Introduction

Not everyone has WMAKE. And therefore I took a look at the compatibility issues of different MAKE utilities. Since I only have WMAKE (WATCOM) and MAKE (Borland) my chart is far from complete. But for a start it might work (Borland MAKE is very common, since almost everyone started with Turbo Pascal or TASM-coding).

Borland Make:

There are not too many changes necessary to translate my style of makefiles into a Borland compatible makefile. Changes necessary are:

.SYMBOLIC
Does not exist in MAKE, and is also not necessary since Borland Make doesn't complain if the target does not exist. You can simply remove the .SYMBOLIC and it'll work.
%WRITE

Borland doesn't know this command and doesn't have a replacement for it, but fortunately you can use the DOS internal ECHO command to simulate this instruction.

  %write temp.lnk system dos4g
  %write temp.lnk file   stuff.obj

translates into:

  echo system dos4g      > temp.lnk
  echo file   stuff.obj  >> temp.lnk

Problem: you can't write all characters, since dos might get confused if you write a / or the { } chars. This is a problem, and you can work around this if you use the for-statement:

for %%f in ($(objects)) do echo FILE %f >> temp.lnk
.ERASE/.HOLD/.BEFORE/.AFTER
Does not exist on Borland make, and to my knowledge no work-around is possible. This shouldn't be a problem, since these are really only little goodies, and you can work perfectly well without them.

Contact Me

Have problems finding a work-around for another MAKE utility? (Microsoft, GNU-Make) Ask me, I might have an idea.


© by submissive