]> icculus.org git repositories - btb/d2x.git/blob - Makefile.am
merge winnet and linuxnet
[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
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/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 if USE_EDITOR
61 d2x_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 endif
77
78 if USE_LIBPNG
79 d2x_SOURCES += misc/pngfile.c
80 endif
81
82
83 # Platform-specific things
84
85 if MSDOS
86 d2x_CPPFLAGS += -I$(top_srcdir)/arch/dos/include
87 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
88 d2x_LDADD += arch/dos/timer.o arch/dos/modex.o
89 endif
90
91
92 # Remaining targets are based on d2x_*
93
94 d2x_svga_CPPFLAGS = $(d2x_CPPFLAGS) -DSVGA
95 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
96 d2x_svga_LDFLAGS = $(d2x_LDFLAGS)
97 d2x_svga_LDADD = $(d2x_LDADD) -lvga -lvgagl
98
99
100 d2x_sdl_CPPFLAGS = $(d2x_CPPFLAGS) $(SDL_CFLAGS) $(SDLMIXER_CFLAGS) -I$(top_srcdir)/arch/linux/include
101 _d2x_sdl_SOURCES = $(d2x_SOURCES) arch/sdl/event.c arch/sdl/key.c arch/sdl/mouse.c
102 d2x_sdl_SOURCES = $(_d2x_sdl_SOURCES) arch/sdl/vid.c texmap/tmapflat.c
103 d2x_sdl_LDFLAGS = $(d2x_LDFLAGS)
104 d2x_sdl_LDADD = $(d2x_LDADD) $(SDL_LIBS) $(SDLIMAGE_LIBS) $(SDLMIXER_LIBS)
105
106 if USE_NETWORK
107 _d2x_sdl_SOURCES += arch/linux/ipx_mcast4.c arch/linux/ipx_udp.c arch/linux/linuxnet.c
108 endif
109
110 if MINGW32
111 _d2x_sdl_SOURCES += arch/win32/mingw_init.c
112 _d2x_sdl_SOURCES += arch/sdl/joy.c arch/sdl/joydefs.c
113 d2x_sdl_LDADD += -lwinmm
114
115 if USE_NETWORK
116 _d2x_sdl_SOURCES += arch/win32/ipx_win.c
117 d2x_sdl_LDADD += -lwsock32
118 endif
119
120 else # !MINGW32
121
122 _d2x_sdl_SOURCES += arch/linux/init.c
123 d2x_sdl_LDADD += -lm
124
125 if USE_LINUX_JOY
126 _d2x_sdl_SOURCES += arch/linux/joystick.c arch/linux/joydefs.c
127 else
128 _d2x_sdl_SOURCES += arch/sdl/joy.c arch/sdl/joydefs.c
129 endif
130
131 if USE_NETWORK
132
133 if USE_NATIVE_IPX
134 _d2x_sdl_SOURCES += arch/linux/ipx_bsd.c
135 endif
136
137 if USE_KALINIX
138 _d2x_sdl_SOURCES += arch/linux/ipx_kali.c arch/linux/ukali.c
139 endif
140
141 endif # USE_NETWORK
142
143 endif # !MINGW32
144
145 if MACOSX
146 #d2x_sdl_LDFLAGS += -all_load
147 endif
148
149
150 # GL target is based on d2x_sdl_*, other than renderer
151
152 d2x_gl_CPPFLAGS = $(d2x_sdl_CPPFLAGS) -DOGL
153 d2x_gl_SOURCES = $(_d2x_sdl_SOURCES) arch/ogl/vid.c arch/ogl/ogl.c arch/ogl/sdlgl.c
154 d2x_gl_LDFLAGS = $(d2x_sdl_LDFLAGS)
155 d2x_gl_LDADD = $(d2x_sdl_LDADD)
156
157 if MACOSX
158 d2x_gl_LDFLAGS += -framework OpenGL
159 endif
160
161 if MINGW32
162 d2x_gl_LDADD += -lopengl32 -lglu32
163 else
164 if !MACOSX
165 d2x_gl_LDADD += -lGL -lGLU
166 endif
167 endif
168
169
170 # Other programs
171
172 mveplayer_SOURCES = libmve/decoder16.c libmve/decoder8.c libmve/mve_audio.c libmve/mve_main.c libmve/mvelib.c libmve/mveplay.c
173 mveplayer_MANS = libmve/mveplayer.1
174 mveplayer_CFLAGS = -I$(top_srcdir)/include $(SDL_CFLAGS) $(SDLMIXER_CFLAGS)
175 mveplayer_LDADD = $(SDL_LIBS) $(SDLMIXER_LIBS)
176
177 hogcreate_SOURCES = utilities/hogcreate.c
178 hogcreate_MANS = utilities/hogcreate.1
179
180 hogextract_SOURCES = utilities/hogextract.c
181 hogextract_MANS = utilities/hogextract.1
182
183 mvlcreate_SOURCES = utilities/mvlcreate.c
184 mvlcreate_MANS = utilities/mvlcreate.1
185
186 mvlextract_SOURCES = utilities/mvlextract.c
187 mvlextract_MANS = utilities/mvlextract.1
188
189 txb2tex_SOURCES = utilities/txb2tex.c
190 txb2tex_MANS = utilities/txb2tex.1
191
192 tex2txb_SOURCES = utilities/tex2txb.c
193 tex2txb_MANS = utilities/tex2txb.1
194
195
196 pkgdatadir = @sharepath@
197 missiondir = ${pkgdatadir}/missions
198
199 CLEANFILES = Info.plist