]> icculus.org git repositories - btb/d2x.git/blob - Makefile.am
Merge branch 'master' into cmd-queue
[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/cvar.c     main/digiobj.c  main/effects.c  main/endlevel.c main/escort.c   \
20 main/fireball.c main/fuelcen.c  main/fvi.c      main/game.c     main/gamecntl.c main/gamefont.c \
21 main/gamemine.c main/gamepal.c  main/gamerend.c main/gamesave.c main/gameseg.c  main/gameseq.c  \
22 main/gauges.c   main/hostage.c  main/hud.c      main/inferno.c  main/kconfig.c  main/kludge.c   \
23 main/laser.c    main/lighting.c main/menu.c     main/mglobal.c  main/mission.c  main/morph.c    \
24 main/movie.c    main/newdemo.c  main/newmenu.c  main/object.c   main/paging.c   main/physics.c  \
25 main/piggy.c    main/player.c   main/playsave.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/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_NETWORK
55 d2x_SOURCES += main/kmatrix.c main/multi.c main/multibot.c main/network.c main/netmisc.c
56 endif
57
58 if USE_EDITOR
59 d2x_SOURCES += main/bmread.c main/dumpmine.c \
60 main/editor/autosave.c  main/editor/centers.c   main/editor/curves.c    main/editor/eglobal.c   \
61 main/editor/ehostage.c  main/editor/elight.c    main/editor/eobject.c   main/editor/eswitch.c   \
62 main/editor/fixseg.c    main/editor/func.c      main/editor/group.c     main/editor/info.c      \
63 main/editor/kbuild.c    main/editor/kcurve.c    main/editor/kfuncs.c    main/editor/kgame.c     \
64 main/editor/kgroup.c    main/editor/khelp.c     main/editor/kmine.c     main/editor/ksegmove.c  \
65 main/editor/ksegsel.c   main/editor/ksegsize.c  main/editor/ktmap.c     main/editor/kview.c     \
66 main/editor/macro.c     main/editor/med.c       main/editor/meddraw.c   main/editor/medmisc.c   \
67 main/editor/medrobot.c  main/editor/medsel.c    main/editor/medwall.c   main/editor/mine.c      \
68 main/editor/objpage.c   main/editor/segment.c   main/editor/seguvs.c    main/editor/texpage.c   \
69 main/editor/texture.c \
70 ui/barbox.c    ui/button.c    ui/checkbox.c  ui/file.c      ui/gadget.c    ui/icon.c      \
71 ui/inputbox.c  ui/keypad.c    ui/keypress.c  ui/keytrap.c   ui/listbox.c   ui/menu.c      \
72 ui/menubar.c   ui/message.c   ui/mouse.c     ui/number.c    ui/popup.c     ui/radio.c     \
73 ui/scroll.c    ui/ui.c        ui/uidraw.c    ui/userbox.c   ui/window.c
74 endif
75
76 if USE_LIBPNG
77 d2x_SOURCES += misc/pngfile.c
78 endif
79
80
81 # Platform-specific things
82
83 if MSDOS
84 d2x_CPPFLAGS += -I$(top_srcdir)/arch/dos/include
85 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
86 d2x_LDADD += arch/dos/timer.o arch/dos/modex.o
87 endif
88
89
90 # Remaining targets are based on d2x_*
91
92 d2x_ggi_CPPFLAGS = $(d2x_CPPFLAGS) -DGGI
93 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
94 d2x_ggi_LDFLAGS = $(d2x_LDFLAGS)
95 d2x_ggi_LDADD = $(d2x_LDADD) -lggi -lgii
96
97
98 d2x_svga_CPPFLAGS = $(d2x_CPPFLAGS) -DSVGA
99 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
100 d2x_svga_LDFLAGS = $(d2x_LDFLAGS)
101 d2x_svga_LDADD = $(d2x_LDADD) -lvga -lvgagl
102
103
104 d2x_sdl_CPPFLAGS = $(d2x_CPPFLAGS) $(SDL_CFLAGS)
105 _d2x_sdl_SOURCES = $(d2x_SOURCES) arch/sdl/event.c arch/sdl/key.c arch/sdl/mouse.c
106 d2x_sdl_SOURCES = $(_d2x_sdl_SOURCES) arch/sdl/gr.c texmap/tmapflat.c
107 d2x_sdl_LDFLAGS = $(d2x_LDFLAGS)
108 d2x_sdl_LDADD = $(d2x_LDADD) $(SDL_LIBS) $(SDLIMAGE_LIBS)
109
110 if MINGW32
111 d2x_sdl_CPPFLAGS += -I$(top_srcdir)/arch/win32/include
112 _d2x_sdl_SOURCES += arch/win32/hmpfile.c arch/win32/midi.c arch/win32/mingw_init.c
113 d2x_sdl_LDADD += -lwinmm
114
115 if USE_NETWORK
116 _d2x_sdl_SOURCES += arch/win32/ipx_mcast4.c arch/win32/ipx_win.c arch/win32/ipx_udp.c arch/win32/winnet.c
117 d2x_sdl_LDADD += -lwsock32
118 endif
119
120 else # !MINGW32
121
122 d2x_sdl_CPPFLAGS += -I$(top_srcdir)/arch/linux/include
123 _d2x_sdl_SOURCES += arch/linux/init.c
124 d2x_sdl_LDADD += -lm
125
126 if USE_LINUX_JOY
127 _d2x_sdl_SOURCES += arch/linux/joystick.c arch/linux/joydefs.c
128 else
129 _d2x_sdl_SOURCES += arch/sdl/joy.c arch/sdl/joydefs.c
130 endif
131
132 if USE_NETWORK
133 _d2x_sdl_SOURCES += arch/linux/ipx_mcast4.c arch/linux/ipx_udp.c arch/linux/linuxnet.c
134
135 if USE_NATIVE_IPX
136 _d2x_sdl_SOURCES += arch/linux/ipx_bsd.c
137 endif
138
139 if USE_KALINIX
140 _d2x_sdl_SOURCES += arch/linux/ipx_kali.c arch/linux/ukali.c
141 endif
142
143 endif # USE_NETWORK
144
145 endif # !MINGW32
146
147 if MACOSX
148 #d2x_sdl_LDFLAGS += -all_load
149 endif
150
151
152 # GL target is based on d2x_sdl_*, other than renderer
153
154 d2x_gl_CPPFLAGS = $(d2x_sdl_CPPFLAGS) -DOGL
155 d2x_gl_SOURCES = $(_d2x_sdl_SOURCES) arch/ogl/gr.c arch/ogl/ogl.c arch/ogl/sdlgl.c
156 d2x_gl_LDFLAGS = $(d2x_sdl_LDFLAGS)
157 d2x_gl_LDADD = $(d2x_sdl_LDADD)
158
159 if MACOSX
160 d2x_gl_LDFLAGS += -framework OpenGL
161 endif
162
163 if MINGW32
164 d2x_gl_LDADD += "-lopengl32 -lglu32"
165 else
166 if !MACOSX
167 d2x_gl_LDADD += -lGL -lGLU
168 endif
169 endif
170
171
172 # Other programs
173
174 mveplayer_SOURCES = libmve/decoder16.c libmve/decoder8.c libmve/mve_audio.c libmve/mve_main.c libmve/mvelib.c libmve/mveplay.c
175 mveplayer_MANS = libmve/mveplayer.1
176 mveplayer_CFLAGS = -I$(top_srcdir)/include $(SDL_CFLAGS)
177 mveplayer_LDADD = $(SDL_LIBS)
178
179 hogcreate_SOURCES = utilities/hogcreate.c
180 hogcreate_MANS = utilities/hogcreate.1
181
182 hogextract_SOURCES = utilities/hogextract.c
183 hogextract_MANS = utilities/hogextract.1
184
185 mvlcreate_SOURCES = utilities/mvlcreate.c
186 mvlcreate_MANS = utilities/mvlcreate.1
187
188 mvlextract_SOURCES = utilities/mvlextract.c
189 mvlextract_MANS = utilities/mvlextract.1
190
191 txb2tex_SOURCES = utilities/txb2tex.c
192 txb2tex_MANS = utilities/txb2tex.1
193
194 tex2txb_SOURCES = utilities/tex2txb.c
195 tex2txb_MANS = utilities/tex2txb.1
196
197
198 pkgdatadir = @sharepath@
199 missiondir = ${pkgdatadir}/missions
200
201 CLEANFILES = Info.plist