Re: "make" question

2017-12-18 Thread Rick Troth

On 12/18/17 20:44, Paul Gilmartin wrote:

On Mon, 18 Dec 2017 19:47:26 -0500, Rick Troth wrote:

Anyway, it's not difficult to have your makefiles fix themselves,
converting leading 8 blanks to a tab automagically. Some of the
makefiles in and around CMS Make do exactly that: if they land on (for
example) Linux, they get run through 'sed' to convert leading 8 blanks
to a single tab.

Doesn't this break a macro definition or a dependency rule that happens to
start with 8 blanks?


I did say limited scope.
So I suppose it /could/, but IMLX I've never seen a macro nor rule that 
starts with 8 blanks.


There must have been some reason Feldman chose  instead of  
But the story I recall fondly is that after creating 'make' and turning 
it loose and then getting a good night's sleep, he fretted, "why did I 
give it such a stupid requirement?". (heavily paraphrased; "stupid" 
wording mine)




-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


-- R; <><







--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-18 Thread Paul Gilmartin
On Mon, 18 Dec 2017 19:47:26 -0500, Rick Troth wrote:
>
>Anyway, it's not difficult to have your makefiles fix themselves,
>converting leading 8 blanks to a tab automagically. Some of the
>makefiles in and around CMS Make do exactly that: if they land on (for
>example) Linux, they get run through 'sed' to convert leading 8 blanks
>to a single tab.
> 
Doesn't this break a macro definition or a dependency rule that happens to
start with 8 blanks?

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-18 Thread Rick Troth
I cobbled up CMS Make (like three times, two being lost to former 
employers) and intentionally made "leading white space" count for 
"leading tab character". Seems to work, but I always only ever use a 
subset of full 'make' capability (on any platform).


Anyway, it's not difficult to have your makefiles fix themselves, 
converting leading 8 blanks to a tab automagically. Some of the 
makefiles in and around CMS Make do exactly that: if they land on (for 
example) Linux, they get run through 'sed' to convert leading 8 blanks 
to a single tab.


The idea is that "makefile" (or "Makefile" if you must) depends on some 
other "makefile.in", which is the master. On any platform, if 
"makefile.in" is newer, the recipe is triggered, and maybe is just ...


   sed 's#^#\t#' < makefile.in > makefile


 ... or something to that effect. (Might have to embed a real tab if 
your 'sed' is not smart enough.) Then you can edit your master rules 
files on 3270 without funky presentation and painful data entry 
incantations.


Makefile with dependencies is messy but not unheard of.

-- R; <><


On 12/18/17 13:42, Seymour J Metz wrote:

Tabs were a bloody nuisance long before 3270 displays came along; in fact, they 
may have been worse on hardcopy terminals than on 3270s.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List <IBM-MAIN@listserv.ua.edu> on behalf of John 
McKown <john.archie.mck...@gmail.com>
Sent: Thursday, December 14, 2017 2:08 PM
To: IBM-MAIN@listserv.ua.edu
Subject: Re: "make" question

On Thu, Dec 14, 2017 at 12:56 PM, Jack J. Woehr <j...@well.com> wrote:


On 12/14/2017 7:25 AM, Gord Tomlin wrote:


All the make tools share an annoying reliance on tab characters.


This is somehow more pernicious than punch-card-column dependencies in
traditional IBM tools? :)


​IMO, the use of tabs as a "data character" is only annoying to people
stuck on a 3270 display.  I have _no_ problems with them when I'm using ssh
to get a UNIX shell. Boiled down, I will agree that using UNIX tools in a
TSO  (3270) environment is annoying.​ Equally annoying, to me, is the
column dependencies when I editing an HLASM or COBOL program from the UNIX
shell. And don't get me going on the "vi" that IBM distributes.



--
Jack J. Woehr # Science is more than a body of knowledge. It's a way of
http://secure-web.cisco.com/1ybTM2fIPP6WIfaVgbAVnswUzPnLdlv3Q8suGEuvNuIcWmlO1FeCilZ_8AhBDR-gmcGDcWhBJEMVBPDjtPo47Ec46mMyk-AOKheGSj1zNZIOcc1PcpkdPbisMbUUwXdyxchTPLkS9938zz2xTA-atthJaQg8nrixGqy71j40crWiVHjKaJvcMhcM9azcZhOXm_krOIUa8sblenqgCAnmtqbNSt3SM6rhLSb33bqcKbth50bY0xFf6E4s7hYftAcX6Jn6IIYuYLjj2sxSYKJ4Lid-vuodLYc4D758luythtRxrb0-N0X5-cas0_7vXj6XnN4ZzfOH5RrAwzTh8V-zKkU5HwMD6yW_7sAusgAdvov4FtuFtqpTgxabUa3aMKgLc/http%3A%2F%2Fwww.well.com%2F%7Ejax
 # thinking, a way of skeptically interrogating the
universe
www.softwoehr.com # with a fine understanding of human fallibility. -
Carl Sagan


--
I have a theory that it's impossible to prove anything, but I can't prove
it.

Maranatha! <><
John McKown

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--ClefOS
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN




--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-18 Thread Seymour J Metz
Tabs were a bloody nuisance long before 3270 displays came along; in fact, they 
may have been worse on hardcopy terminals than on 3270s.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List <IBM-MAIN@listserv.ua.edu> on behalf of 
John McKown <john.archie.mck...@gmail.com>
Sent: Thursday, December 14, 2017 2:08 PM
To: IBM-MAIN@listserv.ua.edu
Subject: Re: "make" question

On Thu, Dec 14, 2017 at 12:56 PM, Jack J. Woehr <j...@well.com> wrote:

> On 12/14/2017 7:25 AM, Gord Tomlin wrote:
>
>> All the make tools share an annoying reliance on tab characters.
>
>
> This is somehow more pernicious than punch-card-column dependencies in
> traditional IBM tools? :)


​IMO, the use of tabs as a "data character" is only annoying to people
stuck on a 3270 display.  I have _no_ problems with them when I'm using ssh
to get a UNIX shell. Boiled down, I will agree that using UNIX tools in a
TSO  (3270) environment is annoying.​ Equally annoying, to me, is the
column dependencies when I editing an HLASM or COBOL program from the UNIX
shell. And don't get me going on the "vi" that IBM distributes.


> --
> Jack J. Woehr # Science is more than a body of knowledge. It's a way of
> http://secure-web.cisco.com/1ybTM2fIPP6WIfaVgbAVnswUzPnLdlv3Q8suGEuvNuIcWmlO1FeCilZ_8AhBDR-gmcGDcWhBJEMVBPDjtPo47Ec46mMyk-AOKheGSj1zNZIOcc1PcpkdPbisMbUUwXdyxchTPLkS9938zz2xTA-atthJaQg8nrixGqy71j40crWiVHjKaJvcMhcM9azcZhOXm_krOIUa8sblenqgCAnmtqbNSt3SM6rhLSb33bqcKbth50bY0xFf6E4s7hYftAcX6Jn6IIYuYLjj2sxSYKJ4Lid-vuodLYc4D758luythtRxrb0-N0X5-cas0_7vXj6XnN4ZzfOH5RrAwzTh8V-zKkU5HwMD6yW_7sAusgAdvov4FtuFtqpTgxabUa3aMKgLc/http%3A%2F%2Fwww.well.com%2F%7Ejax
>  # thinking, a way of skeptically interrogating the
> universe
> www.softwoehr.com # with a fine understanding of human fallibility. -
> Carl Sagan
>

--
I have a theory that it's impossible to prove anything, but I can't prove
it.

Maranatha! <><
John McKown

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-16 Thread Clark Morris
[Default] On 14 Dec 2017 11:07:32 -0800, in bit.listserv.ibm-main
john.archie.mck...@gmail.com (John McKown) wrote:

>On Thu, Dec 14, 2017 at 12:56 PM, Jack J. Woehr  wrote:
>
>> On 12/14/2017 7:25 AM, Gord Tomlin wrote:
>>
>>> All the make tools share an annoying reliance on tab characters.
>>
>>
>> This is somehow more pernicious than punch-card-column dependencies in
>> traditional IBM tools? :)
>
>
>?IMO, the use of tabs as a "data character" is only annoying to people
>stuck on a 3270 display.  I have _no_ problems with them when I'm using ssh
>to get a UNIX shell. Boiled down, I will agree that using UNIX tools in a
>TSO  (3270) environment is annoying.? Equally annoying, to me, is the
>column dependencies when I editing an HLASM or COBOL program from the UNIX
>shell. And don't get me going on the "vi" that IBM distributes.
>
Has IBM implemented the free-form option for compiling COBOL in the
2002 standard?

Clark Morris
>
>> --
>> Jack J. Woehr # Science is more than a body of knowledge. It's a way of
>> www.well.com/~jax # thinking, a way of skeptically interrogating the
>> universe
>> www.softwoehr.com # with a fine understanding of human fallibility. -
>> Carl Sagan
>>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-16 Thread David Crayford

On 14/12/2017 10:25 PM, Gord Tomlin wrote:


z/OS make != gmake != nmake (Microsoft's version). If you are 
collaborating with others at work, it makes sense to standardize on 
one make tool.


Agreed. I would pick gmake 9/10 because it's pervasive and more 
portable. If you work with open source software on z/OS gmake is a must 
have.





Although I haven't tried, it is likely possible to create a (very 
ugly) Makefile that can react to which make tool is being used.


CMake flattens a lot of those problems although I won't generate z/OS 
makefiles. We have a z/OS CMake port.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-15 Thread Paul Gilmartin
On Thu, 14 Dec 2017 01:58:34 +, Frank Swarbrick wrote:

>I wrote my first "makefile" today.  Took me some time to understand the 
>requirement for tab characters.  Having only the ISPF editor (oedit), tab 
>characters are not very friendly on 3270 screens.
>
Does ISPF (under oedit's covers) support character translation?  If so, map
something you can type with the ALT key such as ® or ¥ and which you don't
use much otherwise to/from x'05', the EBCDIC tab.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-14 Thread Gord Tomlin

On 2017-12-14 13:56, Jack J. Woehr wrote:

On 12/14/2017 7:25 AM, Gord Tomlin wrote:

All the make tools share an annoying reliance on tab characters.



This is somehow more pernicious than punch-card-column dependencies in 
traditional IBM tools? :)


Neither is great, but at least you can see the sequence numbers! :D

--

Regards, Gord Tomlin
Action Software International
(a division of Mazda Computer Corporation)
Tel: (905) 470-7113, Fax: (905) 470-6507
Support: https://actionsoftware.com/support/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-14 Thread John McKown
On Thu, Dec 14, 2017 at 12:56 PM, Jack J. Woehr  wrote:

> On 12/14/2017 7:25 AM, Gord Tomlin wrote:
>
>> All the make tools share an annoying reliance on tab characters.
>
>
> This is somehow more pernicious than punch-card-column dependencies in
> traditional IBM tools? :)


​IMO, the use of tabs as a "data character" is only annoying to people
stuck on a 3270 display.  I have _no_ problems with them when I'm using ssh
to get a UNIX shell. Boiled down, I will agree that using UNIX tools in a
TSO  (3270) environment is annoying.​ Equally annoying, to me, is the
column dependencies when I editing an HLASM or COBOL program from the UNIX
shell. And don't get me going on the "vi" that IBM distributes.


> --
> Jack J. Woehr # Science is more than a body of knowledge. It's a way of
> www.well.com/~jax # thinking, a way of skeptically interrogating the
> universe
> www.softwoehr.com # with a fine understanding of human fallibility. -
> Carl Sagan
>

-- 
I have a theory that it's impossible to prove anything, but I can't prove
it.

Maranatha! <><
John McKown

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-14 Thread Jack J. Woehr

On 12/14/2017 7:25 AM, Gord Tomlin wrote:

All the make tools share an annoying reliance on tab characters.



This is somehow more pernicious than punch-card-column dependencies in 
traditional IBM tools? :)



--
Jack J. Woehr # Science is more than a body of knowledge. It's a way of
www.well.com/~jax # thinking, a way of skeptically interrogating the universe
www.softwoehr.com # with a fine understanding of human fallibility. - Carl Sagan

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-14 Thread Frank Swarbrick
Interesting workaround.  Not sure I'll use it, but good to know about.

From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of 
John McKown <john.archie.mck...@gmail.com>
Sent: Thursday, December 14, 2017 8:12 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: "make" question

On Thu, Dec 14, 2017 at 9:06 AM, Paul Gilmartin <
000433f07816-dmarc-requ...@listserv.ua.edu> wrote:

> On Thu, 14 Dec 2017 09:25:45 -0500, Gord Tomlin wrote:
> >
> >All the make tools share an annoying reliance on tab characters.
> >
> Actually, some (I don't recall which) will accept indention by blanks.
>
> Tab was a bad design choice.
>
> -- gil
>

​I haven't tried the following (at bottom of page)
https://stackoverflow.com/questions/2131213/can-you-make-valid-makefiles-without-tab-characters



There is a convoluted way of have a valid makefile without tabs.

If you change your makefile to read:

target: dependencies; command1; command2

If will work. If you want it on more than one line, then you can do:

target: dependencies; \
command1; \
command2

Messy, but it works.

​


--
I have a theory that it's impossible to prove anything, but I can't prove
it.

Maranatha! <><
John McKown

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-14 Thread John McKown
On Thu, Dec 14, 2017 at 9:06 AM, Paul Gilmartin <
000433f07816-dmarc-requ...@listserv.ua.edu> wrote:

> On Thu, 14 Dec 2017 09:25:45 -0500, Gord Tomlin wrote:
> >
> >All the make tools share an annoying reliance on tab characters.
> >
> Actually, some (I don't recall which) will accept indention by blanks.
>
> Tab was a bad design choice.
>
> -- gil
>

​I haven't tried the following (at bottom of page)
https://stackoverflow.com/questions/2131213/can-you-make-valid-makefiles-without-tab-characters



There is a convoluted way of have a valid makefile without tabs.

If you change your makefile to read:

target: dependencies; command1; command2

If will work. If you want it on more than one line, then you can do:

target: dependencies; \
command1; \
command2

Messy, but it works.

​


-- 
I have a theory that it's impossible to prove anything, but I can't prove
it.

Maranatha! <><
John McKown

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-14 Thread Paul Gilmartin
On Thu, 14 Dec 2017 09:25:45 -0500, Gord Tomlin wrote:
>
>All the make tools share an annoying reliance on tab characters.
> 
Actually, some (I don't recall which) will accept indention by blanks.

Tab was a bad design choice.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-14 Thread Gord Tomlin

On 2017-12-14 06:52, Steve Smith wrote:

I use z/OS make!  Out of lack of experience, I guess, but it seems to
do its job OK.  We ran into some issues when one developer was
accidentally using gnu make.  It produced a bunch of mysterious
errors, and took us a while to figure out.  So, makefiles don't seem
to be compatible between them (generalizing from my one example).

I usually edit in ISPF.  For the tabs, I use something rare, like ~ or
@@, then before saving, do a change all to x'05'.  And the inverse
when editing, if needed.  Much of the time, you can edit around the
tabs just fine.  But I really dislike invisible characters, and it
seems like a silly way to do things.


z/OS make != gmake != nmake (Microsoft's version). If you are 
collaborating with others at work, it makes sense to standardize on one 
make tool.


Although I haven't tried, it is likely possible to create a (very ugly) 
Makefile that can react to which make tool is being used.


All the make tools share an annoying reliance on tab characters.

--

Regards, Gord Tomlin
Action Software International
(a division of Mazda Computer Corporation)
Tel: (905) 470-7113, Fax: (905) 470-6507
Support: https://actionsoftware.com/support/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-14 Thread Steve Smith
I use z/OS make!  Out of lack of experience, I guess, but it seems to
do its job OK.  We ran into some issues when one developer was
accidentally using gnu make.  It produced a bunch of mysterious
errors, and took us a while to figure out.  So, makefiles don't seem
to be compatible between them (generalizing from my one example).

I usually edit in ISPF.  For the tabs, I use something rare, like ~ or
@@, then before saving, do a change all to x'05'.  And the inverse
when editing, if needed.  Much of the time, you can edit around the
tabs just fine.  But I really dislike invisible characters, and it
seems like a silly way to do things.

sas

On Thu, Dec 14, 2017 at 1:17 AM, Paul Gilmartin
<000433f07816-dmarc-requ...@listserv.ua.edu> wrote:
> On Thu, 14 Dec 2017 13:40:14 +0800, David Crayford wrote:
>
>>Swing by Rockets ported talks and download and install gmake. Nobody
>>uses the z/OS make including IBM developers.
>>
> It would have been a boon if Unix System services had been ASCII-based rather 
> than
> EBCDIC, and relied on GNU tools.
>
>>On 14/12/2017 9:58 AM, Frank Swarbrick wrote:
>>> I wrote my first "makefile" today.  Took me some time to understand the 
>>> requirement for tab characters.  Having only the ISPF editor (oedit), tab 
>>> characters are not very friendly on 3270 screens.
>>>
> There ought to be an RFE here.  Tab could be handled cleverly on a 3270 
> screen.
>
> But ISPF is perhaps not the best editor for makefiles or many other UNIXy 
> tools.
>
> EBCDIC tab is x'05'.
>
>>> GNUMake has an special variable called ".RECIPEPREFIX" that allows 
>>> replacement of the tab character with another character.  This does not 
>>> appear to be an option on z/OS.  Does z/OS by chance have anything similar, 
>>> perhaps with a different name?
>
> -- gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN



-- 
sas

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-13 Thread Paul Gilmartin
On Thu, 14 Dec 2017 13:40:14 +0800, David Crayford wrote:

>Swing by Rockets ported talks and download and install gmake. Nobody
>uses the z/OS make including IBM developers.
>
It would have been a boon if Unix System services had been ASCII-based rather 
than
EBCDIC, and relied on GNU tools.

>On 14/12/2017 9:58 AM, Frank Swarbrick wrote:
>> I wrote my first "makefile" today.  Took me some time to understand the 
>> requirement for tab characters.  Having only the ISPF editor (oedit), tab 
>> characters are not very friendly on 3270 screens.
>>
There ought to be an RFE here.  Tab could be handled cleverly on a 3270 screen.

But ISPF is perhaps not the best editor for makefiles or many other UNIXy tools.

EBCDIC tab is x'05'.

>> GNUMake has an special variable called ".RECIPEPREFIX" that allows 
>> replacement of the tab character with another character.  This does not 
>> appear to be an option on z/OS.  Does z/OS by chance have anything similar, 
>> perhaps with a different name?

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: "make" question

2017-12-13 Thread David Crayford
Swing by Rockets ported talks and download and install gmake. Nobody 
uses the z/OS make including IBM developers.



On 14/12/2017 9:58 AM, Frank Swarbrick wrote:

I wrote my first "makefile" today.  Took me some time to understand the 
requirement for tab characters.  Having only the ISPF editor (oedit), tab characters are 
not very friendly on 3270 screens.

GNUMake has an special variable called ".RECIPEPREFIX" that allows replacement 
of the tab character with another character.  This does not appear to be an option on 
z/OS.  Does z/OS by chance have anything similar, perhaps with a different name?

Thanks,
Frank

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN