1#Uncomment and edit lines below
2
3
4#For FreeBSD
5CC?=gcc
6BINARY=uhexen
7SDL_INCLUDES=$(shell $(SDL_CONFIG) --cflags)
8SDL_LIBS=$(shell $(SDL_CONFIG) --libs)
9#EXTRA_INCLUDES=
10#EXTRA_LIBS=-L/usr/local/kde/lib -L/usr/local/qt/lib
11#EXTRA_INCLUDES=
12EXTRA_CFLAGS=-DUSE_SDL -DFBSD_CONSOLE
13
14#For Linux
15#CC=gcc
16#BINARY=uhexen
17#SDL_INCLUDES=-I/usr/local/include/SDL
18#SDL_LIBS=-L/usr/local/lib
19#EXTRA_INCLUDES=
20#EXTRA_LIBS=-L/usr/local/kde/lib -L/usr/local/qt/lib
21#EXTRA_INCLUDES=
22#EXTRA_CFLAGS=-DUSE_SDL
23
24#For OpenBSD
25#CC=gcc
26#BINARY=uhexen
27#SDL_INCLUDES=-I/usr/local/include/SDL
28#SDL_LIBS=-L/usr/local/lib
29#EXTRA_INCLUDES=
30#EXTRA_LIBS=-L/usr/local/kde/lib -L/usr/local/qt/lib -L/usr/X11R6/lib
31#EXTRA_INCLUDES=
32#EXTRA_CFLAGS=-DUSE_SDL -pthread
33
34# For Windows (cross-compiler)
35#CC=/usr/local/cross-tools/i386-mingw32msvc/bin/gcc
36#BINARY=uhexen.exe
37#SDL_INCLUDES= -I/usr/local/cross-tools/i386-mingw32msvc/include/SDL
38#SDL_LIBS=-L/usr/local/cross-tools/i386-mingw32msvc/lib
39#EXTRA_INCLUDES=-I/usr/local/cross-tools/i386-mingw32msvc/include
40#EXTRA_LIBS=-lmingw32 -lSDLmain -mwindows
41#EXTRA_CFLAGS=-mwindows -DUSE_SDL -DMUSTDIE -Dmain=SDL_main -DHAVE_OPENGL
42
43
44CFLAGS+=-DPREFIX=\"${PREFIX}\" -Iinclude -fomit-frame-pointer -Wall -DNORMALUNIX $(SDL_INCLUDES) $(EXTRA_INCLUDES) $(EXTRA_CFLAGS)
45LIBS=-lSDL_mixer
46LDFLAGS=$(SDL_LIBS) $(LIBS) $(EXTRA_LIBS)
47
48# subdirectory for objects
49O=obj
50S=src
51
52# not too sophisticated dependency
53OBJS=				\
54$(O)/a_action.o  \
55$(O)/am_map.o  \
56$(O)/ct_chat.o  \
57$(O)/d_net.o  \
58$(O)/f_finale.o  \
59$(O)/g_game.o  \
60$(O)/h2_main.o  \
61$(O)/in_lude.o  \
62$(O)/info.o  \
63$(O)/m_misc.o  \
64$(O)/mn_menu.o  \
65$(O)/mn_keynames.o  \
66$(O)/p_acs.o  \
67$(O)/p_anim.o  \
68$(O)/p_ceilng.o  \
69$(O)/p_doors.o  \
70$(O)/p_enemy.o  \
71$(O)/p_floor.o  \
72$(O)/p_inter.o  \
73$(O)/p_lights.o  \
74$(O)/p_map.o  \
75$(O)/p_maputl.o  \
76$(O)/p_mobj.o  \
77$(O)/p_plats.o  \
78$(O)/p_pspr.o  \
79$(O)/p_setup.o  \
80$(O)/p_sight.o  \
81$(O)/p_spec.o  \
82$(O)/p_switch.o  \
83$(O)/p_telept.o  \
84$(O)/p_things.o  \
85$(O)/p_tick.o  \
86$(O)/p_user.o  \
87$(O)/po_man.o  \
88$(O)/i_video.o \
89$(O)/i_sdlvideo.o \
90$(O)/i_fbsdvideo.o \
91$(O)/i_main.o \
92$(O)/i_system.o \
93$(O)/i_sound.o \
94$(O)/qmus2mid.o \
95$(O)/i_sdlsound.o \
96$(O)/i_netstub.o \
97$(O)/m_fixed.o \
98$(O)/r_bsp.o  \
99$(O)/r_data.o  \
100$(O)/r_draw.o  \
101$(O)/r_main.o  \
102$(O)/r_plane.o  \
103$(O)/r_segs.o  \
104$(O)/r_things.o  \
105$(O)/sb_bar.o  \
106$(O)/sc_man.o  \
107$(O)/sn_sonix.o  \
108$(O)/sounds.o  \
109$(O)/st_start_stub.o  \
110$(O)/sv_save.o  \
111$(O)/tables.o  \
112$(O)/template.o  \
113$(O)/v_video.o  \
114$(O)/w_wad.o  \
115$(O)/z_zone.o
116
117all:	uhexen
118
119clean:
120	rm -f *.o *~ *.flc $(BINARY) *.core
121	rm -f obj/*
122
123uhexen:	$(OBJS)
124	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS)  \
125	-o $(BINARY) $(LIBS)
126
127$(O)/%.o:	$(S)/%.c
128	$(CC) $(CFLAGS) -c $< -o $@
129
130#############################################################
131#
132#############################################################
133