aboutsummaryrefslogtreecommitdiff
path: root/Makefile.common
blob: 6fe2133ff40d0fc70adfbbd69499b8e4e5a54971 (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
# $Header$
# This file is used by Makefile, Makefile.irix, Makefile.macosx and declares
# common rules, a list of common object files etc.

ZIPFILE := scummvm-`date '+%Y-%m-%d'`.zip

INCS	= scumm/scumm.h common/scummsys.h common/stdafx.h

COMMON_OBJS = common/config-file.o common/gameDetector.o common/main.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/engine.o scumm/gfx.o \
	scumm/imuse.o scumm/insane.o scumm/object.o scumm/resource.o \
	scumm/resource_v3.o scumm/resource_v4.o scumm/saveload.o scumm/scaler.o \
	scumm/script.o scumm/script_v1.o scumm/script_v2.o scumm/scummvm.o \
	scumm/string.o scumm/sys.o scumm/vars.o scumm/verbs.o

SIMON_OBJS = simon/debug.o simon/items.o simon/midi.o simon/res.o simon/simon.o \
	simon/sys.o simon/verb.o simon/vga.o

SOUND_OBJS = sound/fmopl.o sound/mididrv.o sound/mixer.o sound/sound.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)
	ar cru $@ $+
	ranlib $@ 

simon/libsimon.a: $(SIMON_OBJS)
	ar cru $@ $+
	ranlib $@ 

clean:
	rm -f $(OBJS) scummvm$(EXEEXT)

.PHONY: all clean dist

# 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
#.cpp.o:
#	mkdir -p $(*D)/$(DEPDIR)
#	$(CXX) -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d2" $(CFLAGS) $(CPPFLAGS) -c $(<) -o $*.o
#	echo -n "$(*D)/" > $(*D)/$(DEPDIR)/$(*F).d
#	cat "$(*D)/$(DEPDIR)/$(*F).d2" >> "$(*D)/$(DEPDIR)/$(*F).d"
#	rm -f "$(*D)/$(DEPDIR)/$(*F).d2"
#
#-include $(DEPDIR)/*.d