-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefileOld
More file actions
306 lines (227 loc) · 8.12 KB
/
MakefileOld
File metadata and controls
306 lines (227 loc) · 8.12 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
OBJS_API = api001.obj api002.obj api003.obj api004.obj api005.obj api006.obj \
api007.obj api008.obj api009.obj api010.obj api011.obj api012.obj \
api013.obj api014.obj api015.obj api016.obj api017.obj api018.obj \
api019.obj api020.obj
TOOLPATH = tools/
INCPATH = tools/include/
MAKE = $(TOOLPATH)make.exe -r
NASK = $(TOOLPATH)nask.exe
CC1 = $(TOOLPATH)cc1.exe -I$(INCPATH) -Os -Wall -quiet
GAS2NASK = $(TOOLPATH)gas2nask.exe -a
OBJ2BIM = $(TOOLPATH)obj2bim.exe
BIN2OBJ = $(TOOLPATH)bin2obj.exe
MAKEFONT = $(TOOLPATH)makefont.exe
BIM2HRB = $(TOOLPATH)bim2hrb.exe
RULEFILE = $(TOOLPATH)include/haribote.rul
EDIMG = $(TOOLPATH)edimg.exe
IMGTOL = $(TOOLPATH)imgtol.com
GOLIB = $(TOOLPATH)golib00.exe
COPY = copy
DEL = del
# 默认动作
default :
$(MAKE) img
# 文件生成规则
ipl.bin : ipl.nas Makefile
$(NASK) ipl.nas ipl.bin ipl.lst
asmhead.bin : asmhead.nas Makefile
$(NASK) asmhead.nas asmhead.bin asmhead.lst
bootpack.gas : bootpack.c Makefile
$(CC1) -o bootpack.gas bootpack.c
helloC.gas : helloC.c Makefile
$(CC1) -o helloC.gas helloC.c
bug1.gas : bug1.c Makefile
$(CC1) -o bug1.gas bug1.c
bug2.gas : bug2.c Makefile
$(CC1) -o bug2.gas bug2.c
bug3.gas : bug3.c Makefile
$(CC1) -o bug3.gas bug3.c
helloCS.gas : helloCS.c Makefile
$(CC1) -o helloCS.gas helloCS.c
winHelo.gas : winHelo.c Makefile
$(CC1) -o winHelo.gas winHelo.c
winHelo2.gas : winHelo2.c Makefile
$(CC1) -o winHelo2.gas winHelo2.c
winHelo3.gas : winHelo3.c Makefile
$(CC1) -o winHelo3.gas winHelo3.c
star1.gas : star1.c Makefile
$(CC1) -o star1.gas star1.c
star2.gas : star2.c Makefile
$(CC1) -o star2.gas star2.c
stars.gas : stars.c Makefile
$(CC1) -o stars.gas stars.c
line.gas : line.c Makefile
$(CC1) -o line.gas line.c
walk.gas : walk.c Makefile
$(CC1) -o walk.gas walk.c
noodle.gas : noodle.c Makefile
$(CC1) -o noodle.gas noodle.c
beepDown.gas : beepDown.c Makefile
$(CC1) -o beepDown.gas beepDown.c
color.gas : color.c Makefile
$(CC1) -o color.gas color.c
color2.gas : color2.c Makefile
$(CC1) -o color2.gas color2.c
func.obj : func.nas Makefile
$(NASK) func.nas func.obj func.lst
font.bin : font.txt Makefile
$(MAKEFONT) font.txt font.bin
font.obj : font.bin Makefile
$(BIN2OBJ) font.bin font.obj _font
bootpack.bim : bootpack.obj func.obj font.obj Makefile
$(OBJ2BIM) @$(RULEFILE) out:bootpack.bim stack:3136k map:bootpack.map \
bootpack.obj func.obj font.obj
# 3MB+64KB=3136KB
bootpack.hrb : bootpack.bim Makefile
$(BIM2HRB) bootpack.bim bootpack.hrb 0
apilib.lib : Makefile $(OBJS_API)
$(GOLIB) $(OBJS_API) out:apilib.lib
hello.hrb : hello.nas Makefile
$(NASK) hello.nas hello.hrb hello.lst
helloStr.hrb : helloStr.nas Makefile
$(NASK) helloStr.nas helloStr.hrb helloStr.lst
helloC.bim : helloC.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:helloC.bim map:helloC.map helloC.obj apilib.lib
helloC.hrb : helloC.bim Makefile
$(BIM2HRB) helloC.bim helloC.hrb 0
bug1.bim : bug1.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:bug1.bim map:bug1.map bug1.obj apilib.lib
bug1.hrb : bug1.bim Makefile
$(BIM2HRB) bug1.bim bug1.hrb 0
bug2.bim : bug2.obj Makefile
$(OBJ2BIM) @$(RULEFILE) out:bug2.bim map:bug2.map bug2.obj
bug2.hrb : bug2.bim Makefile
$(BIM2HRB) bug2.bim bug2.hrb 0
bug3.bim : bug3.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:bug3.bim map:bug3.map bug3.obj apilib.lib
bug3.hrb : bug3.bim Makefile
$(BIM2HRB) bug3.bim bug3.hrb 0
helloCS.bim : helloCS.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:helloCS.bim stack:1k map:helloCS.map \
helloCS.obj apilib.lib
helloCS.hrb : helloCS.bim Makefile
$(BIM2HRB) helloCS.bim helloCS.hrb 0
winHelo.bim : winHelo.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:winHelo.bim stack:1k map:winHelo.map \
winHelo.obj apilib.lib
winHelo.hrb : winHelo.bim Makefile
$(BIM2HRB) winHelo.bim winHelo.hrb 0
winHelo2.bim : winHelo2.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:winHelo2.bim stack:1k map:winHelo2.map \
winHelo2.obj apilib.lib
winHelo2.hrb : winHelo2.bim Makefile
$(BIM2HRB) winHelo2.bim winHelo2.hrb 0
winHelo3.bim : winHelo3.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:winHelo3.bim stack:1k map:winHelo3.map \
winHelo3.obj apilib.lib
winHelo3.hrb : winHelo3.bim Makefile
$(BIM2HRB) winHelo3.bim winHelo3.hrb 40k
star1.bim : star1.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:star1.bim stack:1k map:star1.map \
star1.obj apilib.lib
star1.hrb : star1.bim Makefile
$(BIM2HRB) star1.bim star1.hrb 47k
star2.bim : star2.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:star2.bim stack:1k map:star2.map \
star2.obj apilib.lib
star2.hrb : star2.bim Makefile
$(BIM2HRB) star2.bim star2.hrb 47k
stars.bim : stars.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:stars.bim stack:1k map:stars.map \
stars.obj apilib.lib
stars.hrb : stars.bim Makefile
$(BIM2HRB) stars.bim stars.hrb 47k
line.bim : line.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:line.bim stack:1k map:line.map \
line.obj apilib.lib
line.hrb : line.bim Makefile
$(BIM2HRB) line.bim line.hrb 48k
walk.bim : walk.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:walk.bim stack:1k map:walk.map \
walk.obj apilib.lib
walk.hrb : walk.bim Makefile
$(BIM2HRB) walk.bim walk.hrb 48k
noodle.bim : noodle.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:noodle.bim stack:1k map:noodle.map \
noodle.obj apilib.lib
noodle.hrb : noodle.bim Makefile
$(BIM2HRB) noodle.bim noodle.hrb 40k
beepDown.bim : beepDown.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:beepDown.bim stack:1k map:beepDown.map \
beepDown.obj apilib.lib
beepDown.hrb : beepDown.bim Makefile
$(BIM2HRB) beepDown.bim beepDown.hrb 40k
color.bim : color.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:color.bim stack:1k map:color.map \
color.obj apilib.lib
color.hrb : color.bim Makefile
$(BIM2HRB) color.bim color.hrb 56k
color2.bim : color2.obj apilib.lib Makefile
$(OBJ2BIM) @$(RULEFILE) out:color2.bim stack:1k map:color2.map \
color2.obj apilib.lib
color2.hrb : color2.bim Makefile
$(BIM2HRB) color2.bim color2.hrb 56k
crack6.bim : crack6.obj Makefile
$(OBJ2BIM) @$(RULEFILE) out:crack6.bim stack:1k map:crack6.map crack6.obj
crack6.hrb : crack6.bim Makefile
$(BIM2HRB) crack6.bim crack6.hrb 0k
dickos.sys : asmhead.bin bootpack.hrb Makefile
copy /B asmhead.bin+bootpack.hrb dickos.sys
dickos.img : ipl.bin dickos.sys Makefile \
hello.hrb helloStr.hrb helloC.hrb winHelo.hrb line.hrb color.hrb color2.hrb \
bug1.hrb bug2.hrb bug3.hrb winHelo2.hrb star2.hrb walk.hrb crack6.hrb \
helloCS.hrb winHelo3.hrb star1.hrb stars.hrb noodle.hrb beepDown.hrb
$(EDIMG) imgin:tools/fdimg0at.tek \
wbinimg src:ipl.bin len:512 from:0 to:0 \
copy from:dickos.sys to:@: \
copy from:ipl.nas to:@: \
copy from:make.bat to:@: \
copy from:hello.hrb to:@: \
copy from:helloStr.hrb to:@: \
copy from:helloC.hrb to:@: \
copy from:bug1.hrb to:@: \
copy from:bug2.hrb to:@: \
copy from:bug3.hrb to:@: \
copy from:helloCS.hrb to:@: \
copy from:winHelo.hrb to:@: \
copy from:winHelo2.hrb to:@: \
copy from:winHelo3.hrb to:@: \
copy from:star1.hrb to:@: \
copy from:stars.hrb to:@: \
copy from:star2.hrb to:@: \
copy from:line.hrb to:@: \
copy from:walk.hrb to:@: \
copy from:noodle.hrb to:@: \
copy from:beepDown.hrb to:@: \
copy from:color.hrb to:@: \
copy from:crack6.hrb to:@: \
copy from:color2.hrb to:@: \
imgout:dickos.img
# 通用规则
%.nas : %.gas Makefile
$(GAS2NASK) $*.gas $*.nas
%.obj : %.nas Makefile
$(NASK) $*.nas $*.obj $*.lst
# 命令
img :
$(MAKE) dickos.img
run :
$(MAKE) img
$(COPY) dickos.img tools\qemu\fdimage0.bin
$(MAKE) -C tools/qemu
install :
$(MAKE) img
$(IMGTOL) dickos.img a:
clean :
-$(DEL) *.bin
-$(DEL) *.lst
-$(DEL) *.gas
-$(DEL) *.obj
-$(DEL) *.map
-$(DEL) *.bim
-$(DEL) *.hrb
-$(DEL) dickos.sys
-$(DEL) apilib.lib
src_only :
$(MAKE) clean
-$(DEL) dickos.img