]> icculus.org git repositories - btb/d2x.git/blob - Makefile.am
flatten Makefile
[btb/d2x.git] / Makefile.am
1 bin_PROGRAMS = @TARGETS@ hogcreate hogextract mveplayer mvlcreate mvlextract txb2tex tex2txb
2 EXTRA_PROGRAMS = d2x d2x-sdl d2x-gl d2x-ggi d2x-svga
3
4 # Common to all d2x platforms/options
5
6 d2x_CPPFLAGS = -DFL1_WITH_FLAT -I$(top_srcdir)/include -I$(top_srcdir)/main -I$(top_srcdir)/arch/include
7
8 d2x_SOURCES = \
9 2d/2dsline.c  2d/box.c      2d/disc.c     2d/ibitblt.c  2d/pcx.c      2d/rect.c     2d/scalec.c   \
10 2d/bitblt.c   2d/canvas.c   2d/font.c     2d/line.c     2d/pixel.c    2d/rle.c      2d/bitmap.c   \
11 2d/circle.c   2d/gpixel.c   2d/palette.c  \
12 3d/clipper.c  3d/globvars.c 3d/interp.c   3d/points.c   3d/setup.c    3d/draw.c     3d/instance.c \
13 3d/matrix.c   3d/rod.c      \
14 arch/sdl/digi.c    arch/sdl/init.c    arch/sdl/rbaudio.c arch/sdl/timer.c   \
15 iff/iff.c     \
16 libmve/decoder16.c libmve/decoder8.c  libmve/mve_audio.c libmve/mvelib.c    libmve/mveplay.c   \
17 main/ai.c       main/ai2.c      main/aipath.c   main/automap.c  main/bm.c       main/cmd.c      \
18 main/cntrlcen.c main/collide.c  main/config.c   main/console.c  main/controls.c main/credits.c  \
19 main/crypt.c    main/digiobj.c  main/effects.c  main/endlevel.c main/escort.c   main/fireball.c \
20 main/fuelcen.c  main/fvi.c      main/game.c     main/gamecntl.c main/gamefont.c main/gamemine.c \
21 main/gamepal.c  main/gamerend.c main/gamesave.c main/gameseg.c  main/gameseq.c  main/gauges.c   \
22 main/hostage.c  main/hud.c      main/inferno.c  main/kconfig.c  main/kludge.c   main/laser.c    \
23 main/lighting.c main/menu.c     main/mglobal.c  main/mission.c  main/morph.c    main/movie.c    \
24 main/newdemo.c  main/newmenu.c  main/object.c   main/paging.c   main/physics.c  main/piggy.c    \
25 main/player.c   main/playsave.c main/polyobj.c  main/powerup.c  main/render.c   main/robot.c    \
26 main/scores.c   main/segment.c  main/slew.c     main/songs.c    main/state.c    main/switch.c   \
27 main/terrain.c  main/texmerge.c main/text.c     main/titles.c   main/vclip.c    main/wall.c     \
28 main/weapon.c   \
29 maths/vecmat.c  maths/rand.c    maths/tables.c  \
30 mem/mem.c \
31 misc/args.c        misc/error.c       misc/strio.c       misc/ignorecase.c  misc/physfsrwops.c \
32 misc/hash.c        misc/strutil.c     \
33 texmap/ntmap.c     texmap/scanline.c
34
35 d2x_LDFLAGS =
36 d2x_LDADD = $(PHYSFS_LIBS)
37
38 if MACDATA
39 TRANSPARENCY_COLOR = 0
40 else
41 TRANSPARENCY_COLOR = 255
42 endif
43
44 SUFFIXES = .asm
45 .asm.o:
46 $(NASM) -dTRANSPARENCY_COLOR=${TRANSPARENCY_COLOR} $(NASMFLAGS) $< -o $@
47
48 if USE_ASM
49 d2x_LDADD += 2d/linear.o 2d/tmerge_a.o maths/vecmata.o maths/fix.o
50 else
51 d2x_SOURCES += 2d/tmerge.c maths/fixc.c
52 endif
53
54 if USE_CONSOLE
55 d2x_SOURCES += console/CON_console.c
56 endif
57
58 if USE_NETWORK
59 d2x_SOURCES += main/kmatrix.c main/multi.c main/multibot.c main/network.c main/netmisc.c
60 endif
61
62 if USE_EDITOR
63 d2x_SOURCES += main/bmread.c main/dumpmine.c \
64 main/editor/autosave.c  main/editor/centers.c   main/editor/curves.c    main/editor/eglobal.c   \
65 main/editor/ehostage.c  main/editor/elight.c    main/editor/eobject.c   main/editor/eswitch.c   \
66 main/editor/fixseg.c    main/editor/func.c      main/editor/group.c     main/editor/info.c      \
67 main/editor/kbuild.c    main/editor/kcurve.c    main/editor/kfuncs.c    main/editor/kgame.c     \
68 main/editor/kgroup.c    main/editor/khelp.c     main/editor/kmine.c     main/editor/ksegmove.c  \
69 main/editor/ksegsel.c   main/editor/ksegsize.c  main/editor/ktmap.c     main/editor/kview.c     \
70 main/editor/macro.c     main/editor/med.c       main/editor/meddraw.c   main/editor/medmisc.c   \
71 main/editor/medrobot.c  main/editor/medsel.c    main/editor/medwall.c   main/editor/mine.c      \
72 main/editor/objpage.c   main/editor/segment.c   main/editor/seguvs.c    main/editor/texpage.c   \
73 main/editor/texture.c \
74 ui/barbox.c    ui/button.c    ui/checkbox.c  ui/file.c      ui/gadget.c    ui/icon.c      \
75 ui/inputbox.c  ui/keypad.c    ui/keypress.c  ui/keytrap.c   ui/listbox.c   ui/menu.c      \
76 ui/menubar.c   ui/message.c   ui/mouse.c     ui/number.c    ui/popup.c     ui/radio.c     \
77 ui/scroll.c    ui/ui.c        ui/uidraw.c    ui/userbox.c   ui/window.c
78 endif
79
80 if USE_LIBPNG
81 d2x_SOURCES += misc/pngfile.c
82 endif
83
84
85 # Platform-specific things
86
87 if MSDOS
88 d2x_CPPFLAGS += -I$(top_srcdir)/arch/dos/include
89 d2x_SOURCES += arch/dos/digi.c arch/dos/dpmi.c arch/dos/findfile.c arch/dos/gr.c arch/dos/init.c arch/dos/ipx.c arch/dos/joyc.c arch/dos/joydefs.c arch/dos/key.c arch/dos/mouse.c arch/dos/rbaudio.c arch/dos/vesa.c
90 d2x_LDADD += arch/dos/timer.o arch/dos/modex.o
91 endif
92
93
94 # Remaining targets are based on d2x_*
95
96 d2x_ggi_CPPFLAGS = $(d2x_CPPFLAGS) -DGGI
97 d2x_ggi_SOURCES = $(d2x_SOURCES) arch/ggi/event.c arch/ggi/gr.c arch/ggi/init.c arch/ggi/key.c arch/ggi/mouse.c
98 d2x_ggi_LDFLAGS = $(d2x_LDFLAGS)
99 d2x_ggi_LDADD = $(d2x_LDADD) -lggi -lgii
100
101
102 d2x_svga_CPPFLAGS = $(d2x_CPPFLAGS) -DSVGA
103 d2x_svga_SOURCES = $(d2x_SOURCES) arch/svgalib/event.c arch/svgalib/gr.c arch/svgalib/key.c arch/svgalib/mouse.c arch/svgalib/init.c
104 d2x_svga_LDFLAGS = $(d2x_LDFLAGS)
105 d2x_svga_LDADD = $(d2x_LDADD) -lvga -lvgagl
106
107
108 d2x_sdl_CPPFLAGS = $(d2x_CPPFLAGS) $(SDL_CFLAGS)
109 _d2x_sdl_SOURCES = $(d2x_SOURCES) arch/sdl/event.c arch/sdl/key.c arch/sdl/mouse.c
110 d2x_sdl_SOURCES = $(_d2x_sdl_SOURCES) arch/sdl/gr.c texmap/tmapflat.c
111 d2x_sdl_LDFLAGS = $(d2x_LDFLAGS)
112 d2x_sdl_LDADD = $(d2x_LDADD) $(SDL_LIBS) $(SDLIMAGE_LIBS)
113
114 if MINGW32
115 d2x_sdl_CPPFLAGS += -I$(top_srcdir)/arch/win32/include
116 _d2x_sdl_SOURCES += arch/win32/hmpfile.c arch/win32/midi.c arch/win32/mingw_init.c
117 d2x_sdl_LDADD += -lwinmm
118
119 if USE_NETWORK
120 _d2x_sdl_SOURCES += arch/win32/ipx_mcast4.c arch/win32/ipx_win.c arch/win32/ipx_udp.c arch/win32/winnet.c
121 d2x_sdl_LDADD += -lwsock32
122 endif
123
124 else # !MINGW32
125
126 d2x_sdl_CPPFLAGS += -I$(top_srcdir)/arch/linux/include
127 _d2x_sdl_SOURCES += arch/linux/init.c
128 d2x_sdl_LDADD += -lm
129
130 if USE_LINUX_JOY
131 _d2x_sdl_SOURCES += arch/linux/joystick.c arch/linux/joydefs.c
132 else
133 _d2x_sdl_SOURCES += arch/sdl/joy.c arch/sdl/joydefs.c
134 endif
135
136 if USE_NETWORK
137 _d2x_sdl_SOURCES += arch/linux/ipx_mcast4.c arch/linux/ipx_udp.c arch/linux/linuxnet.c
138
139 if USE_NATIVE_IPX
140 _d2x_sdl_SOURCES += arch/linux/ipx_bsd.c
141 endif
142
143 if USE_KALINIX
144 _d2x_sdl_SOURCES += arch/linux/ipx_kali.c arch/linux/ukali.c
145 endif
146
147 endif # USE_NETWORK
148
149 endif # !MINGW32
150
151 if MACOSX
152 #d2x_sdl_LDFLAGS += -all_load
153 endif
154
155
156 # GL target is based on d2x_sdl_*, other than renderer
157
158 d2x_gl_CPPFLAGS = $(d2x_sdl_CPPFLAGS) -DOGL
159 d2x_gl_SOURCES = $(_d2x_sdl_SOURCES) arch/ogl/gr.c arch/ogl/ogl.c arch/ogl/sdlgl.c
160 d2x_gl_LDFLAGS = $(d2x_sdl_LDFLAGS)
161 d2x_gl_LDADD = $(d2x_sdl_LDADD)
162
163 if MACOSX
164 d2x_gl_LDFLAGS += -framework OpenGL
165 endif
166
167 if MINGW32
168 d2x_gl_LDADD += "-lopengl32 -lglu32"
169 else
170 if !MACOSX
171 d2x_gl_LDADD += -lGL -lGLU
172 endif
173 endif
174
175
176 # Other programs
177
178 mveplayer_SOURCES = libmve/decoder16.c libmve/decoder8.c libmve/mve_audio.c libmve/mve_main.c libmve/mvelib.c libmve/mveplay.c
179 mveplayer_MANS = libmve/mveplayer.1
180 mveplayer_CFLAGS = -I$(top_srcdir)/include $(SDL_CFLAGS)
181 mveplayer_LDADD = $(SDL_LIBS)
182
183 hogcreate_SOURCES = utilities/hogcreate.c
184 hogcreate_MANS = utilities/hogcreate.1
185
186 hogextract_SOURCES = utilities/hogextract.c
187 hogextract_MANS = utilities/hogextract.1
188
189 mvlcreate_SOURCES = utilities/mvlcreate.c
190 mvlcreate_MANS = utilities/mvlcreate.1
191
192 mvlextract_SOURCES = utilities/mvlextract.c
193 mvlextract_MANS = utilities/mvlextract.1
194
195 txb2tex_SOURCES = utilities/txb2tex.c
196 txb2tex_MANS = utilities/txb2tex.1
197
198 tex2txb_SOURCES = utilities/tex2txb.c
199 tex2txb_MANS = utilities/tex2txb.1
200
201
202 pkgdatadir = @sharepath@
203 missiondir = ${pkgdatadir}/missions
204
205 CLEANFILES = Info.plist