Operating System - OpenVMS
1752305 Members
4931 Online
108786 Solutions
New Discussion юеВ

Re: sample Dec C complier makefile request for openvms 8.3

 
vpar
Advisor

sample Dec C complier makefile request for openvms 8.3

Hi,

Dec C compiler has installed on Itanium Openvms 8.3 and compiling for C is ok.
I need a makefile sample and how to compile using makefile in DCL.
Pls give me a procedure(example) step by step.

8 REPLIES 8
Kris Clippeleyr
Honored Contributor

Re: sample Dec C complier makefile request for openvms 8.3

Hi and welcome,
First of all, VMS is not Unix.
So there is no (native) 'make'-utility on VMS.
HP offers MMS (as part of DECset), so you need a license.
For info about the use (and abuse) of MMS, see:
http://h71000.www7.hp.com/doc/73final/5825/5825_.htm
There is also a freeware equivalent of MMS called MMK. Please see our website:
http://www.quadratrix.be/freeware.html

Regards,
Kris (aka Qkcl)
I'm gonna hit the highway like a battering ram on a silver-black phantom bike...
Joseph Huber_1
Honored Contributor

Re: sample Dec C complier makefile request for openvms 8.3


The "native" VMS make facility is MMS, part of the DECset software suite. If You have it, see with HELP MMS how to use it.
MMS has a /GENERATE switch to generate a makefile from a given list of source files.
There is a freeware clone of called MMK from Matt Madison, available from
http://vms.process.com/scripts/fileserv/fileserv.com?MMK
It is compatible with MMS, but lacks the /GENERATE feature.
Although I am no experienced user of MMS, maybe some of my makefiles at
http://www.mpp.mpg.de/~huber/util/main/
(see all the *.MMS files) are instructive.

If You are coming from a U*x environment, the "make/Makefile" compatible way is also available, if You have the GNV suite with the bash shell installed (see at the "freeware" page of the HP OpenVMS web site).

http://www.mpp.mpg.de/~huber
Steven Schweda
Honored Contributor

Re: sample Dec C complier makefile request for openvms 8.3

> There is also a freeware equivalent [...]

> There is a freeware clone [...]

MMK is not a "clone" of MMS, and it's not
"equivalent" to it. MMK can be a replacement
for MMS, in some (many) cases.

> [...]
> It is compatible with MMS, but lacks the
> /GENERATE feature. [...]

Mostly compatible. And several other
features, too, but the price is right.

> Pls give me a procedure(example) step by
> step.

Please (Plus?) give a clear explanation of
what you really want. (Using whole English
words can improve communication, too.) What,
exactly, are you trying to do?

There are MMS/MMK description files in many
of the packages found at:

http://antinode.info/dec/index.html#Software

They do tend to be rather complicated,
however, so they may not be the best
elementary examples.
H.Becker
Honored Contributor

Re: sample Dec C complier makefile request for openvms 8.3

GNU make 3.82 is available on http://ftp.gnu.org/gnu/make/. It includes a sample makefile (to make itself)
Steven Schweda
Honored Contributor

Re: sample Dec C complier makefile request for openvms 8.3

> GNU make 3.82 is available on
> http://ftp.gnu.org/gnu/make/.

Have you tried to use it (on a VMS system)?
Joseph Huber_1
Honored Contributor

Re: sample Dec C complier makefile request for openvms 8.3


I built gnu make 8.2 on my ancient VMS7.3-1, DECC 6.5,latest CRTL available for 7.3-1, with only a minor modification in config.h-vms:

/* Define to 1 if you have the strncasecmp function. */
#define HAVE_STRNCASECMP 1 /* also available*/

Hartmut, can You confirm and update ? For 7.3-2 + it should be there also.

http://www.mpp.mpg.de/~huber
Steven Schweda
Honored Contributor

Re: sample Dec C complier makefile request for openvms 8.3

> [...] For 7.3-2 + it should be there also.

Around here (see ), the appropriate
test would seem to be

__CRTL_VER >= 70000000
H.Becker
Honored Contributor

Re: sample Dec C complier makefile request for openvms 8.3

>>> with only a minor modification in config.h-vms:

Yes, you are right.

I don't like this, but it happened. I tested the latest RC. Then there was a change which defines strncasecmp, in case it is not available. That escaped me. Strncasecmp isn't used in the VMS version at all. It is only used for the Win32 and MS-DOS versions.

I make sure that config.h-vms is updated.