aboutsummaryrefslogtreecommitdiff
path: root/Makefile.common
blob: 337d7a2a0fa947b68787cad89d91ce289e4b1d79 (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
# $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.h scummsys.h stdafx.h

OBJS	+= gui/widget.o gui/dialog.o gui/util.o newgui.o \
	gui/ListWidget.o gui/ScrollBarWidget.o \
	actor.o boxes.o costume.o gfx.o object.o resource.o \
	saveload.o script.o scummvm.o sound.o string.o \
	sys.o verbs.o script_v1.o script_v2.o debug.o gui.o \
	sound/imuse.o sound/fmopl.o sound/mixer.o debugrl.o \
	akos.o vars.o insane.o gameDetector.o init.o \
	v3/resource_v3.o v4/resource_v4.o 2xsai.o main.o \
        simon/midi.o simon/simon.o simon/simonsys.o simon/simonvga.o \
        simon/simondebug.o simon/simonres.o simon/simonitems.o simon/simonverb.o \
        sound/mididrv.o config-file.o

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)
	$(CC) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS)

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

.PHONY: all clean dist

# Default (dumb) compile & dependcy rules
#.cpp.o:
#	$(CC) $(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 $(DEPDIR)
	$(CC) -Wp,-MMD,"$(DEPDIR)/$(*F).d2" $(CFLAGS) $(CPPFLAGS) -c $(<) -o $*.o
	echo -n "$(*D)/" > $(DEPDIR)/$(*F).d
	cat "$(DEPDIR)/$(*F).d2" >> "$(DEPDIR)/$(*F).d"
	rm -f "$(DEPDIR)/$(*F).d2"

-include $(DEPDIR)/*.d