use PhysicsFS for saving levels
[btb/d2x.git] / Makefile.am
index fc7eeac..b00b9f2 100644 (file)
@@ -1,61 +1,67 @@
-SUBDIRS = 2d 3d maths mem cfile iff texmap misc video sound arch main
+DIST_SUBDIRS = 2d 3d arch console iff libmve main maths mem misc texmap utilities
 
-EXTRA_SUBDIRS = includes tools unused
+SUBDIRS = ${DIST_SUBDIRS} @D2X_SUBDIRS@
+
+EXTRA_SUBDIRS = ui include unused debian rpm VisualC VisualCE English.lproj d2x.xcode
 
 bin_PROGRAMS = @TARGETS@
 
-EXTRA_PROGRAMS = d2x d2x-sdl d2x-ogl d2x-svga d2x-ggi
+EXTRA_PROGRAMS = d2x d2x-sdl d2x-gl d2x-svga d2x-ggi
 
-CCLD = ${CC}
-LDFLAGS = -export-dynamic
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+ARCH_LIBS = $(foreach subdir,${D2X_ARCH_SUBDIRS},arch/${subdir}/libarch_${subdir}.a)
 
-if ENV_DJGPP
-ARCH_LIBS = arch/dos/libarch_dos.a
-else
 if MINGW32
-ARCH_LIBS = arch/win32/libarch_win32.a arch/sdl/libarch_sdl.a
 LD_KLUDGE = main/inferno.o
-else
-ARCH_LIBS = arch/linux/libarch_linux.a arch/sdl/libarch_sdl.a
 endif
+
+if MACOSX
+AM_LDFLAGS = -all_load
+endif
+
+if EDITOR
+EDITOR_LIBS = main/editor/libeditor.a ui/libui.a
+endif
+
+if CONSOLE
+CONSOLE_LIBS = console/libconsole.a
 endif
 
 d2x_SOURCES =
 d2x_sdl_SOURCES =
-d2x_ogl_SOURCES =
+d2x_gl_SOURCES =
 d2x_svga_SOURCES =
 d2x_ggi_SOURCES =
 
-d2x_LDADD = ${LD_KLUDGE} main/libmain.a 3d/lib3d.a 2d/lib2d.a ${ARCH_LIBS} mem/libmem.a cfile/libcfile.a iff/libiff.a texmap/libtexmap.a misc/libmisc.a maths/libmaths.a video/libvideo.a sound/libsound.a input/libinput.a
+d2x_LDADD = ${LD_KLUDGE} main/libmain.a ${EDITOR_LIBS} 3d/lib3d.a 2d/lib2d.a ${ARCH_LIBS} libmve/libmve.a mem/libmem.a iff/libiff.a texmap/libtexmap.a misc/libmisc.a maths/libmaths.a ${CONSOLE_LIBS}
 
 if MINGW32
 if USE_NETWORK
-d2x_sdl_LDADD = ${d2x_LDADD} ${SDL_LIBS} -lwsock32
+d2x_sdl_LDADD = ${d2x_LDADD} -lwinmm -lwsock32
 else
-d2x_sdl_LDADD = ${d2x_LDADD} ${SDL_LIBS}
+d2x_sdl_LDADD = ${d2x_LDADD} -lwinmm
 endif
 else
-d2x_sdl_LDADD = ${d2x_LDADD} -lm -ldl -lpthread ${SDL_LIBS}
+d2x_sdl_LDADD = ${d2x_LDADD} -lm
 endif
-d2x_ogl_LDADD = ${d2x_sdl_LDADD} ${OGL_LIBS}
+d2x_gl_LDADD = ${d2x_sdl_LDADD} ${OGL_LIBS}
 d2x_svga_LDADD = ${d2x_sdl_LDADD} ${SVGA_LIBS}
 d2x_ggi_LDADD = ${d2x_sdl_LDADD} ${GGI_LIBS}
 
 dist-hook:
        rm -rf `find $(distdir) -name CVS`
 #      rm -f `find $(distdir) -name Makefile`
-       $(MAKE) changelog
-       cp -a $(srcdir)/ChangeLog $(distdir)
 
-changelog::
-       rm -f $(srcdir)/ChangeLog
-       touch $(srcdir)/ChangeLog
-       cd $(srcdir) && tools/cvs2cl/cvs2cl.pl -b --utc
-       rm -f $(srcdir)/ChangeLog.bak
+pkgdatadir = @sharepath@
+missiondir = ${pkgdatadir}/missions
+
+CLEANFILES = @TARGETS@ Info.plist
 
 EXTRA_DIST = ${EXTRA_SUBDIRS} \
-ChangeLog \
+ChangeLog ChangeLog-old \
+D2X.make \
+MVEPlayer-Info.plist d2x-Info.plist d2xgl-Info.plist \
+README.utils \
 djgpp.bat djgpp.sh \
-autogen.sh cygconf \
-cvshowto.txt readme.txt license.txt thinking.txt installation.txt mingw32.txt
+autogen.sh \
+cvshowto.txt readme.txt installation.txt compilerdefs.txt \
+d2x-sdl.sh d2x-gl.sh