diff --git a/Makefile.am b/Makefile.am index f5078807b..42aca0c9f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,8 +3,10 @@ AUTOMAKE_OPTIONS= foreign ACLOCAL_AMFLAGS = -I m4 -SUBDIRS=desktop pkg-config include libs hw nq qtv qw tools ruamoko -DIST_SUBDIRS=$(SUBDIRS) RPM debian doc vc2005 vc2008 +SUBDIRS=desktop pkg-config include @top_dirs@ +DIST_SUBDIRS=desktop pkg-config include \ + libs hw nq qtv qw tools ruamoko\ + RPM debian doc vc2005 vc2008 ## configure.ac needs to be listed here for older autoconfs EXTRA_DIST= ChangeLog configure.ac bootstrap \ diff --git a/config.d/build_control.m4 b/config.d/build_control.m4 index 760adb3e8..558ded93e 100644 --- a/config.d/build_control.m4 +++ b/config.d/build_control.m4 @@ -27,8 +27,6 @@ QW_DESKTOP_DATA="" NQ_DESKTOP_DATA="" CD_TARGETS="" -SND_PLUGIN_TARGETS="snd_output_disk.la" -SND_REND_TARGETS="" SND_TARGETS="" VID_MODEL_TARGETS="" VID_REND_TARGETS="" @@ -263,23 +261,27 @@ if test "x$ENABLE_servers_nq" = xyes; then SV_TARGETS="$SV_TARGETS nq" QF_NEED(nq, [common server]) QF_NEED(console, [server]) + QF_NEED(top, [nq]) fi if test "x$ENABLE_servers_qtv" = xyes; then QTV_TARGETS="qtv\$(EXEEXT) $QTV_TARGETS" SV_TARGETS="$SV_TARGETS qtv" # QF_NEED(qtv, [common server]) QF_NEED(console, [server]) + QF_NEED(top, [qtv]) fi if test "x$ENABLE_servers_master" = xyes; then HW_TARGETS="hw-master\$(EXEEXT) $HW_TARGETS" QW_TARGETS="qw-master\$(EXEEXT) $QW_TARGETS" SV_TARGETS="$SV_TARGETS master" + QF_NEED(top, [hw qw]) fi if test "x$ENABLE_servers_qw" = xyes; then QW_TARGETS="qw-server\$(EXEEXT) $QW_TARGETS" SV_TARGETS="$SV_TARGETS qw" QF_NEED(qw, [common server]) QF_NEED(console, [server]) + QF_NEED(top, [qw]) fi if test "x$ENABLE_tools_bsp2img" = xyes; then @@ -319,9 +321,16 @@ if test "x$ENABLE_tools_wav" = xyes; then QF_NEED(tools,[wav]) fi -QF_PROCESS_NEED_DIRS(tools,[bsp2img carne pak qfbsp qfcc qflight qflmp qfmodelgen qfvis qwaq wad wav]) +QF_NEED(top, [libs hw nq qtv qw]) -AM_CONDITIONAL(BUILD_RUAMOKO, test "$ENABLE_tools_qfcc" = "yes" -a "$ENABLE_tools_pak" = "yes") +QF_PROCESS_NEED_DIRS(tools,[bsp2img carne pak qfbsp qfcc qflight qflmp qfmodelgen qfvis qwaq wad wav]) +QF_PROCESS_NEED_FUNC(tools,[bsp2img carne pak qfbsp qfcc qflight qflmp qfmodelgen qfvis qwaq wad wav], QF_NEED(top,tools)) + +if test "$ENABLE_tools_qfcc" = "yes" -a "$ENABLE_tools_pak" = "yes"; then + QF_NEED(top, [ruamoko]) +fi + +QF_PROCESS_NEED_DIRS(top, [libs hw nq qtv qw tools ruamoko]) QF_PROCESS_NEED_LIBS(swrend, [asm]) QF_PROCESS_NEED_LIBS(QFrenderer, [gl glsl sw sw32]) @@ -343,21 +352,14 @@ if test -n "$CL_TARGETS"; then JOY_TARGETS="libQFjs.la" else unset CDTYPE - CD_PLUGIN_TARGETS="" + unset SOUND_TYPES CD_TARGETS="" JOY_TARGETS="" - SND_PLUGIN_TARGETS="" - SND_REND_TARGETS="" SND_TARGETS="" AUDIO_TARGETS="" - unset SOUND_TYPES fi AC_DEFINE_UNQUOTED(SND_OUTPUT_DEFAULT, "$SND_OUTPUT_DEFAULT", [Define this to the default sound output driver.]) -CD_PLUGIN_STATIC="" -SND_PLUGIN_STATIC="" -SND_REND_STATIC="" - if test "x$enable_shared" = xno; then PREFER_PIC= PREFER_NON_PIC= @@ -406,8 +408,6 @@ fi dnl Do not use -module here, it belongs in makefile.am due to automake dnl needing it there to work correctly -AC_DEFINE_UNQUOTED(CD_PLUGIN_LIST, $CD_PLUGIN_LIST, [list of cd plugins]) -AC_DEFINE_UNQUOTED(CD_PLUGIN_PROTOS, $CD_PLUGIN_PROTOS, [list of cd prototypes]) AC_SUBST(HW_TARGETS) AC_SUBST(NQ_TARGETS) diff --git a/m4/quakeforge.m4 b/m4/quakeforge.m4 index e871e3a9d..fcb7b8616 100644 --- a/m4/quakeforge.m4 +++ b/m4/quakeforge.m4 @@ -136,6 +136,13 @@ QF_STATIC_PLUGIN_LIBS(m4_default($4,$1),[$1],[$2],[$3]) QF_STATIC_PLUGIN_PROTOS(m4_default($4,$1),[$1],[$2]) QF_STATIC_PLUGIN_LIST(m4_default($4,$1),[$1],[$2])]) +AC_DEFUN([QF_PROCESS_NEED_FUNC], +[m4_foreach_w([qfn_need], [$2], +[if test x"${$1[_need_]qfn_need}" = xyes; then + $3 +fi +])]) + AC_DEFUN([QF_WITH_TARGETS], [ AC_ARG_WITH($1, [$2] diff --git a/ruamoko/cl_menu/Makefile.am b/ruamoko/cl_menu/Makefile.am index 0a84ec944..b7463679f 100644 --- a/ruamoko/cl_menu/Makefile.am +++ b/ruamoko/cl_menu/Makefile.am @@ -19,11 +19,7 @@ STRIP=`echo -n $(srcdir)/ | sed -e 's/[^/]//g' | wc -c` menu_data=menu.dat$(GZ) menu.sym$(GZ) menu.plist -if BUILD_RUAMOKO data=$(menu_data) -else -data= -endif pkgdata_DATA= $(data) EXTRA_DATA= $(menu_data) diff --git a/ruamoko/game/Makefile.am b/ruamoko/game/Makefile.am index 1f3fece7b..c4060c1f5 100644 --- a/ruamoko/game/Makefile.am +++ b/ruamoko/game/Makefile.am @@ -19,11 +19,7 @@ endif # so we have to bite the bullet and pass this to the shell every time. STRIP=`echo -n $(srcdir)/ | sed -e 's/[^/]//g' | wc -c` -if BUILD_RUAMOKO data=game.dat$(GZ) -else -data= -endif noinst_DATA= $(data) EXTRA_DATA= game.dat diff --git a/ruamoko/gui/Makefile.am b/ruamoko/gui/Makefile.am index 3848270e1..c8fb007bd 100644 --- a/ruamoko/gui/Makefile.am +++ b/ruamoko/gui/Makefile.am @@ -11,11 +11,7 @@ RANLIB=touch INCLUDES= -I$(top_srcdir)/ruamoko/include -I$(top_srcdir)/include gui_libs=libgui.a -if BUILD_RUAMOKO libs=$(gui_libs) -else -libs= -endif pkglib_LIBRARIES= $(libs) EXTRA_LIBRARIES= $(gui_libs) diff --git a/ruamoko/lib/Makefile.am b/ruamoko/lib/Makefile.am index b3d70bf0a..0d5533bdd 100644 --- a/ruamoko/lib/Makefile.am +++ b/ruamoko/lib/Makefile.am @@ -14,11 +14,7 @@ noinst_HEADERS= \ Array+Private.h ruamoko_libs=libr.a libqw.a libnq.a libcsqc.a -if BUILD_RUAMOKO libs=$(ruamoko_libs) -else -libs= -endif pkglib_LIBRARIES= $(libs) EXTRA_LIBRARIES= $(ruamoko_libs) diff --git a/ruamoko/scheme/Makefile.am b/ruamoko/scheme/Makefile.am index 258c741e5..3e1eee859 100644 --- a/ruamoko/scheme/Makefile.am +++ b/ruamoko/scheme/Makefile.am @@ -22,12 +22,8 @@ RANLIB=touch INCLUDES= -I$(top_srcdir)/ruamoko/include -I$(top_srcdir)/include scheme_libs=libscheme.a -if BUILD_RUAMOKO libs=$(scheme_libs) data=$(scheme_data) -else -libs= -endif pkglib_LIBRARIES= $(libs) EXTRA_LIBRARIES= $(scheme_libs)