On 4/17/2014 11:19 AM, Ken Killian wrote:
I have many different compiles for an RPGLE:
CRTBNDRPG
CRTPGM
CRTSRVPGM
CRTRPGMOD
Etc...
So, I usually always pull up the compile menu.
Far and away, the vast majority of my work involves changing mainline
code - programs that consume service programs. CRTBNDRPG handles that,
so for the vast mojority of my day, Ctrl-Shift-C is all I need to
compile a program.
But what about the more complicated situations like when I'm editing a
service program's subprocedure, testing it (with RPGUnit) and jumping
back and forth between CRTBNDRPG and CRTRPGMOD?
I think I've discovered something about the way I work. I do a lot by
right clicking an entry in RSE. That's easy for me because I pretty
much always create a new connection with appropriately narrow filters
for the project I'm working on. I hardly ever File > Open a member
outside a connection, because the connection supplies the underlying
base IBM i environment; most importantly, the library list.
Lately, I've been experimenting with GNU make. 5799-PTL
http://www-304.ibm.com/partnerworld/wps/servlet/ContentHandler/pw_com_porting_tools_index
provides a GMAKE command that will run from the CL command line. Here's
a sample makefile I made up to create David Morris' ANT command from his
iSeries Toolkit
http://iseries-toolkit.sourceforge.net/
srclib = opensource
objlib = $(srclib)
objpath = /qsys.lib/$(objlib).lib
modules = $(objpath)/msgtkt.srvpgm $(objpath)/exccmd.srvpgm
$(objpath)/jobtkt.srvpgm\
$(objpath)/ant.module $(objpath)/ant.pgm $(objpath)/ant.cmd
all: $(modules)
$(objpath)/msgtkt.srvpgm:
system "gmake '-f msgtkt.mak'" > null
$(objpath)/exccmd.srvpgm:
system "gmake '-f exccmd.mak'" > null
$(objpath)/jobtkt.srvpgm:
system "gmake '-f jobtkt.mak'" > null
/qsys.lib/$(objlib).lib/ant.module:
system "CRTRPGMOD MODULE($(objlib)/ant)\
SRCFILE($(srclib)/QRPGLESRC)\
SRCMBR(ant)\
REPLACE(*YES)\
DBGVIEW(*LIST)" > null
$(objpath)/ant.pgm:
system "CRTPGM PGM($(objlib)/ANT)\
BNDDIR($(objlib)/ISTKT)\
ACTGRP(QILE) OPTION(*DUPPROC)" > null
$(objpath)/ant.cmd:
system "CRTCMD CMD($(objlib)/ANT)\
PGM($(objlib)/ANT)\
SRCFILE($(srclib)/QCMDSRC)\
PRDLIB($(objlib))" > null
.PHONY: clean
clean:
-system "dltmod $(objlib)/ant" > null
-system "dltpgm $(objlib)/ant" > null
My interest in ant and make stems from the notion that both have some
support within Eclipse. I haven't got to the part where I integrate
make with Eclipse yet, but I think it will handle a bunch of my complex
compilation problems. Then of course I'll need to write a makefile
tool, LOL!
--buck
As an Amazon Associate we earn from qualifying purchases.