source: branches /fat32-0.10 /src /makefile.mk @ 160

Last change on this file since 160 was 160, checked in by Valery V. Sedletski, 9 years ago

build system: Support for separate build and source dirs, and also, autopackaging.

File size: 6.9 KB
Line
1 _VENDOR=Netlabs
2 _VER=0.10a8
3 _VERSION=$(_VER):r$(%SVNREV)
4 FILEVER=@$#$(_VENDOR):$(_VERSION)$#$#built$(%DATE)on$(%HOSTNAME);0.1$#@
5
6 BINROOT=$(ROOT)\bin
7 BLDROOT=$(ROOT)\bld
8 LIBROOT=$(BLDROOT)\lib
9 PROJ_BLD=$(BLDROOT)\$(PROJ)
10 BLDDIRS=$(BINROOT)$(BLDROOT)$(LIBROOT)&
11 $(BINROOT)\os2$(BINROOT)\os2\boot$(BINROOT)\os2\dll&
12 $(BINROOT)\os2\book$(BINROOT)\os2\docs$(BINROOT)\os2\docs\fat32&
13 $(BLDROOT)\util$(BLDROOT)\ifs$(BLDROOT)\ifs\libc$(BLDROOT)\partfilt$(BLDROOT)\ifsinf
14
15 CLEANUP=$(PROJ_BLD)\*.obj$(PROJ_BLD)\*.obh$(PROJ_BLD)\*.lnk$(PROJ_BLD)\*.wmp&
16 $(PROJ_BLD)\*.map$(PROJ_BLD)\*.ols$(PROJ_BLD)\*.err$(BLDROOT)\..\include\ver.h&
17 $(BLDROOT)\lib\*.lib
18
19 mainifs=&
20 fat32.ifsfat32.sym
21
22 dll=&
23 ufat32.dllufat32.sym
24
25 util=&
26 cachef32.execachef32.sym&
27 diskdump.exediskdump.sym&
28 diskinfo.exediskinfo.sym&
29 f32mon.exef32mon.sym&
30 f32stat.exef32stat.sym&
31 fat32chk.exefat32chk.sym&
32 fat32fmt.exefat32fmt.sym
33
34 inf=&
35 fat32.inf
36
37 docs=&
38 partfilt.docbuild.txt&
39 deamon.txtfat32.txtlesser.txt&
40 license.txtos2fat32.txtproblems.txt&
41 partfilt.txt
42
43 korean=&
44 country.korfat32.kor
45
46 adddrv=&
47 os2dasd.f32partfilt.fltpartfilt.sym
48
49 distlist=&
50 os2\boot\fat32.ifsos2\boot\fat32.sym&
51 os2\dll\ufat32.dllos2\dll\ufat32.sym&
52 os2\cachef32.exeos2\cachef32.sym&
53 os2\diskdump.exeos2\diskdump.sym&
54 os2\diskinfo.exeos2\diskinfo.sym&
55 os2\f32mon.exeos2\f32mon.sym&
56 os2\f32stat.exeos2\f32stat.sym&
57 os2\fat32chk.exeos2\fat32chk.sym&
58 os2\fat32fmt.exeos2\fat32fmt.sym&
59 os2\book\fat32.inf&
60 os2\docs\fat32\partfilt.docos2\docs\fat32\build.txt&
61 os2\docs\fat32\deamon.txtos2\docs\fat32\fat32.txtos2\docs\fat32\lesser.txt&
62 os2\docs\fat32\license.txtos2\docs\fat32\os2fat32.txtos2\docs\fat32\problems.txt&
63 os2\docs\fat32\partfilt.txt&
64 os2\boot\country.koros2\docs\fat32\fat32.kor&
65 os2\boot\os2dasd.f32os2\boot\partfilt.fltos2\boot\partfilt.sym
66
67 distname=fat32-$(_VER)-r$(%SVNREV)
68 distfile1=$(distname).zip
69 distfile2=$(distname).wpi
70
71 AS=wasm
72 LNK=wlinkopq
73 LIB=wlib-q
74 MAPCNV=..\mapsym.awk
75 IPFC=wipfc
76 WIC=wic
77
78 !ifdef_32BITS
79 CXX=wpp386
80 CC=wcc386
81 !else
82 CXX=wpp
83 CC=wcc
84 !endif
85
86 .SUFFIXES:
87 .SUFFIXES:.flt .ifs .dll .exe .lib .lnk .ols .obh .obj .cpp .c .h .asm .sym .map .wmp .inf .ipf .bmp
88
89 all:$(BLDROOT)\bld.flg $(PROJ_BLD)\makefile.wcc dirs copy targets &
90 $(BINROOT)\zip.flg$(BINROOT)\wpi.flg.symbolic
91
92 targets:.symbolic
93 @for%tin($(TARGETS))do@wmake-h-fmakefile.wcc%t
94
95 $(PROJ_BLD)\makefile.wcc:makefile.wcc
96 @echo!include$(PATH)\makefile.wcc>$^@
97
98 dirs:.symbolic
99 @for%din($(DIRS))do@ifexist%d@cd%d&&wmake-h-fmakefile.wcctargets
100
101 $(BLDROOT)\bld.flg:
102 @for%din($(BLDDIRS))do@mkdir%d
103 @wtouch$^@
104
105 $(BINROOT)\zip.flg:
106 @echoZIP$(distfile1)
107 @cd$(BINROOT)
108 @zip-r$(distfile1)$(distlist)>nul2>&1
109 @cd$(PATH)
110 @wtouch$^@
111
112 $(BINROOT)\wpi.flg:
113 @echoWIC$(distfile2)
114 @cd$(BINROOT)
115 @%create$(distname).pkg
116 @%append$(distname).pkg$(distfile2)-a1-c.\os2\boot
117 @for%filein($(mainifs))do@ifexistos2\boot\%file@%append$(distname).pkg%file
118 @%append$(distname).pkg2-c.\os2\dll
119 @for%filein($(dll))do@ifexistos2\dll\%file@%append$(distname).pkg%file
120 @%append$(distname).pkg3-c.\os2
121 @for%filein($(util))do@ifexistos2\%file@%append$(distname).pkg%file
122 @%append$(distname).pkg4-c.\os2\book
123 @for%filein($(inf))do@ifexistos2\book\%file@%append$(distname).pkg%file
124 @%append$(distname).pkg5-c.\os2\docs\fat32
125 @for%filein($(docs))do@ifexistos2\docs\fat32\%file@%append$(distname).pkg%file
126 @%append$(distname).pkg6-c.\os2\boot
127 @for%filein($(korean))do@ifexistos2\boot\%file@%append$(distname).pkg%file
128 @%append$(distname).pkg7-c.\os2\boot
129 @for%filein($(adddrv))do@ifexistos2\boot\%file@%append$(distname).pkg%file
130 @%append$(distname).pkg-s..\lib\fat32_010.wis
131 @$(WIC)@$(distname).pkg>nul2>&1
132 @cd$(PATH)
133 @wtouch$^@
134
135 clean:.symbolic
136 -@del$(CLEANUP)>nul2>&1
137 @for%din($(DIRS))do@ifexist%dcd%d&&@wmake-h-fmakefile.wccclean
138
139 copy:$(BINROOT)\os2\boot\os2dasd.f32 $(BINROOT)\os2\boot\country.kor &
140 $(BINROOT)\os2\docs\fat32\partfilt.doc$(BINROOT)\os2\docs\fat32\fat32.kor$(BINROOT)\os2\docs\fat32\build.txt&
141 $(BINROOT)\os2\docs\fat32\deamon.txt$(BINROOT)\os2\docs\fat32\fat32.txt$(BINROOT)\os2\docs\fat32\lesser.txt&
142 $(BINROOT)\os2\docs\fat32\license.txt$(BINROOT)\os2\docs\fat32\os2fat32.txt$(BINROOT)\os2\docs\fat32\problems.txt&
143 $(BINROOT)\os2\docs\fat32\partfilt.txt.symbolic
144
145 $(BINROOT)\os2\boot\os2dasd.f32:$(ROOT)\lib\os2dasd.f32
146 @copy$<$^@>nul2>&1
147
148 $(BINROOT)\os2\boot\country.kor:$(ROOT)\lib\country.kor
149 @copy$<$^@>nul2>&1
150
151 $(BINROOT)\os2\docs\fat32\partfilt.doc:$(ROOT)\doc\partfilt.doc
152 @copy$<$^@>nul2>&1
153
154 $(BINROOT)\os2\docs\fat32\fat32.kor:$(ROOT)\doc\fat32.kor
155 @copy$<$^@>nul2>&1
156
157 $(BINROOT)\os2\docs\fat32\build.txt:$(ROOT)\doc\build.txt
158 @copy$<$^@>nul2>&1
159
160 $(BINROOT)\os2\docs\fat32\deamon.txt:$(ROOT)\doc\deamon.txt
161 @copy$<$^@>nul2>&1
162
163 $(BINROOT)\os2\docs\fat32\fat32.txt:$(ROOT)\doc\fat32.txt
164 @copy$<$^@>nul2>&1
165
166 $(BINROOT)\os2\docs\fat32\lesser.txt:$(ROOT)\doc\lesser.txt
167 @copy$<$^@>nul2>&1
168
169 $(BINROOT)\os2\docs\fat32\license.txt:$(ROOT)\doc\license.txt
170 @copy$<$^@>nul2>&1
171
172 $(BINROOT)\os2\docs\fat32\os2fat32.txt:$(ROOT)\doc\os2fat32.txt
173 @copy$<$^@>nul2>&1
174
175 $(BINROOT)\os2\docs\fat32\problems.txt:$(ROOT)\doc\problems.txt
176 @copy$<$^@>nul2>&1
177
178 $(BINROOT)\os2\docs\fat32\partfilt.txt:$(ROOT)\doc\partfilt.txt
179 @copy$<$^@>nul2>&1
180
181 .inf:$(BINROOT)
182
183 .dll:$(BINROOT)
184
185 .exe:$(BINROOT)
186
187 .ifs:$(BINROOT)
188
189 .sym:$(BINROOT)
190
191 .lib:$(LIBROOT)
192
193 .obj:$(PROJ_BLD)
194
195 .lnk:$(PROJ_BLD)
196
197 .ols:$(PROJ_BLD)
198
199 .map:$(PROJ_BLD)
200
201 .wmp:$(PROJ_BLD)
202
203 .ipf:.
204
205 .bmp:.
206
207 .c:.
208
209 .asm:.
210
211 .lnk.exe:.autodepend
212 @echoLINK@$^.
213 @$(LNK)@$<
214
215 .lnk.dll:.autodepend
216 @echoLINK@$^.
217 @$(LNK)@$<
218
219 .lnk.flt:.autodepend
220 @echoLINK@$^.
221 @$(LNK)@$<
222
223 .lnk.ifs:.autodepend
224 @echoLINK@$^.
225 @$(LNK)@$[@
226
227 .ols.lib:.autodepend
228 @echoLIB$^.
229 @$(LIB)$^@@$<
230
231 .asm.obj:.autodepend
232 @echoAS$^.
233 @$(AS)$(AOPT)-fr=$^*.err-fo=$^@$[@
234
235 .c.obj:.autodepend
236 @echoCC$^.
237 @$(CC)$(COPT)-fr=$^*.err-fo=$^@$<
238
239 .c.obh:.autodepend
240 @echoCC$^.
241 @$(CC)$(COPT)-d__DLL__-bd-fr=$^*.err-fo=$^@$<
242
243 .cpp.obj:.autodepend
244 @echoCXX$^.
245 @$(CXX)$(COPT)-fr=$^*.err-fo=$^@$[@
246
247 .ipf.inf:.autodepend
248 @echoIPFC$^.
249 @$(IPFC)-i$<-o$(BINROOT)$^@>nul2>&1
250
251 .wmp.map:
252 @echoMAPCNV$^.
253 @awk-f$(MAPCNV)$<>$(PROJ_BLD)\$^.
254
255 .map.sym:
256 @echoMAPSYM$^.
257 @mapsym$[@>nul2>&1
258 @move$^.$^:>nul2>&1
Note: See TracBrowser for help on using the repository browser.

AltStyle によって変換されたページ (->オリジナル) /