[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

[MacPerl-Porters] Re: [MacPerl-AnyPerl] Macperl Compilation Using DMAKE



Quoting jason.whitehead@natinst.com:

> I have downloaded the source distribution of dmake and have read the readme
> files and I am totally confused as to how to use dmake to compile the
> MacPerl
> source code into a shared library. Could some one please at least tell me
> exactly how to use dmake to compile this. How do I get dmake to target to a
> shared library and how do I execute it.
> 
I think you'll get some useful guidelines if you look up the HTML version
of MacPerl: Power and Ease (available somewhere on http://www.ptf.com/),
specifically instructions on building MacPerl.

Because of the nature of MacOS the build process is a bit different than
a standard Unix make driven build. First off we operate from MPW (Macintosh
Programmers Workshop) which provides a command-line environment.

Second, given a 'dmake' makefile, we use a little bit of indirection. An
MPW script (BuildProgram, which you should have after installing the
MacPerl source and/or dmake) is invoked on the makefile target, whichever
one you want, and it calls dmake with the -n switch to just print all the
build rules for that target out to a file, which is then executed.

Confused already? :-)

Seriously, if you have the MacPerl source, and dmake, and Codewarrior,
then you're set, assuming proper installations. Launch MPW, and Set
Directory to the top-level of the MacPerl source folder. Inspect the
Makefile.mk you find there, and select the target that you might want to
build.

Now, at this point, since you don't know whether you have all the
prerequisites, you just want to see the rules. So, if the target is 'all',
type in this line in MPW and run it with Enter (not Return):

dmake -n all -f Makefile.mk > all.out

You can now inspect the file 'all.out' - this will be a complete sequence
of MPW commands which will build that target. You can edit this file and
execute it by typing 'all.out' at the command line, you can execute
commands in it one-by-one, or if it's good to start with, just build the
target with

BuildProgram all

You'll understand that if it was possible for the Mac port of dmake to
interact with MacOS to the same degree as Unix make can with Unix, then we
wouldn't have the need for this extra level of indirection.But there it is.

Hope this sheds a little light.

Arved


---------------------------------------------------------------
 This mail was sent through the Nova Scotia Provincial Server.
 http://nsaccess.ns.ca/mail/ (in development)

==== Want to unsubscribe from this list?
==== Send mail with body "unsubscribe" to macperl-porters-request@macperl.org