blob: e70d8ef7e0dd1b5099c7e9964d18ab902663c12f (
plain)
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
|
# $Header$
# This file is used by Makefile, Makefile.irix, Makefile.macosx and declares
# common rules, a list of common object files etc.
# List of all sub modules
MODULES += common gui scumm simon sound scumm/smush
ZIPFILE := scummvm-`date '+%Y-%m-%d'`.zip
INCS = scumm/scumm.h common/scummsys.h common/stdafx.h
COMMON_OBJS = common/config-file.o common/engine.o common/file.o \
common/gameDetector.o common/main.o common/scaler.o common/str.o \
common/timer.o common/util.o
GUI_OBJS = gui/gui.o gui/newgui.o gui/widget.o gui/dialog.o gui/ListWidget.o \
gui/ScrollBarWidget.o
SCUMM_OBJS = scumm/actor.o scumm/akos.o scumm/boxes.o scumm/bundle.o \
scumm/costume.o scumm/debug.o scumm/debugrl.o scumm/gfx.o scumm/imuse.o \
scumm/object.o scumm/resource.o scumm/resource_v2.o scumm/resource_v3.o \
scumm/resource_v4.o scumm/saveload.o scumm/script.o \
scumm/script_v1.o scumm/script_v2.o scumm/scummvm.o scumm/sound.o \
scumm/string.o scumm/vars.o scumm/verbs.o scumm/dialogs.o
SIMON_OBJS = simon/debug.o simon/items.o simon/midi.o simon/res.o simon/simon.o \
simon/verb.o simon/vga.o
SMUSH_OBJS = scumm/smush/blitter.o \
scumm/smush/brenderer.o \
scumm/smush/chunk.o \
scumm/smush/codec1.o \
scumm/smush/codec37.o \
scumm/smush/codec44.o \
scumm/smush/codec47.o \
scumm/smush/color.o \
scumm/smush/frenderer.o \
scumm/smush/imuse_channel.o \
scumm/smush/player.o \
scumm/smush/saud_channel.o \
scumm/smush/scumm_renderer.o
SOUND_OBJS = sound/fmopl.o sound/mididrv.o sound/mixer.o
OBJS += $(COMMON_OBJS) $(GUI_OBJS) scumm/libscumm.a simon/libsimon.a $(SOUND_OBJS)
DISTFILES=$(OBJS:.o=.cpp) Makefile scumm.h scummsys.h stdafx.h stdafx.cpp \
debugrl.h whatsnew.txt readme.txt copying.txt \
scummvm.dsp scummvm.dsw sound/fmopl.h gui.h sound.h
all: scummvm$(EXEEXT)
scummvm$(EXEEXT): $(OBJS)
$(CXX) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS)
scumm/libscumm.a: $(SCUMM_OBJS) $(SMUSH_OBJS)
$(AR) $@ $+
$(RANLIB) $@
simon/libsimon.a: $(SIMON_OBJS)
$(AR) $@ $+
$(RANLIB) $@
clean:
$(RM) $(OBJS) $(SCUMM_OBJS) $(SIMON_OBJS) $(SMUSH_OBJS) scummvm$(EXEEXT)
.PHONY: all clean dist distclean
# Default (dumb) compile & dependcy rules
#.cpp.o:
# $(CXX) $(CFLAGS) $(CPPFLAGS) -c $(<) -o $*.o
#$(OBJS): $(INCS)
# If you use GCC, disable the above and enable this for intelligent
# dependency tracking.
DEPDIR := .deps
DEPDIRS = $(patsubst %,%/$(DEPDIR),$(MODULES))
DEPFILES = $(wildcard $(patsubst %,%/$(DEPDIR)/*.d,$(MODULES)))
.cpp.o:
$(MKDIR) $(*D)/$(DEPDIR)
$(CXX) -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d2" $(CFLAGS) $(CPPFLAGS) -c $(<) -o $*.o
$(ECHO) "$(*D)/" > $(*D)/$(DEPDIR)/$(*F).d
$(CAT) "$(*D)/$(DEPDIR)/$(*F).d2" >> "$(*D)/$(DEPDIR)/$(*F).d"
$(RM) "$(*D)/$(DEPDIR)/$(*F).d2"
-include $(DEPFILES) /dev/null
distclean: clean
$(RM_REC) $(DEPDIRS)
|