]> icculus.org git repositories - btb/d2x.git/blob - Makefile.am
new physfs uses pkg-config
[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-svga miner miner-sdl miner-gl miner-svga
3
4 # Common to all d2x platforms/options
5
6 d2x_CPPFLAGS = -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/gr.c       2d/line.c     2d/pixel.c    2d/rle.c      \
11 2d/bitmap.c   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/midi.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/cli.c      \
18 main/cmd.c      main/cntrlcen.c main/collide.c  main/config.c   main/console.c  main/controls.c \
19 main/credits.c  main/cvar.c     main/digiobj.c  main/effects.c  main/endlevel.c main/entity.c   \
20 main/escort.c   main/fireball.c main/fuelcen.c  main/fvi.c      main/game.c     main/gamecntl.c \
21 main/gamefont.c main/gamemine.c main/gamepal.c  main/gamerend.c main/gamesave.c main/gameseg.c  \
22 main/gameseq.c  main/gauges.c   main/hostage.c  main/hud.c      main/inferno.c  main/kconfig.c  \
23 main/kludge.c   main/laser.c    main/lighting.c main/menu.c     main/mglobal.c  main/mission.c  \
24 main/morph.c    main/movie.c    main/newdemo.c  main/newmenu.c  main/object.c   main/paging.c   \
25 main/physics.c  main/piggy.c    main/player.c   main/polyobj.c  main/powerup.c  main/render.c   \
26 main/robot.c    main/scores.c   main/segment.c  main/slew.c     main/songs.c    main/state.c    \
27 main/switch.c   main/terrain.c  main/texmerge.c main/text.c     main/titles.c   main/vclip.c    \
28 main/wall.c     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/hmp.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) -Itexmap/ $< -o $@
47
48 if USE_ASM
49 d2x_SOURCES += texmap/tmappent.S texmap/tmapppro.S
50 d2x_LDADD += 2d/linear.o 2d/tmerge_a.o maths/vecmata.o maths/fix.o \
51 texmap/tmap_flt.o texmap/tmap_lin.o texmap/tmap_ll.o  texmap/tmap_per.o texmap/tmapfade.o
52 else
53 d2x_SOURCES += 2d/tmerge.c maths/fixc.c
54 endif
55
56 if USE_NETWORK
57 d2x_SOURCES += main/kmatrix.c main/multi.c main/multibot.c main/network.c main/netmisc.c
58 endif
59
60 _miner_CPPFLAGS = -DEDITOR
61 _miner_SOURCES = main/bmread.c main/dumpmine.c \
62 main/editor/autosave.c  main/editor/centers.c   main/editor/curves.c    main/editor/eglobal.c   \
63 main/editor/ehostage.c  main/editor/elight.c    main/editor/eobject.c   main/editor/eswitch.c   \
64 main/editor/fixseg.c    main/editor/func.c      main/editor/group.c     main/editor/info.c      \
65 main/editor/kbuild.c    main/editor/kcurve.c    main/editor/kfuncs.c    main/editor/kgame.c     \
66 main/editor/kgroup.c    main/editor/khelp.c     main/editor/kmine.c     main/editor/ksegmove.c  \
67 main/editor/ksegsel.c   main/editor/ksegsize.c  main/editor/ktmap.c     main/editor/kview.c     \
68 main/editor/macro.c     main/editor/med.c       main/editor/meddraw.c   main/editor/medmisc.c   \
69 main/editor/medrobot.c  main/editor/medsel.c    main/editor/medwall.c   main/editor/mine.c      \
70 main/editor/objpage.c   main/editor/segment.c   main/editor/seguvs.c    main/editor/texpage.c   \
71 main/editor/texture.c \
72 ui/barbox.c    ui/button.c    ui/checkbox.c  ui/file.c      ui/gadget.c    ui/icon.c      \
73 ui/inputbox.c  ui/keypad.c    ui/keypress.c  ui/keytrap.c   ui/listbox.c   ui/menu.c      \
74 ui/menubar.c   ui/message.c   ui/mouse.c     ui/number.c    ui/popup.c     ui/radio.c     \
75 ui/scroll.c    ui/ui.c        ui/uidraw.c    ui/userbox.c   ui/window.c
76
77 if USE_LIBPNG
78 d2x_SOURCES += misc/pngfile.c
79 endif
80
81
82 # Platform-specific things
83
84 if MSDOS
85 d2x_CPPFLAGS += -I$(top_srcdir)/arch/dos/include
86 d2x_SOURCES += arch/dos/digi.c arch/dos/dpmi.c arch/dos/findfile.c arch/dos/vid.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
87 d2x_LDADD += arch/dos/timer.o arch/dos/modex.o
88 endif
89
90 miner_CPPFLAGS = $(d2x_CPPFLAGS) $(_miner_CPPFLAGS)
91 miner_SOURCES = $(d2x_SOURCES) $(_miner_SOURCES)
92 miner_LDFLAGS = $(d2x_LDFLAGS)
93 miner_LDADD = $(d2x_LDADD)
94
95
96 # Remaining targets are based on d2x_*
97
98 d2x_svga_CPPFLAGS = $(d2x_CPPFLAGS) -DSVGALIB_INPUT
99 d2x_svga_SOURCES = $(d2x_SOURCES) arch/svgalib/event.c arch/svgalib/vid.c arch/svgalib/key.c arch/svgalib/mouse.c arch/svgalib/init.c
100 d2x_svga_LDFLAGS = $(d2x_LDFLAGS)
101 d2x_svga_LDADD = $(d2x_LDADD) -lvga -lvgagl
102
103 miner_svga_CPPFLAGS = $(d2x_svga_CPPFLAGS) $(_miner_CPPFLAGS)
104 miner_svga_SOURCES = $(d2x_svga_SOURCES) $(_miner_SOURCES)
105 miner_svga_LDFLAGS = $(d2x_svga_LDFLAGS)
106 miner_svga_LDADD = $(d2x_svga_LDADD)
107
108
109 _d2x_sdl_CPPFLAGS = $(d2x_CPPFLAGS) $(SDL_CFLAGS) $(SDLMIXER_CFLAGS) -I$(top_srcdir)/arch/linux/include -DSDL_INPUT
110 _d2x_sdl_SOURCES = $(d2x_SOURCES) arch/sdl/event.c arch/sdl/key.c arch/sdl/mouse.c
111
112 d2x_sdl_CPPFLAGS = $(_d2x_sdl_CPPFLAGS) -DSDL_VIDEO
113 d2x_sdl_SOURCES = $(_d2x_sdl_SOURCES) arch/sdl/vid.c texmap/tmapflat.c
114 d2x_sdl_LDFLAGS = $(d2x_LDFLAGS)
115 d2x_sdl_LDADD = $(d2x_LDADD) $(SDL_LIBS) $(SDLIMAGE_LIBS) $(SDLMIXER_LIBS)
116
117 if USE_LINUX_JOY
118 _d2x_sdl_SOURCES += arch/linux/joystick.c arch/linux/joydefs.c
119 else
120 _d2x_sdl_SOURCES += arch/sdl/joy.c arch/sdl/joydefs.c
121 endif
122
123 if USE_NETWORK
124 _d2x_sdl_SOURCES += arch/linux/ipx_mcast4.c arch/linux/ipx_udp.c arch/linux/linuxnet.c
125 endif
126
127 if MINGW32
128 _d2x_sdl_SOURCES += arch/win32/mingw_init.c
129 d2x_sdl_LDADD += -lwinmm
130
131 if USE_NETWORK
132 _d2x_sdl_SOURCES += arch/win32/ipx_win.c
133 d2x_sdl_LDADD += -lwsock32
134 endif
135
136 else # !MINGW32
137
138 _d2x_sdl_SOURCES += arch/linux/init.c
139 d2x_sdl_LDADD += -lm
140
141 if USE_NETWORK
142
143 if USE_NATIVE_IPX
144 _d2x_sdl_SOURCES += arch/linux/ipx_bsd.c
145 endif
146
147 if USE_KALINIX
148 _d2x_sdl_SOURCES += arch/linux/ipx_kali.c arch/linux/ukali.c
149 endif
150
151 endif # USE_NETWORK
152
153 endif # !MINGW32
154
155 if MACOSX
156 #d2x_sdl_LDFLAGS += -all_load
157 endif
158
159 miner_sdl_CPPFLAGS = $(d2x_sdl_CPPFLAGS) $(_miner_CPPFLAGS)
160 miner_sdl_SOURCES = $(d2x_sdl_SOURCES) $(_miner_SOURCES)
161 miner_sdl_LDFLAGS = $(d2x_sdl_LDFLAGS)
162 miner_sdl_LDADD = $(d2x_sdl_LDADD)
163
164
165 # GL target is based on d2x_sdl_*, other than renderer
166
167 d2x_gl_CPPFLAGS = $(d2x_sdl_CPPFLAGS) -DOGL -DSDL_GL_VIDEO
168 d2x_gl_SOURCES = $(_d2x_sdl_SOURCES) arch/ogl/vid.c arch/ogl/ogl.c arch/ogl/sdlgl.c
169 d2x_gl_LDFLAGS = $(d2x_sdl_LDFLAGS)
170 d2x_gl_LDADD = $(d2x_sdl_LDADD)
171
172 if MACOSX
173 d2x_gl_LDFLAGS += -framework OpenGL
174 endif
175
176 if MINGW32
177 d2x_gl_LDADD += -lopengl32 -lglu32
178 else
179 if !MACOSX
180 d2x_gl_LDADD += -lGL -lGLU
181 endif
182 endif
183
184 miner_gl_CPPFLAGS = $(d2x_gl_CPPFLAGS) $(_miner_CPPFLAGS)
185 miner_gl_SOURCES = $(d2x_gl_SOURCES) $(_miner_SOURCES)
186 miner_gl_LDFLAGS = $(d2x_gl_LDFLAGS)
187 miner_gl_LDADD = $(d2x_gl_LDADD)
188
189
190 # Other programs
191
192 mveplayer_SOURCES = libmve/decoder16.c libmve/decoder8.c libmve/mve_audio.c libmve/mve_main.c libmve/mvelib.c libmve/mveplay.c
193 mveplayer_MANS = libmve/mveplayer.1
194 mveplayer_CFLAGS = -I$(top_srcdir)/include $(SDL_CFLAGS) $(SDLMIXER_CFLAGS)
195 mveplayer_LDADD = $(SDL_LIBS) $(SDLMIXER_LIBS)
196
197 hogcreate_SOURCES = utilities/hogcreate.c
198 hogcreate_MANS = utilities/hogcreate.1
199
200 hogextract_SOURCES = utilities/hogextract.c
201 hogextract_MANS = utilities/hogextract.1
202
203 mvlcreate_SOURCES = utilities/mvlcreate.c
204 mvlcreate_MANS = utilities/mvlcreate.1
205
206 mvlextract_SOURCES = utilities/mvlextract.c
207 mvlextract_MANS = utilities/mvlextract.1
208
209 txb2tex_SOURCES = utilities/txb2tex.c
210 txb2tex_MANS = utilities/txb2tex.1
211
212 tex2txb_SOURCES = utilities/tex2txb.c
213 tex2txb_MANS = utilities/tex2txb.1
214
215
216 pkgdatadir = @sharepath@
217 missiondir = ${pkgdatadir}/missions
218
219 CLEANFILES = Info.plist