Subversion Repositories Kolibri OS

Rev

Rev 1759 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1759 Rev 1764
Line 188... Line 188...
188
 fonts/smal.chr:FONTS/SMAL.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/SMAL.CHR \
188
 fonts/smal.chr:FONTS/SMAL.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/SMAL.CHR \
189
 fonts/trip.chr:FONTS/TRIP.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/TRIP.CHR \
189
 fonts/trip.chr:FONTS/TRIP.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/TRIP.CHR \
190
 fonts/tscr.chr:FONTS/TSCR.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/TSCR.CHR \
190
 fonts/tscr.chr:FONTS/TSCR.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/TSCR.CHR \
191
 games/snake.ini:GAMES/SNAKE.INI:$(PROGS)/games/snake/trunk/snake.ini
191
 games/snake.ini:GAMES/SNAKE.INI:$(PROGS)/games/snake/trunk/snake.ini
Line -... Line 192...
-
 
192
 
-
 
193
# The list of all C-- programs with one main C-- file.
-
 
194
# Format of an item is exactly the same as in the previous list.
-
 
195
CMM_PROGRAMS:=\
-
 
196
 File|Managers/eolite:File|Managers/EOLITE:$(PROGS)/fs/Eolite/trunk/Eolite.c-- \
-
 
197
 games/clicks:GAMES/CLICKS:$(PROGS)/games/clicks/trunk/clicks.c-- \
-
 
198
# end if list
-
 
199
# mine is not compilable
-
 
200
# games/mine:GAMES/MINE:$(PROGS)/games/mine/trunk/mine.c--
192
 
201
 
193
# List of other files to be included in the image file.
202
# List of other files to be included in the image file.
194
# Some of them are auto-built with special rules, some just exist before build.
203
# Some of them are auto-built with special rules, some just exist before build.
195
# Each item is of the form :.
204
# Each item is of the form :.
196
# Spaces should be represented as |.
205
# Spaces should be represented as |.
Line 210... Line 219...
210
 demos/barge.lif:DEMOS/BARGE.LIF demos/life2:DEMOS/LIFE2 \
219
 demos/barge.lif:DEMOS/BARGE.LIF demos/life2:DEMOS/LIFE2 \
211
 demos/relay.lif:DEMOS/RELAY.LIF demos/rpento.lif:DEMOS/RPENTO.LIF \
220
 demos/relay.lif:DEMOS/RELAY.LIF demos/rpento.lif:DEMOS/RPENTO.LIF \
212
 demos/use_mb:DEMOS/USE_MB demos/web:DEMOS/WEB \
221
 demos/use_mb:DEMOS/USE_MB demos/web:DEMOS/WEB \
213
 drivers/atikms.dll:DRIVERS/ATIKMS.DLL \
222
 drivers/atikms.dll:DRIVERS/ATIKMS.DLL \
214
 File|Managers/buttons.bmp:File|Managers/BUTTONS.BMP \
223
 File|Managers/buttons.bmp:File|Managers/BUTTONS.BMP \
215
 File|Managers/eolite:File|Managers/EOLITE \
-
 
216
 File|Managers/eolite.ini:File|Managers/EOLITE.INI \
224
 File|Managers/eolite.ini:File|Managers/EOLITE.INI \
217
 File|Managers/icons.bmp:File|Managers/ICONS.BMP \
225
 File|Managers/icons.bmp:File|Managers/ICONS.BMP \
218
 File|Managers/icons.ini:File|Managers/ICONS.INI \
226
 File|Managers/icons.ini:File|Managers/ICONS.INI \
219
 File|Managers/kfar.ini:File|Managers/KFAR.INI \
227
 File|Managers/kfar.ini:File|Managers/KFAR.INI \
220
 File|Managers/kfm:File|Managers/KFM \
228
 File|Managers/kfm:File|Managers/KFM \
Line 222... Line 230...
222
 File|Managers/kfm_keys.txt:File|Managers/KFM_KEYS.TXT \
230
 File|Managers/kfm_keys.txt:File|Managers/KFM_KEYS.TXT \
223
 fonts/bold.chr:FONTS/BOLD.CHR fonts/char2.mt:FONTS/CHAR2.MT \
231
 fonts/bold.chr:FONTS/BOLD.CHR fonts/char2.mt:FONTS/CHAR2.MT \
224
 fonts/char.mt:FONTS/CHAR.MT \
232
 fonts/char.mt:FONTS/CHAR.MT \
225
 games/appdata.dat:GAMES/APPDATA.DAT games/ataka:GAMES/ATAKA \
233
 games/appdata.dat:GAMES/APPDATA.DAT games/ataka:GAMES/ATAKA \
226
 games/basekurs.kla:GAMES/BASEKURS.KLA games/bnc:GAMES/BNC \
234
 games/basekurs.kla:GAMES/BASEKURS.KLA games/bnc:GAMES/BNC \
227
 games/checkers:GAMES/CHECKERS games/clicks:GAMES/CLICKS \
235
 games/checkers:GAMES/CHECKERS \
228
 games/FindNumbers:GAMES/FindNumbers games/gomoku:GAMES/GOMOKU \
236
 games/FindNumbers:GAMES/FindNumbers games/gomoku:GAMES/GOMOKU \
229
 games/klavisha:GAMES/KLAVISHA games/kosilka:GAMES/KOSILKA \
237
 games/klavisha:GAMES/KLAVISHA games/kosilka:GAMES/KOSILKA \
230
 games/kosskin.gfx:GAMES/KOSSKIN.GFX games/kox:GAMES/KOX \
238
 games/kosskin.gfx:GAMES/KOSSKIN.GFX games/kox:GAMES/KOX \
231
 games/lights:GAMES/LIGHTS games/megamaze:GAMES/MEGAMAZE games/mine:GAMES/MINE \
239
 games/lights:GAMES/LIGHTS games/megamaze:GAMES/MEGAMAZE games/mine:GAMES/MINE \
232
 games/msquare:GAMES/MSQUARE games/padenie:GAMES/PADENIE \
240
 games/msquare:GAMES/MSQUARE games/padenie:GAMES/PADENIE \
Line 256... Line 264...
256
fimage=$(call respace,$(call imagepart,$(f)))
264
fimage=$(call respace,$(call imagepart,$(f)))
257
fsource=$(call respace,$(call sourcepart,$(f)))
265
fsource=$(call respace,$(call sourcepart,$(f)))
Line 258... Line 266...
258
 
266
 
259
# Define targets for image file.
267
# Define targets for image file.
260
# Join all the lists above.
268
# Join all the lists above.
261
targets_full:=$(COPY_FILES) $(FASM_PROGRAMS) $(NASM_PROGRAMS) $(OTHER_FILES)
269
targets_full:=$(COPY_FILES) $(FASM_PROGRAMS) $(NASM_PROGRAMS) $(OTHER_FILES) $(CMM_PROGRAMS)
262
# For each item in the united list call fbinary.
270
# For each item in the united list call fbinary.
Line 263... Line 271...
263
targets:=$(foreach f,$(targets_full),$(fbinary))
271
targets:=$(foreach f,$(targets_full),$(fbinary))
264
 
272
 
Line 331... Line 339...
331
 
339
 
332
# Special rules for copying sysfuncr.txt - it isn't directly included in the image.
340
# Special rules for copying sysfuncr.txt - it isn't directly included in the image.
333
docpak: $(DOCDIR)SYSFUNCR.TXT $(wildcard $(DOCDIR)*)
341
docpak: $(DOCDIR)SYSFUNCR.TXT $(wildcard $(DOCDIR)*)
334
$(DOCDIR)SYSFUNCR.TXT: $(KERNEL)/docs/sysfuncr.txt
342
$(DOCDIR)SYSFUNCR.TXT: $(KERNEL)/docs/sysfuncr.txt
-
 
343
	cp $(KERNEL)/docs/sysfuncr.txt $(DOCDIR)SYSFUNCR.TXT
-
 
344
 
-
 
345
# Similar for C--.
-
 
346
include Makefile.cmm
-
 
347
 
-
 
348
# Sorry, even black magic seems to be insufficient for
-
 
349
# auto-handling all subtle effects. So we just define
-
 
350
# command lines for compiling and linking, and
-
 
351
# maintain the list of sources and objects by hand.
-
 
352
include Makefile.msvc
-
 
353
 
-
 
354
# Rules for table
-
 
355
table: .obj.table/table.exe
-
 
356
	$(msvc_final)
-
 
357
TABLE_OBJECTS:=.obj.table/calc.obj .obj.table/func.obj .obj.table/hello.obj \
-
 
358
 .obj.table/KosFile.obj .obj.table/kosSyst.obj .obj.table/math2.obj \
-
 
359
 .obj.table/mcsmemm.obj .obj.table/parser.obj
-
 
360
TABLE_H_FILES:=$(wildcard $(PROGS)/other/table/*.h)
-
 
361
.obj.table/table.exe: $(TABLE_OBJECTS)
-
 
362
	$(msvc_link)
-
 
363
$(TABLE_OBJECTS): .obj.table/%.obj: $(PROGS)/other/table/%.cpp $(TABLE_H_FILES) Makefile.msvc | .obj.table
-
 
364
	$(msvc_compile)
-
 
365
.obj.table:
-
 
366
	mkdir -p .obj.table
-
 
367
 
-
 
368
# Rules for graph
-
 
369
graph: .obj.graph/graph.exe
-
 
370
	$(msvc_final)
-
 
371
GRAPH_CPP_OBJECTS:=.obj.graph/func.obj .obj.graph/hello.obj .obj.graph/kolibri.obj \
-
 
372
 .obj.graph/KosFile.obj .obj.graph/kosSyst.obj .obj.graph/math2.obj \
-
 
373
 .obj.graph/mcsmemm.obj .obj.graph/parser.obj
-
 
374
GRAPH_C_OBJECTS:=.obj.graph/string.obj
-
 
375
GRAPH_H_FILES:=$(wildcard $(PROGS)/other/graph/*.h)
-
 
376
GRAPH_FASM_OBJECTS:=.obj.graph/memcpy.obj .obj.graph/memset.obj
-
 
377
.obj.graph/graph.exe: $(GRAPH_CPP_OBJECTS) $(GRAPH_C_OBJECTS) $(GRAPH_FASM_OBJECTS)
-
 
378
	$(msvc_link)
-
 
379
$(GRAPH_CPP_OBJECTS): .obj.graph/%.obj: $(PROGS)/other/graph/%.cpp $(GRAPH_H_FILES) Makefile.msvc | .obj.graph
-
 
380
	$(msvc_compile)
-
 
381
$(GRAPH_C_OBJECTS): .obj.graph/%.obj: $(PROGS)/other/graph/%.c $(GRAPH_H_FILES) Makefile.msvc | .obj.graph
-
 
382
	$(msvc_compile)
-
 
383
$(GRAPH_FASM_OBJECTS): .obj.graph/%.obj: $(PROGS)/other/graph/%.asm Makefile.msvc | .obj.graph
-
 
384
	fasm $< $@
-
 
385
.obj.graph:
-
 
386
	mkdir -p .obj.graph
-
 
387
 
-
 
388
# Rules for kosilka
-
 
389
games/kosilka: .obj.kosilka/kosilka.exe
-
 
390
	$(msvc_final)
-
 
391
KOSILKA_OBJECTS:=.obj.kosilka/kosilka.obj .obj.kosilka/KosFile.obj .obj.kosilka/kosSyst.obj .obj.kosilka/mcsmemm.obj
-
 
392
KOSILKA_H_FILES:=$(PROGS)/games/kosilka/*.h
-
 
393
.obj.kosilka/kosilka.exe: $(KOSILKA_OBJECTS)
-
 
394
	$(msvc_link)
-
 
395
$(KOSILKA_OBJECTS): .obj.kosilka/%.obj: $(PROGS)/games/kosilka/%.cpp $(KOSILKA_H_FILES) Makefile.msvc | .obj.kosilka
-
 
396
	$(msvc_compile)
-
 
397
.obj.kosilka:
-
 
398
	mkdir -p .obj.kosilka
-
 
399
 
-
 
400
include Makefile.gcc
-
 
401
 
-
 
402
# Rules for shell
-
 
403
shell: .obj.shell/start.o .obj.shell/shell.o .obj.shell/kolibri.o .obj.shell/stdlib.o .obj.shell/string.o \
-
 
404
 $(PROGS)/system/shell/kolibri.ld
-
 
405
	$(call gcc_link,$(PROGS)/system/shell/kolibri.ld)
-
 
406
.obj.shell/shell.o: $(PROGS)/system/shell/shell.c \
-
 
407
 $(PROGS)/system/shell/all.h \
-
 
408
 $(PROGS)/system/shell/system/*.h \
-
 
409
 $(PROGS)/system/shell/cmd/*.c \
-
 
410
 $(PROGS)/system/shell/modules/*.c \
-
 
411
 $(PROGS)/system/shell/locale/rus/globals.h \
-
 
412
 Makefile.gcc | .obj.shell
-
 
413
	$(gcc_compile)
-
 
414
.obj.shell/kolibri.o .obj.shell/stdlib.o .obj.shell/string.o: .obj.shell/%.o: \
-
 
415
 $(PROGS)/system/shell/system/%.c $(PROGS)/system/shell/system/*.h \
-
 
416
 Makefile.gcc | .obj.shell
-
 
417
	$(gcc_compile)
-
 
418
.obj.shell/start.o: $(PROGS)/system/shell/start.asm | .obj.shell
-
 
419
	fasm $< $@
-
 
420
.obj.shell:
-
 
421
	mkdir -p .obj.shell
-
 
422
 
-
 
423
# Rules for media/ac97snd
-
 
424
# Not compilable from svn sources, using preloaded binary
-
 
425
 
-
 
426
# Rules for atikms.dll
-
 
427
# Use Makefile from $(REPOSITORY)/drivers/ddk and $(REPOSITORY)/drivers/video/drm/radeon
-
 
428
# However, dependencies must be duplicated - I don't know how to avoid this
-
 
429
# without need to rebuild kolibri.img at every iteration...
-
 
430
# Note that we are going to write in the directory shared
-
 
431
# between all Makefiles, so we need locked operations.
-
 
432
drivers/atikms.dll: $(REPOSITORY)/drivers/video/drm/radeon/atikms.dll drivers/.dir
-
 
433
	kpack --nologo $< $@
-
 
434
$(REPOSITORY)/drivers/video/drm/radeon/atikms.dll:
-
 
435
	flock $(REPOSITORY)/drivers/video/drm/radeon/.lock \
-
 
436
	$(MAKE) CC=win32-gcc AS=win32-as LD=win32-ld AR=win32-ar FASM=fasm -C $(REPOSITORY)/drivers/video/drm/radeon
-
 
437
$(REPOSITORY)/drivers/ddk/libddk.a:
-
 
438
	flock $(REPOSITORY)/drivers/ddk/.lock \
-
 
439
	$(MAKE) CC=win32-gcc AS=win32-as LD=win32-ld AR=win32-ar FASM=fasm -C $(REPOSITORY)/drivers/ddk
-
 
440
# dependencies
-
 
441
$(REPOSITORY)/drivers/video/drm/radeon/atikms.dll: \
-
 
442
 $(REPOSITORY)/drivers/video/drm/radeon/atikms.lds \
-
 
443
 $(REPOSITORY)/drivers/ddk/libddk.a \
-
 
444
 $(REPOSITORY)/drivers/video/drm/radeon/*.[Sch] \
-
 
445
 $(REPOSITORY)/drivers/video/drm/radeon/*.asm \
-
 
446
 $(REPOSITORY)/drivers/video/drm/radeon/Makefile \
-
 
447
 $(REPOSITORY)/drivers/video/drm/radeon/firmware/*.bin \
-
 
448
 $(REPOSITORY)/drivers/include/*.h \
-
 
449
 $(REPOSITORY)/drivers/include/*/*.h \
-
 
450
 $(REPOSITORY)/drivers/include/*/*/*.h \
-
 
451
 $(REPOSITORY)/drivers/include/*/*/*/*.h
-
 
452
$(REPOSITORY)/drivers/ddk/libddk.a: \
-
 
453
 $(REPOSITORY)/drivers/ddk/Makefile \
-
 
454
 $(REPOSITORY)/drivers/ddk/*/* \
-
 
455
 $(REPOSITORY)/drivers/include/*.h \
-
 
456
 $(REPOSITORY)/drivers/include/*/*.h \
-
 
457
 $(REPOSITORY)/drivers/include/*/*/*.h \