rnd-19981010-1
[rocksndiamonds.git] / src / Makefile
1 #
2 # Makefile fuer "Rocks'n'Diamonds -- McDuffin Strikes Back"
3 #
4
5 PROGNAME = rocksndiamonds
6 # SERVNAME = rnd_server
7
8 RM = rm -f
9 CC = gcc
10 CPP = $(CC) -E
11 # CC = cc                               # for HP-UX and others
12
13 GAME_DIR = -DGAME_DIR=\".\"             # path of the game and its data
14 # JOYSTICK = -DNO_JOYSTICK              # no joystick
15 # SOUNDS = -DNO_SOUNDS                  # no sounds
16 # SCORE_ENTRIES = -DONE_PER_NAME        # only one score entry per name
17 SCORE_ENTRIES = -DMANY_PER_NAME         # many score entries per name
18
19 # The XPM-Library is no longer needed to build this program,
20 # but is used to load graphics if XPM_INCLUDE_FILE is defined,
21 # because the GIF loading routines are still a bit beta.
22 # If you use the Xpm library, convert the GIF files to Xpm
23 # files (and the mask files ('*Maske.gif') to xbm files).
24
25 # XPM_INCLUDE_FILE = -DXPM_INCLUDE_FILE="<X11/xpm.h>"
26 # EXTRA_X11_LIBS = -lXpm
27
28 CONFIG = $(GAME_DIR) $(SOUNDS) $(JOYSTICK)      \
29          $(SCORE_ENTRIES) $(XPM_INCLUDE_FILE)
30
31 # DEBUG = -DDEBUG -g -ansi -pedantic -Wall
32 DEBUG = -DDEBUG -g -Wall
33 # DEBUG = -O6
34
35 # SYSTEM = -Aa -D_HPUX_SOURCE -Dhpux    # for HP-UX (obsolete)
36 # SYSTEM = -DSYSV -Ae                   # for HP-UX
37 # INCL = -I/usr/include/X11R5           # for HP-UX and others
38 # INCL = -I/usr/local/X11/include       # for SunOS and others
39 # LIBS = -L/usr/lib/X11R5 -lXpm -lX11 -lm
40 #                                       # for HP-UX and others
41 # LIBS = -L/usr/local/X11/lib -lXpm -lX11 -lm -lsocket -R/usr/local/X11/lib
42 #                                       # for SunOS and others
43
44 # LIBS = -L/usr/X11R6/lib -lXpm -lX11 -lm
45 # LIBS = -L/usr/X11R6/lib -lX11 -lm
46
47 LIBS = -L/usr/X11R6/lib $(EXTRA_X11_LIBS) -lX11 -lm
48
49 # CFLAGS = -O2 $(CONFIG) $(SYSTEM)
50 CFLAGS = $(DEBUG) $(CONFIG) $(SYSTEM) $(INCL)
51
52 SRCS =  main.c          \
53         init.c          \
54         events.c        \
55         tools.c         \
56         screens.c       \
57         misc.c          \
58         game.c          \
59         editor.c        \
60         buttons.c       \
61         files.c         \
62         tape.c          \
63         sound.c         \
64         joystick.c      \
65         cartoons.c      \
66         random.c        \
67         gifload.c       \
68         gif.c           \
69         send.c          \
70         new.c           \
71         network.c       \
72         netserv.c
73
74 OBJS =  main.o          \
75         init.o          \
76         events.o        \
77         tools.o         \
78         screens.o       \
79         misc.o          \
80         game.o          \
81         editor.o        \
82         buttons.o       \
83         files.o         \
84         tape.o          \
85         sound.o         \
86         joystick.o      \
87         cartoons.o      \
88         random.o        \
89         gifload.o       \
90         gif.o           \
91         send.o          \
92         new.o           \
93         network.o       \
94         netserv.o
95
96 # all:  $(PROGNAME) $(SERVNAME)
97 all:    $(PROGNAME)
98
99 $(PROGNAME):    $(OBJS)
100         $(CC) $(CFLAGS) $(OBJS) $(LIBS) -o $(PROGNAME)
101
102 # $(SERVNAME):  $(SERVNAME).c
103 #       $(CC) $(CFLAGS) $(SERVNAME).c $(LIBS) -o $(SERVNAME)
104
105 .c.o:
106         $(CC) $(CFLAGS) -c $*.c
107
108 clean:
109         $(RM) $(PROGNAME) $(SERVNAME) $(OBJS)
110
111 backup:
112         ./make_backup.sh
113
114 depend:
115         for i in $(SRCS); do $(CPP) $(CFLAGS) -M $$i; done > .depend
116
117 ifeq (.depend,$(wildcard .depend))
118 include .depend
119 endif