-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrules.mk
More file actions
93 lines (88 loc) · 3.89 KB
/
Copy pathrules.mk
File metadata and controls
93 lines (88 loc) · 3.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# This file is part of i5/OS Programmer's Toolkit.
#
# Copyright (C) 2009, 2011 Junlei Li (李君磊).
#
# i5/OS Programmer's Toolkit is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# i5/OS Programmer's Toolkit is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with i5/OS Programmer's Toolkit. If not, see <http://www.gnu.org/licenses/>.
#
.SUFFIXES: .rpg .rpgle .c .cpp .clp .clle .cmd .cl-cmd .module .pf .lf .file \
.mi .emi .uim .pnlgrp \
.cbl .cblle \
.java .class
#PRESET VARIABLES
MAKE=make
#SINGLE SUFFIX RULES
.c:
system "crtbndc $(BIN_LIB)/$@ srcstmf('$<') $(CLEFLAGS)"
ln -fs /qsys.lib/$(BIN_LIB).lib/$@.pgm $@
.cpp:
system "crtbndcpp $(BIN_LIB)/$@ srcstmf('$<') $(CPPLEFLAGS)"
ln -fs /qsys.lib/$(BIN_LIB).lib/$@.pgm $@
.mi:
system "i5toolkit/mic $(BIN_LIB)/$@ srcpath($<) option(*replace *list *xref *atr) $(MIFLAGS)"
ln -fs /qsys.lib/$(BIN_LIB).lib/$@.pgm $@
.emi:
system "i5toolkit/mic $(BIN_LIB)/$@ srcpath($<) option(*replace *list *xref *atr) $(MIFLAGS)"
ln -fs /qsys.lib/$(BIN_LIB).lib/$@.pgm $@
.rpgle:
system "crtbndrpg $(BIN_LIB)/$@ srcstmf('$<') $(RPGLEFLAGS)"
ln -fs "/qsys.lib/$(BIN_LIB).lib/$@.pgm" $@
.clp:
system "i5toolkit/crtfrmstmf obj($(BIN_LIB)/$@) cmd(CRTCLPGM) srcstmf('$<') parm('$(CLFLAGS)')"
ln -fs "/qsys.lib/$(BIN_LIB).lib/$@.pgm" $@
.clle:
system "i5toolkit/crtfrmstmf obj($(BIN_LIB)/$@) cmd(CRTBNDCL) srcstmf('$<') parm('$(CLLEFLAGS)')"
ln -fs "/qsys.lib/$(BIN_LIB).lib/$@.pgm" $@
.cl-cmd.cmd:
system "i5toolkit/crtfrmstmf obj($(BIN_LIB)/$*) cmd(CRTCMD) srcstmf('$<') parm('PGM($(BIN_LIB)/$*) $(CMDFLAGS)')"
ln -fs "/qsys.lib/$(BIN_LIB).lib/$*.cmd" $*.cmd
.rpg:
system "i5toolkit/crtfrmstmf obj($(BIN_LIB)/$@) cmd(CRTRPGPGM) srcstmf('$<') parm('$(RPGFLAGS)')"
ln -fs "/qsys.lib/$(BIN_LIB).lib/$@.pgm" $@
.rpgle.module:
system "crtrpgmod $(BIN_LIB)/$* srcstmf('$<') $(RPGLEFLAGS)"
ln -fs "/qsys.lib/$(BIN_LIB).lib/$*.module" $*.module
.clle.module:
system "i5toolkit/crtfrmstmf obj($(BIN_LIB)/$*) cmd(CRTCLMOD) srcstmf('$<') parm('$(CLLEFLAGS)')"
ln -fs "/qsys.lib/$(BIN_LIB).lib/$*.module" $*.module
.c.module:
system "crtcmod $(BIN_LIB)/$* srcstmf('$<') $(CLEFLAGS)"
ln -fs "/qsys.lib/$(BIN_LIB).lib/$*.module" $*.module
.cpp.module:
system "crtcppmod $(BIN_LIB)/$* srcstmf('$<') $(CPPLEFLAGS)"
ln -fs "/qsys.lib/$(BIN_LIB).lib/$*.module" $*.module
.java.class:
javac $(JAVAFLAGS) $<
# if target PF exists change it using CHFPF, otherwise create a new one using CRTPF
.pf.file:
if [ -e /qsys.lib/$(BIN_LIB).lib/$*.FILE ]; then \
system "i5toolkit/crtfrmstmf obj($(BIN_LIB)/$*) cmd(CHGPF) srcstmf('$<') parm('$(CHGPFFLAGS)')"; \
else system "i5toolkit/crtfrmstmf obj($(BIN_LIB)/$*) cmd(CRTPF) srcstmf('$<') parm('$(CRTPFFLAGS)')"; \
fi
ln -fs "/qsys.lib/$(BIN_LIB).lib/$*.file" $*.file
.lf.file:
-system "dltf file($(BIN_LIB)/$*)"
system "i5toolkit/crtfrmstmf obj($(BIN_LIB)/$*) cmd(CRTLF) srcstmf('$<') parm('$(CRTLFFLAGS)')"
ln -fs "/qsys.lib/$(BIN_LIB).lib/$*.file" $*.file
.uim.pnlgrp:
system "i5toolkit/crtfrmstmf obj($(BIN_LIB)/$*) cmd(CRTPNLGRP) srcstmf('$<') parm('$(CRTPNLGRPFLAGS)')"
ln -fs "/qsys.lib/$(BIN_LIB).lib/$*.pnlgrp" $*.pnlgrp
.cblle:
system "crtbndcbl $(BIN_LIB)/$@ srcstmf('$<') $(CBLLEFLAGS)"
ln -fs "/qsys.lib/$(BIN_LIB).lib/$@.pgm" $@
.cblle.module:
system "crtcblmod $(BIN_LIB)/$* srcstmf('$<') $(CBLLEFLAGS)"
ln -fs "/qsys.lib/$(BIN_LIB).lib/$*.module" $*.module
.cbl:
system "i5toolkit/crtfrmstmf obj($(BIN_LIB)/$@) cmd(CRTCBLPGM) srcstmf('$<') parm('$(CBLFLAGS)')"
ln -fs "/qsys.lib/$(BIN_LIB).lib/$@.pgm" $@