@profoundlogic/codermake 3.1.3 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -2
- package/dist/bin/index.js +1 -1
- package/dist/bin/preprocess-cobol-copy.js +2 -0
- package/dist/bin/preprocess-rpg-copy.js +1 -1
- package/dist/bin/rdf-to-dds.js +1 -1
- package/dist/lib/cobol-copy-preprocessor.js +1 -0
- package/dist/lib/config.js +1 -1
- package/dist/lib/discovery.js +1 -1
- package/dist/lib/ejs-to-dds.js +1 -1
- package/dist/lib/ent.js +1 -1
- package/dist/lib/executor.js +1 -1
- package/dist/lib/flv.js +1 -1
- package/dist/lib/generate-rdf-dds.js +1 -1
- package/dist/lib/license.js +1 -1
- package/dist/lib/makefile-generator.js +1 -1
- package/dist/lib/platform.js +1 -1
- package/dist/lib/preprocessor.js +1 -1
- package/dist/lib/rdf-to-post-data.js +1 -1
- package/dist/lib/rpg-copy-preprocessor.js +1 -1
- package/dist/lib/ssh.js +1 -1
- package/dist/lib/target-listing.js +1 -1
- package/dist/lib/writer.js +1 -1
- package/dist/makefiles/base.mk +39 -0
- package/dist/makefiles/ibmi.mk +77 -2
- package/dist/makefiles/unix.mk +72 -2
- package/package.json +1 -1
- package/skills/codermake/SKILL.md +5 -0
- package/skills/codermake/references/file-types.md +94 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x535ac1=_0x5477;(function(_0x4071f9,_0x37f093){const _0x195a1a=_0x5477,_0xa87672=_0x4071f9();while(!![]){try{const _0x2f708f=-parseInt(_0x195a1a(0x1fe))/0x1*(-parseInt(_0x195a1a(0x200))/0x2)+parseInt(_0x195a1a(0x1ba))/0x3+parseInt(_0x195a1a(0x1eb))/0x4+parseInt(_0x195a1a(0x1cd))/0x5+-parseInt(_0x195a1a(0x1e5))/0x6+-parseInt(_0x195a1a(0x20e))/0x7*(-parseInt(_0x195a1a(0x1e8))/0x8)+parseInt(_0x195a1a(0x1f7))/0x9*(-parseInt(_0x195a1a(0x1bf))/0xa);if(_0x2f708f===_0x37f093)break;else _0xa87672['push'](_0xa87672['shift']());}catch(_0x10cca8){_0xa87672['push'](_0xa87672['shift']());}}}(_0x5413,0x8c456));import{COMMANDS,TGTRLS_COMMANDS}from'./config.js';const RECORD_SENTINEL=_0x535ac1(0x1b3),RECORD_LINE_PREFIX=':\x20'+RECORD_SENTINEL+'\x09';export const RECORD_FIELDS=[_0x535ac1(0x203),'library',_0x535ac1(0x20b),_0x535ac1(0x1f2),_0x535ac1(0x1e9),_0x535ac1(0x1af),'reason'];export const LIST_FORMATS=[_0x535ac1(0x1a7),_0x535ac1(0x1bd),'tsv'];const _0x1eb88a={};_0x1eb88a[_0x535ac1(0x1d8)]=_0x535ac1(0x1b4),_0x1eb88a[_0x535ac1(0x1c4)]='*module',_0x1eb88a['.srvpgm']=_0x535ac1(0x1c9),_0x1eb88a[_0x535ac1(0x1cc)]=_0x535ac1(0x1e3),_0x1eb88a[_0x535ac1(0x1b5)]=_0x535ac1(0x1c6),_0x1eb88a[_0x535ac1(0x1f9)]=_0x535ac1(0x1fd),_0x1eb88a['.bnddir']='*bnddir';const OBJECT_TYPES=_0x1eb88a,_0x5ced54={};_0x5ced54[_0x535ac1(0x203)]=_0x535ac1(0x1ac),_0x5ced54['library']='LIBRARY',_0x5ced54[_0x535ac1(0x20b)]=_0x535ac1(0x1cf),_0x5ced54[_0x535ac1(0x1f2)]=_0x535ac1(0x1df),_0x5ced54[_0x535ac1(0x1e9)]='SOURCE',_0x5ced54[_0x535ac1(0x1af)]='TGTRLS',_0x5ced54[_0x535ac1(0x1d2)]='REASON';const TEXT_HEADINGS=_0x5ced54,_0x1de7d5={};_0x1de7d5['BUILD_SQLRPGLE_PGM']='crtsqlrpgi',_0x1de7d5[_0x535ac1(0x1b6)]='crtbndrpg',_0x1de7d5[_0x535ac1(0x208)]=_0x535ac1(0x1da),_0x1de7d5['BUILD_CLLE_PGM']='crtbndcl',_0x1de7d5[_0x535ac1(0x1ec)]=_0x535ac1(0x1c5),_0x1de7d5['BUILD_CLP38_PGM']='qsys38/crtclpgm',_0x1de7d5[_0x535ac1(0x1d7)]='crtrpgpgm',_0x1de7d5[_0x535ac1(0x1fb)]=_0x535ac1(0x1ff),_0x1de7d5[_0x535ac1(0x1d5)]=_0x535ac1(0x1c8),_0x1de7d5[_0x535ac1(0x1bc)]=_0x535ac1(0x1c8),_0x1de7d5[_0x535ac1(0x1f6)]=_0x535ac1(0x1ab),_0x1de7d5[_0x535ac1(0x1b0)]=_0x535ac1(0x1d6),_0x1de7d5[_0x535ac1(0x205)]='crtrpgmod',_0x1de7d5[_0x535ac1(0x1b2)]=_0x535ac1(0x1ee),_0x1de7d5[_0x535ac1(0x1a4)]=_0x535ac1(0x1ed),_0x1de7d5['BUILD_MODULE_TO_SRVPGM']=_0x535ac1(0x1f4),_0x1de7d5[_0x535ac1(0x1ea)]=_0x535ac1(0x1f4),_0x1de7d5[_0x535ac1(0x1f0)]=_0x535ac1(0x1c8),_0x1de7d5[_0x535ac1(0x1d9)]=_0x535ac1(0x1c8),_0x1de7d5[_0x535ac1(0x1db)]='crtdspf',_0x1de7d5[_0x535ac1(0x204)]='crtdspf',_0x1de7d5[_0x535ac1(0x1c3)]=_0x535ac1(0x1b7),_0x1de7d5[_0x535ac1(0x1ca)]='crtlf',_0x1de7d5[_0x535ac1(0x207)]='crtprtf',_0x1de7d5[_0x535ac1(0x201)]='qsys38/crtdspf',_0x1de7d5[_0x535ac1(0x1f8)]=_0x535ac1(0x1c2),_0x1de7d5['BUILD_LF38_TO_FILE']=_0x535ac1(0x1a8),_0x1de7d5[_0x535ac1(0x209)]='qsys38/crtprtf',_0x1de7d5[_0x535ac1(0x1e4)]=_0x535ac1(0x1c8),_0x1de7d5[_0x535ac1(0x1c7)]=_0x535ac1(0x1c8),_0x1de7d5[_0x535ac1(0x1d0)]='runsqlstm',_0x1de7d5[_0x535ac1(0x1e0)]='',_0x1de7d5['BUILD_BNDDIR']='',_0x1de7d5[_0x535ac1(0x202)]=_0x535ac1(0x1b1);const RECIPE_COMMANDS=_0x1de7d5;export function objectTypeForExtension(_0x260001){return OBJECT_TYPES[_0x260001]||null;}export function recipeAcceptsTargetRelease(_0x3a8e4d){const _0x5558f6=_0x535ac1,_0x797ab1=RECIPE_COMMANDS[_0x3a8e4d];return!!_0x797ab1&&TGTRLS_COMMANDS[_0x5558f6(0x1e1)](_0x797ab1);}export function commandForRecipe(_0x5d53a2){return RECIPE_COMMANDS[_0x5d53a2];}export const KNOWN_COMMANDS=COMMANDS;export function renderRecordRecipe({target:_0x3336a4,library:_0x2a282a,object:_0x409515,type:_0x397261,source:_0x2c6275,withTargetRelease:_0x4b8937}){const _0x15d4e6=_0x535ac1,_0x23b3bd={};_0x23b3bd[_0x15d4e6(0x1a9)]=function(_0x94c8b9,_0x443ba5){return _0x94c8b9||_0x443ba5;},_0x23b3bd[_0x15d4e6(0x1dc)]=_0x15d4e6(0x1e7),_0x23b3bd[_0x15d4e6(0x20c)]='$(CODERMAKE_LIST_REASON)',_0x23b3bd[_0x15d4e6(0x1bb)]=_0x15d4e6(0x1b8);const _0x53b7d9=_0x23b3bd,_0xe5310a={'target':_0x3336a4,'library':_0x2a282a,'object':_0x409515,'type':_0x397261,'source':_0x53b7d9[_0x15d4e6(0x1a9)](_0x2c6275,''),'targetRelease':_0x4b8937?_0x53b7d9['XejkT']:'','reason':_0x53b7d9[_0x15d4e6(0x20c)]};for(const [_0x338a51,_0xdd2618]of Object['entries'](_0xe5310a)){if(/[\t\n]/[_0x15d4e6(0x1ce)](_0xdd2618))throw new Error(_0x15d4e6(0x1ad)+_0x3336a4+_0x15d4e6(0x1e6)+_0x338a51+'\x20contains\x20a\x20tab\x20or\x20newline,\x20'+_0x53b7d9[_0x15d4e6(0x1bb)]);}const _0x55a2b3=RECORD_FIELDS[_0x15d4e6(0x1c0)](_0x1ac38f=>_0xe5310a[_0x1ac38f]);return _0x15d4e6(0x1c1)+RECORD_SENTINEL+'\x09'+_0x55a2b3[_0x15d4e6(0x1d4)]('\x09');}export function isRecordLine(_0x40cba1){const _0xe78e28=_0x535ac1;return _0x40cba1[_0xe78e28(0x1f1)](RECORD_LINE_PREFIX);}export function parseRecords(_0x4d815b){const _0x6578c6=_0x535ac1,_0x1c588c={'RLXZC':function(_0x3bf50b,_0x4c324b){return _0x3bf50b(_0x4c324b);},'sTkQm':function(_0x3878bc,_0x36772b){return _0x3878bc!==_0x36772b;}},_0x5add5b=[];for(const _0x4b6978 of _0x4d815b['split']('\x0a')){const _0x3e2e03=_0x4b6978[_0x6578c6(0x1aa)](/\r$/,'');if(!_0x1c588c[_0x6578c6(0x1ae)](isRecordLine,_0x3e2e03))continue;const _0x2ce428=_0x3e2e03[_0x6578c6(0x20f)](RECORD_LINE_PREFIX['length'])[_0x6578c6(0x1be)]('\x09');if(_0x1c588c[_0x6578c6(0x20d)](_0x2ce428[_0x6578c6(0x1a5)],RECORD_FIELDS[_0x6578c6(0x1a5)]))throw new Error(_0x6578c6(0x1a6)+RECORD_FIELDS[_0x6578c6(0x1a5)]+'\x20fields,\x20got\x20'+_0x2ce428[_0x6578c6(0x1a5)]+_0x6578c6(0x210)+_0x3e2e03);const _0x4f04fc={};RECORD_FIELDS[_0x6578c6(0x1e2)]((_0x32c08b,_0x5aa6f3)=>{_0x4f04fc[_0x32c08b]=_0x2ce428[_0x5aa6f3];}),_0x5add5b[_0x6578c6(0x206)](_0x4f04fc);}return _0x5add5b;}function _0x5477(_0x4d2d22,_0xc08cf5){_0x4d2d22=_0x4d2d22-0x1a3;const _0x5413ed=_0x5413();let _0x5477e5=_0x5413ed[_0x4d2d22];if(_0x5477['QtLLpW']===undefined){var _0x5b828a=function(_0x444420){const _0x389929='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ba3a0='',_0x5bc88d='';for(let _0x59e95=0x0,_0x2991b9,_0x32d7cb,_0x46c712=0x0;_0x32d7cb=_0x444420['charAt'](_0x46c712++);~_0x32d7cb&&(_0x2991b9=_0x59e95%0x4?_0x2991b9*0x40+_0x32d7cb:_0x32d7cb,_0x59e95++%0x4)?_0x3ba3a0+=String['fromCharCode'](0xff&_0x2991b9>>(-0x2*_0x59e95&0x6)):0x0){_0x32d7cb=_0x389929['indexOf'](_0x32d7cb);}for(let _0x5d206f=0x0,_0x27f6ca=_0x3ba3a0['length'];_0x5d206f<_0x27f6ca;_0x5d206f++){_0x5bc88d+='%'+('00'+_0x3ba3a0['charCodeAt'](_0x5d206f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5bc88d);};_0x5477['REDtXu']=_0x5b828a,_0x5477['qoMFBj']={},_0x5477['QtLLpW']=!![];}const _0x545710=_0x5413ed[0x0],_0x92bd80=_0x4d2d22+_0x545710,_0x442410=_0x5477['qoMFBj'][_0x92bd80];return!_0x442410?(_0x5477e5=_0x5477['REDtXu'](_0x5477e5),_0x5477['qoMFBj'][_0x92bd80]=_0x5477e5):_0x5477e5=_0x442410,_0x5477e5;}function formatTsv(_0x5d77cb){const _0x4709b6=_0x535ac1;return _0x5d77cb[_0x4709b6(0x1c0)](_0x539bd9=>RECORD_FIELDS[_0x4709b6(0x1c0)](_0x22c322=>_0x539bd9[_0x22c322])[_0x4709b6(0x1d4)]('\x09'))[_0x4709b6(0x1d4)]('\x0a');}function _0x5413(){const _0x4831d2=['qLvjterFrfnqrJm4x1rpx0zjteu','qLvjterFtuvovq','DgfYz2v0','qLvjterFrfnqrL9ut19gsuXf','qLvjterFuLbhtevFtu9evuXf','ChvZAa','qLvjterFufjurL9ut19gsuXf','qLvjterFq0jmtevFueDn','qLvjterFufjurJm4x1rpx0zjteu','DMvYC2LVBG','B2jQzwn0','r1bpqNu','C1rRuw0','mteYvNr3weXA','C3vIC3rYAw5N','ktOG','Dhn2','qLvjterFq0Xmrv9nt0rvteu','BgvUz3rO','twfSzM9YBwvKihrHCMDLDcbSAxn0Aw5NihjLy29YzcaOzxHWzwn0zwqG','Dgv4Da','Cxn5CZm4l2nYDgXM','DwLyDxO','CMvWBgfJzq','y3j0CgDT','vefsr0vu','q2fUBM90igXPC3qGDgfYz2v0icC','uKXywKm','DgfYz2v0uMvSzwfZzq','qLvjterFu1fmuLbhtevFtu9evuXf','y3j0Bw51','qLvjterFq0jmtevFtu9evuXf','q09ervjnquTfx1rbuKDfva','kNbNBq','lM1LBNu','qLvjterFuLbhtevFueDn','y3j0Cgy','D2HPy2GGDgHLihjLy29YzcbMB3jTyxqGDxnLCYbHCYbZzxbHCMf0B3jZlG','vw5RBM93BIb0yxjNzxqGBgLZDgLUzYbMB3jTyxq6ia','mZqZmZiWm2XHAxfpqW','qK1yrxi','qLvjterFu1fmvfjjr0DfuL9ut19qr00','ANnVBG','C3bSAxq','mtC5mdbXq3zzu24','BwfW','cua6ia','Cxn5CZm4l2nYDhbM','qLvjterFuezFve9FrKLmrq','lM1VzhvSzq','y3j0y2XWz20','kM1LBNu','qLvjterFu1fmsu5ervHFve9FrKLmrq','CNvUC3fSC3rT','kNnYDNbNBq','qLvjterFtezFve9FrKLmrq','yuLjsMS','lMzPBgu','mtCXnZy5mhrNsNf3wG','DgvZDa','t0jkrunu','qLvjterFu1fmvKLfv19ut19gsuXf','Bwf4','CMvHC29U','sw90Bu0','AM9PBG','qLvjterFu1fmufjpq19ut19qr00','y3j0C3fSCNbNAq','qLvjterFuLbhx1bhtq','lNbNBq','qLvjterFu1fmvurgx1rpx1nsvLbhtq','y3j0yM5Ky2jS','qLvjterFuKrgx1rpx0zjteu','wgvQA1q','C3rYAw5NAwz5','tM8GDgfYz2v0CYbHzMzLy3rLzcaOzxzLCNL0AgLUzYbPCYb1Ccb0BYbKyxrLks4','vfLqrq','qLvjterFtvnhrG','AgfZ','zM9YrwfJAa','kMzPBgu','qLvjterFu1fmvefctevFve9FrKLmrq','nJKYntK4tgzXveL2','jZOGAxrZia','jcHdt0rfuK1bs0vFveDuuKXtkq','mtCZode2CufbuLPV','C291CMnL','qLvjterFtu9evuXfx1rpx1nsvLbhtv9bteW','mZeWnJmWog90yLL4wa','qLvjterFq0Xqx1bhtq','y3j0y2XTB2q','y3j0y2jSBw9K','uxH3rfq','qLvjterFu1fmufjpq19ut19tuLzqr00','C3rHCNrZv2L0Aa','DhLWzq','DgfYz2v0CW','y3j0C3j2CgDT','y291BNq','qLvjterFtu9evuXfx1rpx1bhtq','mtaYndjjEvLVwMy','qLvjterFueyZof9ut19gsuXf','lM1Zz2y','CM9bAKe','qLvjterFuLbhmZHFueDn','DhjPBuvUza','kM1Zz2y','mJK0nwvYs0Xfzq','Cxn5CZm4l2nYDhjWz3bNBq','nZHHtLP3rfC'];_0x5413=function(){return _0x4831d2;};return _0x5413();}function formatJson(_0x85bbc){const _0x48e794=_0x535ac1,_0x6de874={};_0x6de874['aIIJk']=function(_0x23915a,_0xa6a626){return _0x23915a===_0xa6a626;};const _0x3411ab=_0x6de874,_0x12e825=_0x85bbc[_0x48e794(0x1c0)](_0x30d78=>{const _0x259e98=_0x48e794,_0x36cea1={};for(const _0x1961e4 of RECORD_FIELDS){_0x36cea1[_0x1961e4]=_0x3411ab[_0x259e98(0x1cb)](_0x30d78[_0x1961e4],'')?null:_0x30d78[_0x1961e4];}return _0x36cea1;}),_0x24958a={};return _0x24958a[_0x48e794(0x20a)]=0x1,_0x24958a[_0x48e794(0x1f5)]=_0x12e825[_0x48e794(0x1a5)],_0x24958a[_0x48e794(0x1f3)]=_0x12e825,JSON[_0x48e794(0x1dd)](_0x24958a,null,0x2);}function formatText(_0x2974eb){const _0x139fd1=_0x535ac1,_0x405009={'QxwDT':_0x139fd1(0x1de),'BeBix':function(_0xa9e996,_0x422c95){return _0xa9e996(_0x422c95);}};if(_0x2974eb['length']===0x0)return _0x405009[_0x139fd1(0x1ef)];const _0x37bbd3=RECORD_FIELDS[_0x139fd1(0x1c0)](_0x561923=>Math[_0x139fd1(0x1d1)](TEXT_HEADINGS[_0x561923][_0x139fd1(0x1a5)],..._0x2974eb[_0x139fd1(0x1c0)](_0x262514=>_0x262514[_0x561923][_0x139fd1(0x1a5)]))),_0x2d0f43=_0x40976a=>_0x40976a[_0x139fd1(0x1c0)]((_0x27d528,_0x20552f)=>_0x20552f===_0x40976a[_0x139fd1(0x1a5)]-0x1?_0x27d528:_0x27d528['padEnd'](_0x37bbd3[_0x20552f]))[_0x139fd1(0x1d4)]('\x20\x20')[_0x139fd1(0x1fc)](),_0x3c6fc5=_0x2974eb[_0x139fd1(0x1a5)]===0x1?'target':'targets';return[_0x2974eb[_0x139fd1(0x1a5)]+'\x20'+_0x3c6fc5+'\x20affected\x20(dependency\x20order)','',_0x405009['BeBix'](_0x2d0f43,RECORD_FIELDS[_0x139fd1(0x1c0)](_0x1f6aaa=>TEXT_HEADINGS[_0x1f6aaa])),..._0x2974eb[_0x139fd1(0x1c0)](_0x582b8c=>_0x2d0f43(RECORD_FIELDS[_0x139fd1(0x1c0)](_0x3e39c8=>_0x582b8c[_0x3e39c8])))][_0x139fd1(0x1d4)]('\x0a');}export function formatRecords(_0x13a8b8,_0x3da4d6){const _0x1818f0=_0x535ac1,_0x1eb530={'roAjA':_0x1818f0(0x1a3),'NMrfz':function(_0x278e53,_0x4aa806){return _0x278e53(_0x4aa806);},'IotmM':function(_0x49d4a8,_0x4f66ed){return _0x49d4a8(_0x4f66ed);},'SFjiT':_0x1818f0(0x1a7)};switch(_0x3da4d6){case _0x1eb530[_0x1818f0(0x1fa)]:return _0x1eb530['NMrfz'](formatTsv,_0x13a8b8);case _0x1818f0(0x1bd):return _0x1eb530[_0x1818f0(0x1d3)](formatJson,_0x13a8b8);case _0x1eb530['SFjiT']:return formatText(_0x13a8b8);default:throw new Error(_0x1818f0(0x1b9)+_0x3da4d6);}}
|
|
1
|
+
const _0x354d40=_0x2abf;(function(_0x731bb2,_0x11093c){const _0xb2246e=_0x2abf,_0x278e77=_0x731bb2();while(!![]){try{const _0x2a5040=-parseInt(_0xb2246e(0x154))/0x1+-parseInt(_0xb2246e(0x1a1))/0x2*(parseInt(_0xb2246e(0x14b))/0x3)+parseInt(_0xb2246e(0x1b8))/0x4*(-parseInt(_0xb2246e(0x15c))/0x5)+-parseInt(_0xb2246e(0x195))/0x6+-parseInt(_0xb2246e(0x17c))/0x7*(parseInt(_0xb2246e(0x18f))/0x8)+-parseInt(_0xb2246e(0x1c8))/0x9*(parseInt(_0xb2246e(0x19e))/0xa)+parseInt(_0xb2246e(0x14e))/0xb;if(_0x2a5040===_0x11093c)break;else _0x278e77['push'](_0x278e77['shift']());}catch(_0x2c0a2a){_0x278e77['push'](_0x278e77['shift']());}}}(_0x563b,0xa32b2));import{COMMANDS,TGTRLS_COMMANDS}from'./config.js';const RECORD_SENTINEL=_0x354d40(0x196),RECORD_LINE_PREFIX=':\x20'+RECORD_SENTINEL+'\x09';export const RECORD_FIELDS=[_0x354d40(0x19c),_0x354d40(0x159),_0x354d40(0x158),_0x354d40(0x161),_0x354d40(0x1a6),_0x354d40(0x172),_0x354d40(0x1a9)];export const LIST_FORMATS=[_0x354d40(0x1b5),_0x354d40(0x18e),_0x354d40(0x192)];const _0x534633={};_0x534633[_0x354d40(0x1b0)]=_0x354d40(0x1a8),_0x534633['.module']='*module',_0x534633['.srvpgm']=_0x354d40(0x15d),_0x534633[_0x354d40(0x19d)]=_0x354d40(0x1ad),_0x534633[_0x354d40(0x19a)]=_0x354d40(0x1c0),_0x534633[_0x354d40(0x191)]=_0x354d40(0x16d),_0x534633[_0x354d40(0x163)]=_0x354d40(0x14a);function _0x2abf(_0x13e789,_0x3762d8){_0x13e789=_0x13e789-0x14a;const _0x563b7a=_0x563b();let _0x2abf74=_0x563b7a[_0x13e789];if(_0x2abf['CDpWcA']===undefined){var _0x17088c=function(_0x2c6cd2){const _0x3e5ab8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x38ad00='',_0x283907='';for(let _0x45c0ed=0x0,_0x14117a,_0x5e409d,_0x2996aa=0x0;_0x5e409d=_0x2c6cd2['charAt'](_0x2996aa++);~_0x5e409d&&(_0x14117a=_0x45c0ed%0x4?_0x14117a*0x40+_0x5e409d:_0x5e409d,_0x45c0ed++%0x4)?_0x38ad00+=String['fromCharCode'](0xff&_0x14117a>>(-0x2*_0x45c0ed&0x6)):0x0){_0x5e409d=_0x3e5ab8['indexOf'](_0x5e409d);}for(let _0x374963=0x0,_0x4c7bf6=_0x38ad00['length'];_0x374963<_0x4c7bf6;_0x374963++){_0x283907+='%'+('00'+_0x38ad00['charCodeAt'](_0x374963)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x283907);};_0x2abf['exFSxx']=_0x17088c,_0x2abf['Xtswuc']={},_0x2abf['CDpWcA']=!![];}const _0x5af41a=_0x563b7a[0x0],_0x168558=_0x13e789+_0x5af41a,_0x59eaa3=_0x2abf['Xtswuc'][_0x168558];return!_0x59eaa3?(_0x2abf74=_0x2abf['exFSxx'](_0x2abf74),_0x2abf['Xtswuc'][_0x168558]=_0x2abf74):_0x2abf74=_0x59eaa3,_0x2abf74;}const OBJECT_TYPES=_0x534633,_0x6374cd={};_0x6374cd['target']=_0x354d40(0x199),_0x6374cd['library']=_0x354d40(0x1a5),_0x6374cd[_0x354d40(0x158)]=_0x354d40(0x193),_0x6374cd['type']='TYPE',_0x6374cd[_0x354d40(0x1a6)]='SOURCE',_0x6374cd[_0x354d40(0x172)]=_0x354d40(0x1b3),_0x6374cd['reason']=_0x354d40(0x18a);const TEXT_HEADINGS=_0x6374cd,_0x2c5167={};_0x2c5167[_0x354d40(0x165)]='crtsqlrpgi',_0x2c5167[_0x354d40(0x1ab)]=_0x354d40(0x171),_0x2c5167[_0x354d40(0x1b6)]=_0x354d40(0x1c1),_0x2c5167[_0x354d40(0x1ba)]=_0x354d40(0x151),_0x2c5167[_0x354d40(0x1b9)]=_0x354d40(0x15b),_0x2c5167[_0x354d40(0x169)]=_0x354d40(0x1a3),_0x2c5167['BUILD_SQLCBL_PGM']='crtsqlcbl',_0x2c5167['BUILD_CLLE_PGM']=_0x354d40(0x16b),_0x2c5167[_0x354d40(0x175)]=_0x354d40(0x18b),_0x2c5167[_0x354d40(0x1bb)]=_0x354d40(0x180),_0x2c5167[_0x354d40(0x1a4)]=_0x354d40(0x166),_0x2c5167[_0x354d40(0x152)]=_0x354d40(0x167),_0x2c5167[_0x354d40(0x164)]=_0x354d40(0x15a),_0x2c5167[_0x354d40(0x178)]=_0x354d40(0x15a),_0x2c5167[_0x354d40(0x18d)]=_0x354d40(0x1bc),_0x2c5167[_0x354d40(0x17a)]='crtsqlrpgi',_0x2c5167[_0x354d40(0x1c5)]=_0x354d40(0x1b1),_0x2c5167[_0x354d40(0x184)]=_0x354d40(0x1c4),_0x2c5167[_0x354d40(0x185)]=_0x354d40(0x151),_0x2c5167[_0x354d40(0x162)]=_0x354d40(0x1c7),_0x2c5167[_0x354d40(0x187)]=_0x354d40(0x186),_0x2c5167[_0x354d40(0x17d)]='crtsrvpgm',_0x2c5167[_0x354d40(0x16a)]='runsqlstm',_0x2c5167[_0x354d40(0x16e)]='runsqlstm',_0x2c5167[_0x354d40(0x1af)]=_0x354d40(0x16c),_0x2c5167[_0x354d40(0x1be)]='crtdspf',_0x2c5167[_0x354d40(0x1ca)]=_0x354d40(0x1ac),_0x2c5167[_0x354d40(0x1b4)]=_0x354d40(0x1c3),_0x2c5167[_0x354d40(0x1ae)]=_0x354d40(0x1aa),_0x2c5167[_0x354d40(0x17f)]=_0x354d40(0x16f),_0x2c5167['BUILD_PF38_TO_FILE']='qsys38/crtpf',_0x2c5167['BUILD_LF38_TO_FILE']=_0x354d40(0x183),_0x2c5167[_0x354d40(0x176)]='qsys38/crtprtf',_0x2c5167[_0x354d40(0x177)]=_0x354d40(0x15a),_0x2c5167[_0x354d40(0x160)]=_0x354d40(0x15a),_0x2c5167[_0x354d40(0x1c9)]=_0x354d40(0x15a),_0x2c5167[_0x354d40(0x19f)]='',_0x2c5167[_0x354d40(0x1a2)]='',_0x2c5167['BUILD_MENU']=_0x354d40(0x1cb);const RECIPE_COMMANDS=_0x2c5167;export function objectTypeForExtension(_0x20e7c4){return OBJECT_TYPES[_0x20e7c4]||null;}export function recipeAcceptsTargetRelease(_0x4392f7){const _0x162dbd=_0x354d40,_0x9c9c50=RECIPE_COMMANDS[_0x4392f7];return!!_0x9c9c50&&TGTRLS_COMMANDS[_0x162dbd(0x15f)](_0x9c9c50);}export function commandForRecipe(_0x3c513f){return RECIPE_COMMANDS[_0x3c513f];}export const KNOWN_COMMANDS=COMMANDS;export function renderRecordRecipe({target:_0x2ec724,library:_0x350048,object:_0x3f9bbc,type:_0xc2e8ad,source:_0x308e7f,withTargetRelease:_0x5675fd}){const _0x566301=_0x354d40,_0x250373={};_0x250373[_0x566301(0x14d)]=function(_0x4f30b0,_0x1b9834){return _0x4f30b0+_0x1b9834;};const _0x33fc49=_0x250373,_0x47a907={};_0x47a907[_0x566301(0x19c)]=_0x2ec724,_0x47a907[_0x566301(0x159)]=_0x350048,_0x47a907['object']=_0x3f9bbc,_0x47a907[_0x566301(0x161)]=_0xc2e8ad,_0x47a907['source']=_0x308e7f||'',_0x47a907[_0x566301(0x172)]=_0x5675fd?_0x566301(0x17b):'',_0x47a907['reason']=_0x566301(0x1c2);const _0x96c178=_0x47a907;for(const [_0x1c7fa2,_0x224abb]of Object['entries'](_0x96c178)){if(/[\t\n]/[_0x566301(0x190)](_0x224abb))throw new Error(_0x33fc49[_0x566301(0x14d)]('Cannot\x20list\x20target\x20\x27'+_0x2ec724+_0x566301(0x188)+_0x1c7fa2+_0x566301(0x179),_0x566301(0x181)));}const _0x9de05a=RECORD_FIELDS[_0x566301(0x14c)](_0x3953e3=>_0x96c178[_0x3953e3]);return'\x09@:\x20'+RECORD_SENTINEL+'\x09'+_0x9de05a[_0x566301(0x15e)]('\x09');}export function isRecordLine(_0x403764){const _0x2e2842=_0x354d40;return _0x403764[_0x2e2842(0x1b2)](RECORD_LINE_PREFIX);}export function parseRecords(_0x3c8fb1){const _0x11f18c=_0x354d40,_0x3ac543={'FROmh':function(_0x4af874,_0x4957f5){return _0x4af874(_0x4957f5);},'eLqIE':function(_0x2425a2,_0x5a0d37){return _0x2425a2!==_0x5a0d37;}},_0xd8aba7=[];for(const _0x12cbb8 of _0x3c8fb1[_0x11f18c(0x182)]('\x0a')){const _0x55a442=_0x12cbb8[_0x11f18c(0x18c)](/\r$/,'');if(!_0x3ac543[_0x11f18c(0x194)](isRecordLine,_0x55a442))continue;const _0x5b9240=_0x55a442[_0x11f18c(0x14f)](RECORD_LINE_PREFIX[_0x11f18c(0x189)])[_0x11f18c(0x182)]('\x09');if(_0x3ac543['eLqIE'](_0x5b9240[_0x11f18c(0x189)],RECORD_FIELDS[_0x11f18c(0x189)]))throw new Error(_0x11f18c(0x153)+RECORD_FIELDS[_0x11f18c(0x189)]+'\x20fields,\x20got\x20'+_0x5b9240[_0x11f18c(0x189)]+_0x11f18c(0x1a0)+_0x55a442);const _0xb1cc41={};RECORD_FIELDS[_0x11f18c(0x19b)]((_0x436a02,_0x1c693f)=>{_0xb1cc41[_0x436a02]=_0x5b9240[_0x1c693f];}),_0xd8aba7[_0x11f18c(0x173)](_0xb1cc41);}return _0xd8aba7;}function formatTsv(_0x223e6b){const _0x5e19e9=_0x354d40;return _0x223e6b[_0x5e19e9(0x14c)](_0x96b0ec=>RECORD_FIELDS['map'](_0x571562=>_0x96b0ec[_0x571562])[_0x5e19e9(0x15e)]('\x09'))[_0x5e19e9(0x15e)]('\x0a');}function formatJson(_0x25f37f){const _0x169c11=_0x354d40,_0x195cfe={};_0x195cfe['nYVdf']=function(_0x477a8e,_0x459d71){return _0x477a8e===_0x459d71;};const _0x5eb23e=_0x195cfe,_0x56dfcb=_0x25f37f[_0x169c11(0x14c)](_0x71f9cb=>{const _0x38cf8b=_0x169c11,_0x155b57={};for(const _0x4a04e7 of RECORD_FIELDS){_0x155b57[_0x4a04e7]=_0x5eb23e[_0x38cf8b(0x198)](_0x71f9cb[_0x4a04e7],'')?null:_0x71f9cb[_0x4a04e7];}return _0x155b57;}),_0x877c66={};return _0x877c66[_0x169c11(0x155)]=0x1,_0x877c66['count']=_0x56dfcb[_0x169c11(0x189)],_0x877c66[_0x169c11(0x1c6)]=_0x56dfcb,JSON[_0x169c11(0x156)](_0x877c66,null,0x2);}function formatText(_0x2e563e){const _0x3f44e6=_0x354d40,_0x53b89d={'QSIBg':function(_0x329e5c,_0x135caa){return _0x329e5c===_0x135caa;},'SLlXQ':'No\x20targets\x20affected\x20(everything\x20is\x20up\x20to\x20date).','mTXEH':function(_0x46dbf3,_0x48beb5){return _0x46dbf3===_0x48beb5;},'JjqRq':_0x3f44e6(0x1c6),'OVKNn':function(_0x253c1f,_0xf3b6aa){return _0x253c1f(_0xf3b6aa);}};if(_0x53b89d[_0x3f44e6(0x1b7)](_0x2e563e[_0x3f44e6(0x189)],0x0))return _0x53b89d[_0x3f44e6(0x1cc)];const _0x5c0c0d=RECORD_FIELDS[_0x3f44e6(0x14c)](_0x772139=>Math[_0x3f44e6(0x174)](TEXT_HEADINGS[_0x772139][_0x3f44e6(0x189)],..._0x2e563e[_0x3f44e6(0x14c)](_0x11936f=>_0x11936f[_0x772139][_0x3f44e6(0x189)]))),_0x55cdd9=_0x5dec14=>_0x5dec14[_0x3f44e6(0x14c)]((_0x321c16,_0x458bdf)=>_0x458bdf===_0x5dec14[_0x3f44e6(0x189)]-0x1?_0x321c16:_0x321c16[_0x3f44e6(0x17e)](_0x5c0c0d[_0x458bdf]))['join']('\x20\x20')['trimEnd'](),_0x19eca7=_0x53b89d[_0x3f44e6(0x1a7)](_0x2e563e[_0x3f44e6(0x189)],0x1)?'target':_0x53b89d[_0x3f44e6(0x197)];return[_0x2e563e[_0x3f44e6(0x189)]+'\x20'+_0x19eca7+_0x3f44e6(0x168),'',_0x53b89d[_0x3f44e6(0x170)](_0x55cdd9,RECORD_FIELDS['map'](_0xe55a61=>TEXT_HEADINGS[_0xe55a61])),..._0x2e563e[_0x3f44e6(0x14c)](_0x3989e8=>_0x55cdd9(RECORD_FIELDS['map'](_0x176cfa=>_0x3989e8[_0x176cfa])))]['join']('\x0a');}export function formatRecords(_0x4b7fe8,_0x168c0a){const _0x4bd0dd=_0x354d40,_0x3d1474={'mNvcH':function(_0x5f44a8,_0x549e74){return _0x5f44a8(_0x549e74);},'HPBov':_0x4bd0dd(0x18e),'iIzCn':function(_0x56226f,_0x1f084c){return _0x56226f(_0x1f084c);}};switch(_0x168c0a){case _0x4bd0dd(0x192):return _0x3d1474[_0x4bd0dd(0x157)](formatTsv,_0x4b7fe8);case _0x3d1474[_0x4bd0dd(0x1bf)]:return formatJson(_0x4b7fe8);case'text':return _0x3d1474[_0x4bd0dd(0x1bd)](formatText,_0x4b7fe8);default:throw new Error(_0x4bd0dd(0x150)+_0x168c0a);}}function _0x563b(){const _0x5824f0=['kM1LBNu','y3j0yM5Ky2jS','jcHdt0rfuK1bs0vFteLtvf9sruftt04P','y3j0Bgy','y3j0y2jSBw9K','qLvjterFuLbhtevFtu9evuXf','DgfYz2v0CW','y3j0y2XTB2q','ounzD0TezG','qLvjterFu1fmvKLfv19ut19gsuXf','qLvjterFuezFve9FrKLmrq','y3j0Bw51','u0XSwfe','kMjUzgrPCG','mtaZmtCWrLDPt3DI','BwfW','zLfJzue','ndeXmJuWnJjJwK9KyMS','C3vIC3rYAw5N','vw5RBM93BIb0yxjNzxqGBgLZDgLUzYbMB3jTyxq6ia','y3j0C3fSy2jSAq','qLvjterFuLbhmZHFueDn','twfSzM9YBwvKihrHCMDLDcbSAxn0Aw5NihjLy29YzcaOzxHWzwn0zwqG','oda3otC5EKrbBK5M','DMvYC2LVBG','C3rYAw5NAwz5','Bu52y0G','B2jQzwn0','BgLICMfYEq','CNvUC3fSC3rT','y3j0y2jSCgDT','mte1t2fsq2ny','kNnYDNbNBq','AM9PBG','AgfZ','qLvjterFu1fmsu5ervHFve9FrKLmrq','DhLWzq','qLvjterFq0Xmrv9nt0rvteu','lMjUzgrPCG','qLvjterFu1fmufjpq19ut19qr00','qLvjterFu1fmuLbhtevFueDn','y3j0CNbNCgDT','Cxn5CZm4l2nYDhjWz3bNBq','igfMzMvJDgvKicHKzxbLBMrLBMn5ig9YzgvYkq','qLvjterFq0jmmZHFueDn','qLvjterFu1fmufjpq19ut19tuLzqr00','y3j0yM5Ky2W','y3j0zhnWzG','kM1Zz2y','qLvjterFu1fmvurgx1rpx1nsvLbhtq','Cxn5CZm4l2nYDgrZCgy','t1zltM4','y3j0yM5KCNbN','DgfYz2v0uMvSzwfZzq','ChvZAa','Bwf4','qLvjterFq0Xqx1bhtq','qLvjterFufjurJm4x1rpx0zjteu','qLvjterFu1fmvefctevFve9FrKLmrq','qLvjterFu1fmvfjjr0DfuL9ut19qr00','ignVBNrHAw5ZigeGDgfIig9Yig5LD2XPBMuSia','qLvjterFu1fmuLbhtevFtu9evuXf','jcHdt0rfuK1bs0vFveDuuKXtkq','mJmXtLbYsNLR','qLvjterFtu9evuXfx1rpx1nsvLbhtv9bteW','CgfKrw5K','qLvjterFrfnqrJm4x1rpx0zjteu','Cxn5CZm4l2nYDgnSCgDT','D2HPy2GGDgHLihjLy29YzcbMB3jTyxqGDxnLCYbHCYbZzxbHCMf0B3jZlG','C3bSAxq','Cxn5CZm4l2nYDgXM','qLvjterFq0jmtevFtu9evuXf','qLvjterFu1fmq0jmtevFtu9evuXf','y3j0C3j2CgDT','qLvjterFtu9evuXfx1rpx1nsvLbhtq','jZOGAxrZia','BgvUz3rO','uKvbu09o','y3j0y2XWz20','CMvWBgfJzq','qLvjterFtu9evuXfx1rpx1bhtq','ANnVBG','ndmWotzVBMj6yMm','DgvZDa','lM1Zz2y','Dhn2','t0jkrunu','rLjpBwG','odqWmtyYv3PszKvW','q09ervjnquTfx1rbuKDfva','sMPXuNe','BLLwzgy','vefsr0vu','lM1LBNu','zM9YrwfJAa','DgfYz2v0','lMzPBgu','nZq0ndiZmezMuLjhra','qLvjterFtvnhrG','ktOG','ntbvANbHzKK','qLvjterFqK5ereLs','Cxn5CZm4l2nYDgnIBhbNBq','qLvjterFuLbhx1bhtq','teLcuKfswq','C291CMnL','BvryruG','kNbNBq','CMvHC29U','y3j0Chj0zG','qLvjterFuLbhtevFueDn','y3j0Cgy','kMzPBgu','qLvjterFufjurL9ut19gsuXf','qLvjterFuKrgx1rpx0zjteu','lNbNBq','y3j0CNbNBw9K','C3rHCNrZv2L0Aa','veDuuKXt','qLvjterFtezFve9FrKLmrq','Dgv4Da','qLvjterFq0jmtevFueDn','uvnjqMC','ntKXotjTthzJD2i','qLvjterFq0jmx1bhtq','qLvjterFu1fmq0jmtevFueDn','qLvjterFq0XqmZHFueDn','y3j0CgDT','AuL6q24','qLvjterFrfnqrL9ut19gsuXf','sfbcB3y'];_0x563b=function(){return _0x5824f0;};return _0x563b();}
|
package/dist/lib/writer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2b15a0,_0x2ae34d){const _0x2d5d0d=_0x2c7f,_0x58a95d=_0x2b15a0();while(!![]){try{const _0x22ae1d=parseInt(_0x2d5d0d(0x101))/0x1+-parseInt(_0x2d5d0d(0x100))/0x2*(-parseInt(_0x2d5d0d(0xf3))/0x3)+parseInt(_0x2d5d0d(0xf6))/0x4*(parseInt(_0x2d5d0d(0x10c))/0x5)+parseInt(_0x2d5d0d(0x108))/0x6*(-parseInt(_0x2d5d0d(0xf7))/0x7)+parseInt(_0x2d5d0d(0x10f))/0x8*(parseInt(_0x2d5d0d(0xfc))/0x9)+parseInt(_0x2d5d0d(0x102))/0xa*(parseInt(_0x2d5d0d(0x110))/0xb)+-parseInt(_0x2d5d0d(0x116))/0xc;if(_0x22ae1d===_0x2ae34d)break;else _0x58a95d['push'](_0x58a95d['shift']());}catch(_0x13f8f9){_0x58a95d['push'](_0x58a95d['shift']());}}}(_0x4c0c,0xa7c11));import{writeFileSync,mkdirSync,existsSync}from'fs';import{join}from'path';import{randomUUID}from'crypto';import{tmpdir}from'os';function _0x2c7f(_0x3525fd,_0x1aafac){_0x3525fd=_0x3525fd-0xf3;const _0x4c0cd4=_0x4c0c();let _0x2c7f07=_0x4c0cd4[_0x3525fd];if(_0x2c7f['aXBXRW']===undefined){var _0x123905=function(_0x3b9490){const _0x2c7087='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x44e629='',_0x4718d9='';for(let _0x392b46=0x0,_0x3a3daa,_0x3f4843,_0x187d56=0x0;_0x3f4843=_0x3b9490['charAt'](_0x187d56++);~_0x3f4843&&(_0x3a3daa=_0x392b46%0x4?_0x3a3daa*0x40+_0x3f4843:_0x3f4843,_0x392b46++%0x4)?_0x44e629+=String['fromCharCode'](0xff&_0x3a3daa>>(-0x2*_0x392b46&0x6)):0x0){_0x3f4843=_0x2c7087['indexOf'](_0x3f4843);}for(let _0x381d68=0x0,_0x35c019=_0x44e629['length'];_0x381d68<_0x35c019;_0x381d68++){_0x4718d9+='%'+('00'+_0x44e629['charCodeAt'](_0x381d68)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4718d9);};_0x2c7f['aIkAEs']=_0x123905,_0x2c7f['TtVwny']={},_0x2c7f['aXBXRW']=!![];}const _0x31d256=_0x4c0cd4[0x0],_0x1a2629=_0x3525fd+_0x31d256,_0x46fece=_0x2c7f['TtVwny'][_0x1a2629];return!_0x46fece?(_0x2c7f07=_0x2c7f['aIkAEs'](_0x2c7f07),_0x2c7f['TtVwny'][_0x1a2629]=_0x2c7f07):_0x2c7f07=_0x46fece,_0x2c7f07;}function ensureDir(_0x244381){const _0x52929f=_0x2c7f,_0x2bec73={'Ytzfn':function(_0x1e37c9,_0x2187e4,_0x2fe488){return _0x1e37c9(_0x2187e4,_0x2fe488);}};if(!existsSync(_0x244381)){const _0x40f2f2={};_0x40f2f2[_0x52929f(0xfe)]=!![],_0x2bec73[_0x52929f(0x10a)](mkdirSync,_0x244381,_0x40f2f2);}}export function writeRules(_0x3147ec,_0xebf656,_0x408def={},_0x216444=null){const _0x3f666f=_0x2c7f,_0x40756d={'iHneN':function(_0x41de14){return _0x41de14();},'qAors':function(_0x39c9fe){return _0x39c9fe();},'LxSdV':function(_0x7cfc9e,_0x5cecde){return _0x7cfc9e(_0x5cecde);},'BktQc':'rules.mk','tLyIT':_0x3f666f(0xfa),'ofONW':_0x3f666f(0x117),'EcKfQ':_0x3f666f(0x109),'bDxtM':function(_0x1e4cff,_0x3d708c,_0x291564,_0x5eac24){return _0x1e4cff(_0x3d708c,_0x291564,_0x5eac24);}};if(!_0x216444){const _0x73e7f6=_0x40756d[_0x3f666f(0x10b)](randomUUID)[_0x3f666f(0x115)](/-/g,'');_0x216444=join(_0x40756d[_0x3f666f(0xf5)](tmpdir),_0x3f666f(0xff)+_0x73e7f6);}_0x40756d[_0x3f666f(0x10d)](ensureDir,_0x216444);const _0x4c2c1a=join(_0x216444,_0x40756d[_0x3f666f(0x107)]),_0x566b1b=join(_0x216444,_0x40756d[_0x3f666f(0xfd)]),_0x3f3a42=join(_0x216444,_0x40756d[_0x3f666f(0x114)]),_0xc08842=_0x3147ec[_0x3f666f(0xfb)]('\x0a')+'\x0a';writeFileSync(_0x4c2c1a,_0xc08842,_0x40756d[_0x3f666f(0x113)]);const _0x17be99=_0x3f666f(0x112)+_0xebf656[_0x3f666f(0xfb)]('\x20')+'\x0a';writeFileSync(_0x566b1b,_0x17be99,_0x40756d[_0x3f666f(0x113)]);const _0x207986=JSON[_0x3f666f(0x111)](_0x408def,null,0x2);_0x40756d['bDxtM'](writeFileSync,_0x3f3a42,_0x207986,_0x3f666f(0x109));const _0x1af84c={};return _0x1af84c[_0x3f666f(0xf9)]=_0x4c2c1a,_0x1af84c['targetsFile']=_0x566b1b,_0x1af84c[_0x3f666f(0x105)]=_0x3f3a42,_0x1af84c['tmpDir']=_0x216444,_0x1af84c;}export function writeConfigMk(_0x259314,_0xde8c31){const _0x4f82b6=_0x2c7f,_0x211eaf={};_0x211eaf[_0x4f82b6(0x106)]=function(_0x42c000,_0x1569b9){return _0x42c000===_0x1569b9;},_0x211eaf[_0x4f82b6(0x10e)]=_0x4f82b6(0xf8),_0x211eaf[_0x4f82b6(0x103)]=function(_0x1e674c,_0xee3d3c){return _0x1e674c+_0xee3d3c;},_0x211eaf['Zvwjz']='utf8';const _0x1266d4=_0x211eaf;if(!_0xde8c31||_0x1266d4[_0x4f82b6(0x106)](_0xde8c31[_0x4f82b6(0xf4)],0x0))return null;ensureDir(_0x259314);const _0x537836=join(_0x259314,'config.mk'),_0x5e15cc=[_0x1266d4[_0x4f82b6(0x10e)]];for(const [_0x5bbd58,_0x16786d]of _0xde8c31){_0x5e15cc['push'](_0x5bbd58+_0x4f82b6(0x104)+_0x16786d);}return writeFileSync(_0x537836,_0x1266d4['MwvtN'](_0x5e15cc[_0x4f82b6(0xfb)]('\x0a'),'\x0a'),_0x1266d4['Zvwjz']),_0x537836;}function _0x4c0c(){const _0x250ee7=['DgfYz2v0lw1HChbPBMCUANnVBG','m0DJEuvmsW','C2L6zq','CufVCNm','oeHHwKvquq','n0LRDgLVCa','q09ervjnquTfx0vnufrzidO9','CNvSzxngAwXL','DgfYz2v0CY5TAW','AM9PBG','ndm1otm1n3bJs0LsuG','DeX5svq','CMvJDxjZAxzL','y20T','mteXnZqWB2zmre9Q','mta4ntiWn0rvAvvAsa','mJaWoteYmerMCe5xvq','txD2De4','idO9ia','BwfWCgLUz0zPBgu','t1nJqvG','qMT0uwm','nde2mJi2uNbqBK5o','DxrMoa','wxr6zM4','AuHUzu4','mJe4ntyWCu1uwu9q','thHtzfy','q2rttvy','oefQzgjJqG','mtfRD1bXvxa','C3rYAw5NAwz5','vefsr0vuuYa6psa','rwnlzLe','B2zptLC','CMvWBgfJzq','mtm4odC1mJHUzKj2Awi'];_0x4c0c=function(){return _0x250ee7;};return _0x4c0c();}
|
package/dist/makefiles/base.mk
CHANGED
|
@@ -111,6 +111,38 @@ define RPG_CLEANUP_SOURCES
|
|
|
111
111
|
if [ "$$RPG_SRC_ROOT" != "." ]; then rm -rf "$$RPG_SRC_ROOT"; fi
|
|
112
112
|
endef
|
|
113
113
|
|
|
114
|
+
######
|
|
115
|
+
# COBOL source staging for the source types that compile from stream files
|
|
116
|
+
# (.cblle, .sqlcblle). Rewrites source member style COPY statements to IFS
|
|
117
|
+
# paths and writes copy files with CRLF line endings, which the ILE COBOL
|
|
118
|
+
# compiler needs whenever the primary source reaches it as a source member —
|
|
119
|
+
# the shape CRTSQLCBLI produces after precompiling a stream file. See
|
|
120
|
+
# design/COBOL_COPY_PREPROCESSING.md.
|
|
121
|
+
#
|
|
122
|
+
# $(1) = the recipe's COBOL sources, PRIMARY SOURCE FIRST (use $(CBL_SOURCES))
|
|
123
|
+
# Sets shell variable CBL_SRC_ROOT to the effective source root:
|
|
124
|
+
# '.' if nothing had to be staged, or a generated temp dir path otherwise
|
|
125
|
+
######
|
|
126
|
+
define COBOL_PREPROCESS_SOURCES
|
|
127
|
+
CBL_SRC_ROOT=$$('$(CODERMAKE_NODE)' '$(CODERMAKE_PACKAGE_DIR)/bin/preprocess-cobol-copy.js' $(call shell_escape_dollars,$(1)) --temp-prefix tmp/cbl-pp)
|
|
128
|
+
endef
|
|
129
|
+
|
|
130
|
+
######
|
|
131
|
+
# Cleanup COBOL staging temp dir (only if staging created one)
|
|
132
|
+
######
|
|
133
|
+
define COBOL_CLEANUP_SOURCES
|
|
134
|
+
if [ "$$CBL_SRC_ROOT" != "." ]; then rm -rf "$$CBL_SRC_ROOT"; fi
|
|
135
|
+
endef
|
|
136
|
+
|
|
137
|
+
######
|
|
138
|
+
# The COBOL sources of the current rule: the primary source plus every COBOL
|
|
139
|
+
# copy/include prerequisite. $< is always the first entry of $^, so the primary
|
|
140
|
+
# source stays first, which is what the staging tool and the compile command
|
|
141
|
+
# both assume. Object prerequisites (display files, service programs) are
|
|
142
|
+
# excluded by matching on source extensions rather than filtering paths.
|
|
143
|
+
######
|
|
144
|
+
CBL_SOURCES = $(filter %.cblle %.sqlcblle %.cpy %.cbl %.cbl38 %.sqlcbl,$^)
|
|
145
|
+
|
|
114
146
|
######
|
|
115
147
|
# Binding parameter generation from prerequisites.
|
|
116
148
|
# Expands to CL parameters when matching prerequisites exist, empty otherwise.
|
|
@@ -169,6 +201,13 @@ endef
|
|
|
169
201
|
# prerequisite except the main program source ($<).
|
|
170
202
|
RPG3_COPY_MEMBERS = $(filter-out $<,$(filter %.rpg %.rpg38,$^))
|
|
171
203
|
|
|
204
|
+
# The COPY prerequisites of an OPM COBOL rule (.cbl / .cbl38 / .sqlcbl). Those
|
|
205
|
+
# compilers read a source member, so a COPY statement resolves through the
|
|
206
|
+
# library list at compile time and the copybook only has to exist as a member.
|
|
207
|
+
# Staging works exactly like the RPG III case: every COBOL prerequisite except
|
|
208
|
+
# the main program source, with the path encoding member, source file, and library.
|
|
209
|
+
CBL_COPY_MEMBERS = $(filter-out $<,$(filter %.cpy %.cbl %.cbl38 %.sqlcbl,$^))
|
|
210
|
+
|
|
172
211
|
# Source physical file name for a /COPY prerequisite = its immediate parent dir.
|
|
173
212
|
copy_src_file = $(notdir $(patsubst %/,%,$(dir $(1))))
|
|
174
213
|
|
package/dist/makefiles/ibmi.mk
CHANGED
|
@@ -162,18 +162,92 @@ system "crtsqlrpgi obj($(TARGET_LIB)/$(call ibmi_name_sh,$@)) objtype(*module) s
|
|
|
162
162
|
$(call RPG_CLEANUP_SOURCES)
|
|
163
163
|
endef
|
|
164
164
|
|
|
165
|
+
# Compile from the staged root: COBOL searches the current directory before
|
|
166
|
+
# INCDIR. Compiling from the project root would pick original LF copybooks
|
|
167
|
+
# instead of their staged CRLF copies. A subshell preserves the recipe cwd for
|
|
168
|
+
# cleanup and subsequent targets.
|
|
165
169
|
# Build ILE COBOL program (bound)
|
|
166
170
|
define BUILD_CBLLE_PGM
|
|
167
171
|
$(call SETUP_LOG,$(notdir $@))
|
|
172
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
168
173
|
$(SET_LIBL)
|
|
169
|
-
|
|
174
|
+
(
|
|
175
|
+
cd "$$CBL_SRC_ROOT"
|
|
176
|
+
system "crtbndcbl pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcstmf('$(call shell_escape_dollars,$<)') incdir('.') tgtccsid(*job) output(*print)$(CODERMAKE_OPTS_crtbndcbl)"
|
|
177
|
+
)
|
|
178
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
170
179
|
endef
|
|
171
180
|
|
|
172
181
|
# Build ILE COBOL module
|
|
173
182
|
define BUILD_CBLLE_MODULE
|
|
174
183
|
$(call SETUP_LOG,$(notdir $@))
|
|
184
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
185
|
+
$(SET_LIBL)
|
|
186
|
+
(
|
|
187
|
+
cd "$$CBL_SRC_ROOT"
|
|
188
|
+
system "crtcblmod module($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcstmf('$(call shell_escape_dollars,$<)') incdir('.') tgtccsid(*job) output(*print)$(CODERMAKE_OPTS_crtcblmod)"
|
|
189
|
+
)
|
|
190
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
191
|
+
endef
|
|
192
|
+
|
|
193
|
+
# Build ILE COBOL program with embedded SQL (CRTSQLCBLI OBJTYPE(*PGM)).
|
|
194
|
+
# The precompiler hands the COBOL compiler a source member, so COPY files are
|
|
195
|
+
# staged with CRLF line endings (see COBOL_PREPROCESS_SOURCES).
|
|
196
|
+
define BUILD_SQLCBLLE_PGM
|
|
197
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
198
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
199
|
+
$(SET_LIBL)
|
|
200
|
+
(
|
|
201
|
+
cd "$$CBL_SRC_ROOT"
|
|
202
|
+
system "crtsqlcbli obj($(TARGET_LIB)/$(call ibmi_name_sh,$@)) objtype(*pgm) srcstmf('$(call shell_escape_dollars,$<)') cvtccsid(*job) output(*print) compileopt('incdir(''.'') tgtccsid(*job) output(*print)$(CODERMAKE_COMPILEOPT_crtsqlcbli)')$(CODERMAKE_OPTS_crtsqlcbli)"
|
|
203
|
+
)
|
|
204
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
205
|
+
endef
|
|
206
|
+
|
|
207
|
+
# Build ILE COBOL module with embedded SQL (CRTSQLCBLI OBJTYPE(*MODULE))
|
|
208
|
+
define BUILD_SQLCBLLE_MODULE
|
|
209
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
210
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
211
|
+
$(SET_LIBL)
|
|
212
|
+
(
|
|
213
|
+
cd "$$CBL_SRC_ROOT"
|
|
214
|
+
system "crtsqlcbli obj($(TARGET_LIB)/$(call ibmi_name_sh,$@)) objtype(*module) srcstmf('$(call shell_escape_dollars,$<)') cvtccsid(*job) output(*print) compileopt('incdir(''.'') tgtccsid(*job) output(*print)$(CODERMAKE_COMPILEOPT_crtsqlcbli)')$(CODERMAKE_OPTS_crtsqlcbli)"
|
|
215
|
+
)
|
|
216
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
217
|
+
endef
|
|
218
|
+
|
|
219
|
+
# Build OPM COBOL program (CRTCBLPGM). OPM COBOL cannot compile from a stream
|
|
220
|
+
# file, so the program source is staged as a member in QCBLSRC, along with a
|
|
221
|
+
# source member for every COPY prerequisite.
|
|
222
|
+
define BUILD_CBL_PGM
|
|
223
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
224
|
+
$(call CREATE_SOURCE_MEMBER,$<,qcblsrc)
|
|
225
|
+
$(foreach c,$(CBL_COPY_MEMBERS),$(call CREATE_COPY_MEMBER,$(c),$(call copy_src_file,$(c)),$(call copy_src_lib,$(c)))$(NL))
|
|
226
|
+
$(SET_LIBL)
|
|
227
|
+
system "crtcblpgm pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcfile($(TARGET_LIB)/qcblsrc) srcmbr($(call ibmi_name_sh,$<)) option(*source$(CODERMAKE_OPTVALS_crtcblpgm)) replace(*yes)$(CODERMAKE_OPTS_crtcblpgm)"
|
|
228
|
+
endef
|
|
229
|
+
|
|
230
|
+
# Build System/38 compatible COBOL program (QSYS38/CRTCBLPGM).
|
|
231
|
+
# QSYS38/CRTCBLPGM has no REPLACE parameter and fails if the program exists, so
|
|
232
|
+
# delete any existing program object first. Also creates COPY source members.
|
|
233
|
+
define BUILD_CBL38_PGM
|
|
234
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
235
|
+
$(call CREATE_SOURCE_MEMBER,$<,qcblsrc)
|
|
236
|
+
$(foreach c,$(CBL_COPY_MEMBERS),$(call CREATE_COPY_MEMBER,$(c),$(call copy_src_file,$(c)),$(call copy_src_lib,$(c)))$(NL))
|
|
237
|
+
$(SET_LIBL)
|
|
238
|
+
if test -e '$(TARGET_LIB_PATH)/$(call ibmi_name,$@).pgm'; then system "dltpgm $(TARGET_LIB)/$(call ibmi_name_sh,$@)"; fi
|
|
239
|
+
system "qsys38/crtcblpgm pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcfile($(TARGET_LIB)/qcblsrc) srcmbr($(call ibmi_name_sh,$<)) option(*source$(CODERMAKE_OPTVALS_qsys38_crtcblpgm))$(CODERMAKE_OPTS_qsys38_crtcblpgm)"
|
|
240
|
+
endef
|
|
241
|
+
|
|
242
|
+
# Build OPM COBOL program with embedded SQL (CRTSQLCBL). Like CRTCBLPGM it has
|
|
243
|
+
# no SRCSTMF parameter, so the source is staged as a member — in QLBLSRC, the
|
|
244
|
+
# command's own default source file — along with every COPY prerequisite.
|
|
245
|
+
define BUILD_SQLCBL_PGM
|
|
246
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
247
|
+
$(call CREATE_SOURCE_MEMBER,$<,qlblsrc)
|
|
248
|
+
$(foreach c,$(CBL_COPY_MEMBERS),$(call CREATE_COPY_MEMBER,$(c),$(call copy_src_file,$(c)),$(call copy_src_lib,$(c)))$(NL))
|
|
175
249
|
$(SET_LIBL)
|
|
176
|
-
system "
|
|
250
|
+
system "crtsqlcbl pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcfile($(TARGET_LIB)/qlblsrc) srcmbr($(call ibmi_name_sh,$<)) option(*source$(CODERMAKE_OPTVALS_crtsqlcbl)) replace(*yes)$(CODERMAKE_OPTS_crtsqlcbl)"
|
|
177
251
|
endef
|
|
178
252
|
|
|
179
253
|
# Build ILE CL program (bound)
|
|
@@ -418,6 +492,7 @@ endef
|
|
|
418
492
|
.PHONY: platform-clean
|
|
419
493
|
platform-clean:
|
|
420
494
|
@rm -rf tmp/rpg-pp-*
|
|
495
|
+
rm -rf tmp/cbl-pp-*
|
|
421
496
|
if [ -n "$(call shell_escape_dollars,$(TARGETS))" ]; then
|
|
422
497
|
for pass in 1 2; do
|
|
423
498
|
for target in $(call shell_escape_dollars,$(TARGETS)); do
|
package/dist/makefiles/unix.mk
CHANGED
|
@@ -263,14 +263,83 @@ endef
|
|
|
263
263
|
# Build ILE COBOL program (bound)
|
|
264
264
|
define BUILD_CBLLE_PGM
|
|
265
265
|
$(call SETUP_LOG,$(notdir $@))
|
|
266
|
-
$(call
|
|
266
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
267
|
+
$(call REMOTE_BUILD_FROM,$$CBL_SRC_ROOT,$(CBL_SOURCES),system "crtbndcbl pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcstmf('$(call shell_escape_dollars,$<)') incdir('.') tgtccsid(*job) output(*print)$(CODERMAKE_OPTS_crtbndcbl)")
|
|
268
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
267
269
|
touch '$@'
|
|
268
270
|
endef
|
|
269
271
|
|
|
270
272
|
# Build ILE COBOL module
|
|
271
273
|
define BUILD_CBLLE_MODULE
|
|
272
274
|
$(call SETUP_LOG,$(notdir $@))
|
|
273
|
-
$(call
|
|
275
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
276
|
+
$(call REMOTE_BUILD_FROM,$$CBL_SRC_ROOT,$(CBL_SOURCES),system "crtcblmod module($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcstmf('$(call shell_escape_dollars,$<)') incdir('.') tgtccsid(*job) output(*print)$(CODERMAKE_OPTS_crtcblmod)")
|
|
277
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
278
|
+
touch '$@'
|
|
279
|
+
endef
|
|
280
|
+
|
|
281
|
+
# Build ILE COBOL program with embedded SQL (CRTSQLCBLI OBJTYPE(*PGM)).
|
|
282
|
+
# The precompiler hands the COBOL compiler a source member, so COPY files are
|
|
283
|
+
# staged with CRLF line endings (see COBOL_PREPROCESS_SOURCES).
|
|
284
|
+
define BUILD_SQLCBLLE_PGM
|
|
285
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
286
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
287
|
+
$(call REMOTE_BUILD_FROM,$$CBL_SRC_ROOT,$(CBL_SOURCES),system "crtsqlcbli obj($(TARGET_LIB)/$(call ibmi_name_sh,$@)) objtype(*pgm) srcstmf('$(call shell_escape_dollars,$<)') cvtccsid(*job) output(*print) compileopt('incdir(''.'') tgtccsid(*job) output(*print)$(CODERMAKE_COMPILEOPT_crtsqlcbli)')$(CODERMAKE_OPTS_crtsqlcbli)")
|
|
288
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
289
|
+
touch '$@'
|
|
290
|
+
endef
|
|
291
|
+
|
|
292
|
+
# Build ILE COBOL module with embedded SQL (CRTSQLCBLI OBJTYPE(*MODULE))
|
|
293
|
+
define BUILD_SQLCBLLE_MODULE
|
|
294
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
295
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
296
|
+
$(call REMOTE_BUILD_FROM,$$CBL_SRC_ROOT,$(CBL_SOURCES),system "crtsqlcbli obj($(TARGET_LIB)/$(call ibmi_name_sh,$@)) objtype(*module) srcstmf('$(call shell_escape_dollars,$<)') cvtccsid(*job) output(*print) compileopt('incdir(''.'') tgtccsid(*job) output(*print)$(CODERMAKE_COMPILEOPT_crtsqlcbli)')$(CODERMAKE_OPTS_crtsqlcbli)")
|
|
297
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
298
|
+
touch '$@'
|
|
299
|
+
endef
|
|
300
|
+
|
|
301
|
+
# Build OPM COBOL program (CRTCBLPGM). OPM COBOL cannot compile from a stream
|
|
302
|
+
# file, so the program source is staged as a member in QCBLSRC, along with a
|
|
303
|
+
# source member for every COPY prerequisite.
|
|
304
|
+
define BUILD_CBL_PGM
|
|
305
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
306
|
+
$(call CREATE_SOURCE_MEMBER,$<,qcblsrc)
|
|
307
|
+
$(foreach c,$(CBL_COPY_MEMBERS),$(call CREATE_COPY_MEMBER,$(c),$(call copy_src_file,$(c)),$(call copy_src_lib,$(c)))$(NL))
|
|
308
|
+
$(SSH) $(QSHELL) <<'EOF'
|
|
309
|
+
$(SET_LIBL)
|
|
310
|
+
system "crtcblpgm pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcfile($(TARGET_LIB)/qcblsrc) srcmbr($(call ibmi_name_sh,$<)) option(*source$(CODERMAKE_OPTVALS_crtcblpgm)) replace(*yes)$(CODERMAKE_OPTS_crtcblpgm)"
|
|
311
|
+
EOF
|
|
312
|
+
touch '$@'
|
|
313
|
+
endef
|
|
314
|
+
|
|
315
|
+
# Build System/38 compatible COBOL program (QSYS38/CRTCBLPGM).
|
|
316
|
+
# QSYS38/CRTCBLPGM has no REPLACE parameter and fails if the program exists, so
|
|
317
|
+
# delete any existing program object first. Also creates COPY source members.
|
|
318
|
+
define BUILD_CBL38_PGM
|
|
319
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
320
|
+
$(call CREATE_SOURCE_MEMBER,$<,qcblsrc)
|
|
321
|
+
$(foreach c,$(CBL_COPY_MEMBERS),$(call CREATE_COPY_MEMBER,$(c),$(call copy_src_file,$(c)),$(call copy_src_lib,$(c)))$(NL))
|
|
322
|
+
$(SSH) $(QSHELL) <<'EOF'
|
|
323
|
+
$(SET_LIBL)
|
|
324
|
+
if [ -e '$(TARGET_LIB_PATH)/$(call ibmi_name,$@).pgm' ]; then
|
|
325
|
+
system "dltpgm $(TARGET_LIB)/$(call ibmi_name_sh,$@)"
|
|
326
|
+
fi
|
|
327
|
+
system "qsys38/crtcblpgm pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcfile($(TARGET_LIB)/qcblsrc) srcmbr($(call ibmi_name_sh,$<)) option(*source$(CODERMAKE_OPTVALS_qsys38_crtcblpgm))$(CODERMAKE_OPTS_qsys38_crtcblpgm)"
|
|
328
|
+
EOF
|
|
329
|
+
touch '$@'
|
|
330
|
+
endef
|
|
331
|
+
|
|
332
|
+
# Build OPM COBOL program with embedded SQL (CRTSQLCBL). Like CRTCBLPGM it has
|
|
333
|
+
# no SRCSTMF parameter, so the source is staged as a member — in QLBLSRC, the
|
|
334
|
+
# command's own default source file — along with every COPY prerequisite.
|
|
335
|
+
define BUILD_SQLCBL_PGM
|
|
336
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
337
|
+
$(call CREATE_SOURCE_MEMBER,$<,qlblsrc)
|
|
338
|
+
$(foreach c,$(CBL_COPY_MEMBERS),$(call CREATE_COPY_MEMBER,$(c),$(call copy_src_file,$(c)),$(call copy_src_lib,$(c)))$(NL))
|
|
339
|
+
$(SSH) $(QSHELL) <<'EOF'
|
|
340
|
+
$(SET_LIBL)
|
|
341
|
+
system "crtsqlcbl pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcfile($(TARGET_LIB)/qlblsrc) srcmbr($(call ibmi_name_sh,$<)) option(*source$(CODERMAKE_OPTVALS_crtsqlcbl)) replace(*yes)$(CODERMAKE_OPTS_crtsqlcbl)"
|
|
342
|
+
EOF
|
|
274
343
|
touch '$@'
|
|
275
344
|
endef
|
|
276
345
|
|
|
@@ -578,6 +647,7 @@ platform-clean:
|
|
|
578
647
|
rm -rf tmp/logs
|
|
579
648
|
rm -rf tmp/codermake_*.tar
|
|
580
649
|
rm -rf tmp/rpg-pp-*
|
|
650
|
+
rm -rf tmp/cbl-pp-*
|
|
581
651
|
@if [ -n "$(call shell_escape_dollars,$(TARGETS))" ]; then
|
|
582
652
|
$(SSH) $(QSHELL) <<EOF
|
|
583
653
|
# Two passes over all targets so dependent objects (e.g. SQL views/indexes
|
package/package.json
CHANGED
|
@@ -206,6 +206,11 @@ ENDPGMEXP
|
|
|
206
206
|
| `.sqlrpgle` | `.module` | Module (*MODULE) | `CRTSQLRPGI OBJTYPE(*MODULE)` |
|
|
207
207
|
| `.cblle` | `.pgm` | Program (*PGM) | `CRTBNDCBL` |
|
|
208
208
|
| `.cblle` | `.module` | Module (*MODULE) | `CRTCBLMOD` |
|
|
209
|
+
| `.sqlcblle` | `.pgm` | Program (*PGM) | `CRTSQLCBLI OBJTYPE(*PGM)` |
|
|
210
|
+
| `.sqlcblle` | `.module` | Module (*MODULE) | `CRTSQLCBLI OBJTYPE(*MODULE)` |
|
|
211
|
+
| `.cbl` | `.pgm` | Program (*PGM) | `CRTCBLPGM ... REPLACE(*YES)` (OPM COBOL, QCBLSRC member) |
|
|
212
|
+
| `.cbl38` | `.pgm` | Program (*PGM) | `QSYS38/CRTCBLPGM` (System/38 COBOL, delete-then-create) |
|
|
213
|
+
| `.sqlcbl` | `.pgm` | Program (*PGM) | `CRTSQLCBL ... REPLACE(*YES)` (OPM COBOL + SQL, QLBLSRC member) |
|
|
209
214
|
| `.clle` | `.pgm` | Program (*PGM) | `CRTBNDCL` |
|
|
210
215
|
| `.clle` | `.module` | Module (*MODULE) | `CRTCLMOD` |
|
|
211
216
|
| `.clp` / `.cl` | `.pgm` | Program (*PGM) | `CRTCLPGM` |
|
|
@@ -34,6 +34,63 @@ mypgm.pgm: mypgm.cblle
|
|
|
34
34
|
|
|
35
35
|
**CL command:** `CRTBNDCBL PGM(LIB/MYPGM) SRCSTMF('src/mypgm.cblle')`
|
|
36
36
|
|
|
37
|
+
COBOL `COPY` statements are resolved at compile time — see
|
|
38
|
+
[COBOL copy sources](#cobol-copy-sources) below.
|
|
39
|
+
|
|
40
|
+
### SQL ILE COBOL program from .sqlcblle
|
|
41
|
+
|
|
42
|
+
Compiles an ILE COBOL source file with embedded SQL into a bound program. Two-phase compilation: SQL precompile, then COBOL compile (whose parameters are passed through `COMPILEOPT`).
|
|
43
|
+
|
|
44
|
+
```makefile
|
|
45
|
+
mypgm.pgm: mypgm.sqlcblle
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**CL command:** `CRTSQLCBLI OBJ(LIB/MYPGM) OBJTYPE(*PGM) SRCSTMF('src/mypgm.sqlcblle')`
|
|
49
|
+
|
|
50
|
+
The SQL precompiler does not expand `COPY` statements, so host variables must be declared in the program itself (or pulled in with `EXEC SQL INCLUDE`).
|
|
51
|
+
|
|
52
|
+
### OPM COBOL program from .cbl
|
|
53
|
+
|
|
54
|
+
OPM COBOL cannot compile from stream files, so the source is staged as a member in
|
|
55
|
+
`QCBLSRC` first, then compiled with `CRTCBLPGM`. `COPY` statements reference source
|
|
56
|
+
members; list each copybook as a prerequisite so codermake creates it as a source
|
|
57
|
+
member too (in the source file named by the prereq's parent directory, in the
|
|
58
|
+
program's library — or, in multi-library output mode, the library mapped from the
|
|
59
|
+
prereq's leading library-directory segment).
|
|
60
|
+
|
|
61
|
+
```makefile
|
|
62
|
+
mypgm.pgm: mypgm.cbl
|
|
63
|
+
mycpy.pgm: mycpy.cbl qcpysrc/cpybook.cpy # COPY CPYBOOK OF QCPYSRC staged as QCPYSRC/CPYBOOK
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**CL command:** `CRTCBLPGM PGM(LIB/MYPGM) SRCFILE(LIB/QCBLSRC) SRCMBR(MYPGM) OPTION(*SOURCE) REPLACE(*YES)`
|
|
67
|
+
|
|
68
|
+
### System/38 COBOL program from .cbl38
|
|
69
|
+
|
|
70
|
+
Like `.cbl`, but compiled with `QSYS38/CRTCBLPGM` and the staged member is tagged
|
|
71
|
+
`CBL38`. `QSYS38/CRTCBLPGM` has no `REPLACE` parameter, so the recipe deletes any
|
|
72
|
+
existing program object first. `COPY` members are handled the same way as `.cbl`.
|
|
73
|
+
The System/38 compiler is ANSI 74 COBOL, so its reserved word list differs from
|
|
74
|
+
ILE COBOL's.
|
|
75
|
+
|
|
76
|
+
```makefile
|
|
77
|
+
mypgm.pgm: mypgm.cbl38
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**CL command:** `QSYS38/CRTCBLPGM PGM(LIB/MYPGM) SRCFILE(LIB/QCBLSRC) SRCMBR(MYPGM) OPTION(*SOURCE)`
|
|
81
|
+
|
|
82
|
+
### OPM COBOL program with embedded SQL from .sqlcbl
|
|
83
|
+
|
|
84
|
+
`CRTSQLCBL` has no `SRCSTMF` parameter either, so the source is staged as a member
|
|
85
|
+
in `QLBLSRC` (the command's own default source file), with `COPY` prerequisites
|
|
86
|
+
staged as members.
|
|
87
|
+
|
|
88
|
+
```makefile
|
|
89
|
+
mypgm.pgm: mypgm.sqlcbl
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**CL command:** `CRTSQLCBL PGM(LIB/MYPGM) SRCFILE(LIB/QLBLSRC) SRCMBR(MYPGM) OPTION(*SOURCE) REPLACE(*YES)`
|
|
93
|
+
|
|
37
94
|
### ILE CL program from .clle
|
|
38
95
|
|
|
39
96
|
Compiles an ILE CL source file into a bound program.
|
|
@@ -161,6 +218,14 @@ mymod.module: mymod.cblle
|
|
|
161
218
|
|
|
162
219
|
**CL command:** `CRTCBLMOD MODULE(LIB/MYMOD) SRCSTMF('src/mymod.cblle')`
|
|
163
220
|
|
|
221
|
+
### SQL ILE COBOL module from .sqlcblle
|
|
222
|
+
|
|
223
|
+
```makefile
|
|
224
|
+
mymod.module: mymod.sqlcblle
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**CL command:** `CRTSQLCBLI OBJ(LIB/MYMOD) OBJTYPE(*MODULE) SRCSTMF('src/mymod.sqlcblle')`
|
|
228
|
+
|
|
164
229
|
### ILE CL module from .clle
|
|
165
230
|
|
|
166
231
|
```makefile
|
|
@@ -386,3 +451,32 @@ ADDBNDDIRE BNDDIR($LIBRARY/$NAME) OBJ(($LIBRARY/MYSRVPGM *SRVPGM))
|
|
|
386
451
|
```
|
|
387
452
|
|
|
388
453
|
Binding directories are almost always used as order-only prerequisites (`|`) because they must exist at compile time but should not trigger rebuilds when their content changes.
|
|
454
|
+
|
|
455
|
+
## COBOL copy sources
|
|
456
|
+
|
|
457
|
+
COBOL copybooks (`.cpy`, or any COBOL source extension) are resolved differently
|
|
458
|
+
by the two compiler families, but the rule you write is the same: **list the
|
|
459
|
+
copybook as a prerequisite**. That is what ships it to IBM i for a remote build
|
|
460
|
+
and what makes a change to it rebuild the program.
|
|
461
|
+
|
|
462
|
+
**ILE COBOL** (`.cblle`, `.sqlcblle`) compiles from a stream file and resolves
|
|
463
|
+
`COPY` against the compile-time include path:
|
|
464
|
+
|
|
465
|
+
```makefile
|
|
466
|
+
# COPY 'qcpysrc/cpybook.cpy'. <- IFS style, used as written
|
|
467
|
+
# COPY CPYBOOK OF QCPYSRC. <- source member style, rewritten to the path above
|
|
468
|
+
mypgm.pgm: mypgm.cblle qcpysrc/cpybook.cpy
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
**OPM COBOL** (`.cbl`, `.cbl38`, `.sqlcbl`) compiles from a source member, so the
|
|
472
|
+
`COPY` statement is left exactly as written and codermake creates the member it
|
|
473
|
+
names (`QCPYSRC/CPYBOOK` for the example below) before compiling:
|
|
474
|
+
|
|
475
|
+
```makefile
|
|
476
|
+
# COPY CPYBOOK OF QCPYSRC.
|
|
477
|
+
mypgm.pgm: mypgm.cbl qcpysrc/cpybook.cpy
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
A bare `COPY NAME.` is never rewritten: ILE COBOL resolves it against the include
|
|
481
|
+
path on its own. Use the `OF`/`IN` form when the copybook lives in a source file
|
|
482
|
+
directory.
|