## Process this file with automake to produce Makefile.in # # Makefile.am # # Automake-using build system for QuakeForge # # Copyright (C) 2000 Jeff Teunissen # # This Makefile is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # # See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to: # # Free Software Foundation, Inc. # 59 Temple Place - Suite 330 # Boston, MA 02111-1307, USA # # $Id$ # AUTOMAKE_OPTIONS= foreign # Stuff that is common to both client and server INCLUDES= -I$(top_srcdir)/include -I$(top_srcdir)/qw/include SDL_LIBS = @SDL_LIBS@ bin_PROGRAMS= @QW_TARGETS@ EXTRA_PROGRAMS= qw-client-fbdev qw-client-glx qw-client-mgl qw-client-sdl \ qw-client-sdl32 qw-client-sgl qw-client-svga qw-client-3dfx \ qw-client-wgl qw-client-x11 qw-server qw-master if ASM_ARCH asm= libasm.a else asm= endif noinst_LIBRARIES= @qw_libs@ $(asm) EXTRA_LIBRARIES=libasm.a libclient.a libcommon.a libnet.a libsdl.a libserver.a libasm_a_SOURCES= worlda.S libcommon_a_SOURCES= com.c game.c msg_ucmd.c pmove.c pmovetst.c net_packetlog.c libsdl_a_SOURCES=cl_sys_sdl.c libsdl_a_CFLAGS=$(SDL_CFLAGS) common_ldflags= -export-dynamic # ... Network type ipv6_src= net_udp6.c ipv4_src= net_udp.c if NETTYPE_IPV6 ipvX_src= $(ipv6_src) else ipvX_src= $(ipv4_src) endif libnet_a_SOURCES= net_chan.c $(ipvX_src) EXTRA_libnet_a_SOURCES= $(ipv4_src) $(ipv6_src) # Server builds # # ... System type if SYSTYPE_WIN32 syssv_SRC= sv_sys_win.c else syssv_SRC= sv_sys_unix.c endif libserver_a_SOURCES= \ crudefile.c sv_ccmds.c sv_demo.c sv_ents.c sv_init.c sv_main.c \ sv_move.c sv_nchan.c sv_phys.c sv_pr_cmds.c sv_progs.c sv_send.c \ sv_user.c world.c $(syssv_SRC) qf_server_LIBS= \ $(SERVER_PLUGIN_STATIC_LIBS) \ $(top_builddir)/libs/gamecode/builtins/libQFcsqc.la \ $(top_builddir)/libs/models/libQFmodels.la \ $(top_builddir)/libs/gamecode/builtins/libQFgamecode_builtins.la \ $(top_builddir)/libs/gamecode/engine/libQFgamecode.la \ $(top_builddir)/libs/console/libQFconsole.la \ $(top_builddir)/libs/util/libQFutil.la qw_server_SOURCES= sv_model.c qw_server_LDADD= libserver.a libcommon.a libnet.a libasm.a $(qf_server_LIBS) $(NET_LIBS) $(DL_LIBS) $(CURSES_LIBS) qw_server_LDFLAGS= $(common_ldflags) qw_server_DEPENDENCIES= libcommon.a libserver.a libnet.a libasm.a $(qf_server_LIBS) qw_master_SOURCES= master.c qw_master_LDADD= $(top_builddir)/libs/util/libQFutil.la $(NET_LIBS) qw_master_LDFLAGS= $(common_ldflags) -static cl_plugin_LIBS= \ $(CLIENT_PLUGIN_STATIC_LIBS) \ $(top_builddir)/libs/gamecode/builtins/libQFcsqc.la qf_client_LIBS= \ $(top_builddir)/libs/console/libQFconsole.la \ $(top_builddir)/libs/video/targets/libQFjs.la \ $(top_builddir)/libs/gamecode/builtins/libQFgamecode_builtins.la \ $(top_builddir)/libs/gamecode/engine/libQFgamecode.la \ $(top_builddir)/libs/audio/libQFcd.la \ $(top_builddir)/libs/audio/libQFsound.la \ $(top_builddir)/libs/util/libQFutil.la client_LIBS= libnet.a libasm.a $(qf_client_LIBS) client_libs= libclient.a libcommon.a libclient_a_SOURCES= \ cl_cam.c cl_cmd.c cl_cvar.c cl_demo.c cl_ents.c cl_input.c \ cl_main.c cl_ngraph.c cl_parse.c cl_pred.c \ cl_screen.c cl_skin.c cl_slist.c cl_tent.c cl_view.c \ locs.c sbar.c skin.c teamplay.c # Software-rendering clients # We need libQFrenderer_sw to always be static -- there's assembler in there soft_LIBS= $(top_builddir)/libs/video/renderer/libQFrenderer_sw.la \ $(top_builddir)/libs/models/libQFmodels_sw.la # ... Linux FBDev qw_client_fbdev_libs= \ $(client_libs) \ $(cl_plugin_LIBS) \ $(soft_LIBS) \ $(top_builddir)/libs/video/targets/libQFfbdev.la \ $(client_LIBS) qw_client_fbdev_SOURCES= cl_sys_unix.c qw_client_fbdev_LDADD= $(qw_client_fbdev_libs) $(NET_LIBS) qw_client_fbdev_LDFLAGS= $(common_ldflags) qw_client_fbdev_DEPENDENCIES= $(qw_client_fbdev_libs) # ... SciTech MGL qw_client_mgl_libs= \ $(client_libs) \ $(cl_plugin_LIBS) \ $(soft_LIBS) \ $(top_builddir)/libs/video/targets/libQFmgl.la \ $(client_LIBS) qw_client_mgl_SOURCES= cl_sys_win.c qw_client_mgl_LDADD= $(qw_client_mgl_libs) $(MGL_LIBS) $(NET_LIBS) qw_client_mgl_LDFLAGS= $(common_ldflags) qw_client_mgl_DEPENDENCIES= $(qw_client_mgl_libs) # ... Simple DirectMedia Layer, version 1.2 and higher qw_client_sdl_libs= \ libsdl.a \ $(client_libs) \ $(cl_plugin_LIBS) \ $(soft_LIBS) \ $(top_builddir)/libs/video/targets/libQFsdl.la \ $(client_LIBS) qw_client_sdl_SOURCES=sdl_link.c qw_client_sdl_LDADD= libsdl.a $(qw_client_sdl_libs) $(SDL_LIBS) $(NET_LIBS) qw_client_sdl_LDFLAGS= $(common_ldflags) qw_client_sdl_DEPENDENCIES= libsdl.a $(qw_client_sdl_libs) # ... 32-bit software, SDL qw_client_sdl32_libs= \ libsdl.a \ $(client_libs) \ $(cl_plugin_LIBS) \ $(top_builddir)/libs/video/renderer/libQFrenderer_sw32.la \ $(top_builddir)/libs/models/libQFmodels_sw.la \ $(top_builddir)/libs/video/targets/libQFsdl32.la \ $(client_LIBS) qw_client_sdl32_SOURCES=sdl_link.c qw_client_sdl32_LDADD= libsdl.a $(qw_client_sdl32_libs) $(SDL_LIBS) $(NET_LIBS) qw_client_sdl32_LDFLAGS=$(common_ldflags) qw_client_sdl32_DEPENDENCIES= libsdl.a $(qw_client_sdl32_libs) # ... Linux SVGAlib qw_client_svga_libs= \ $(client_libs) \ $(cl_plugin_LIBS) \ $(soft_LIBS) \ $(top_builddir)/libs/video/targets/libQFsvga.la \ $(client_LIBS) qw_client_svga_SOURCES= cl_sys_unix.c qw_client_svga_LDADD= $(qw_client_svga_libs) $(SVGA_LIBS) $(NET_LIBS) qw_client_svga_LDFLAGS= $(common_ldflags) qw_client_svga_DEPENDENCIES= $(qw_client_svga_libs) # ... X11 qw_client_x11_libs= \ $(client_libs) \ $(cl_plugin_LIBS) \ $(soft_LIBS) \ $(top_builddir)/libs/video/targets/libQFx11.la \ $(client_LIBS) qw_client_x11_SOURCES= cl_sys_unix.c qw_client_x11_LDADD= $(qw_client_x11_libs) \ $(X_PRE_LIBS) $(VIDMODE_LIBS) $(DGA_LIBS) $(X_LIBS) -lX11 \ $(X_EXTRA_LIBS) $(X_SHM_LIB) $(NET_LIBS) qw_client_x11_LDFLAGS= $(common_ldflags) qw_client_x11_DEPENDENCIES= $(qw_client_x11_libs) # OpenGL-using clients opengl_LIBS= $(top_builddir)/libs/video/renderer/libQFrenderer_gl.la \ $(top_builddir)/libs/models/libQFmodels_gl.la # ... OpenGL in X Window qw_client_glx_libs= \ $(client_libs) \ $(cl_plugin_LIBS) \ $(opengl_LIBS) \ $(top_builddir)/libs/video/targets/libQFglx.la \ $(client_LIBS) qw_client_glx_SOURCES= cl_sys_unix.c qw_client_glx_LDADD= $(qw_client_glx_libs) \ $(X_PRE_LIBS) $(VIDMODE_LIBS) $(DGA_LIBS) $(X_LIBS) -lX11 \ -lXext $(X_EXTRA_LIBS) $(DL_LIBS) $(NET_LIBS) qw_client_glx_LDFLAGS= $(common_ldflags) qw_client_glx_DEPENDENCIES= $(qw_client_glx_libs) # ... Linux 3DFX qw_client_3dfx_libs= \ $(client_libs) \ $(cl_plugin_LIBS) \ $(opengl_LIBS) \ $(top_builddir)/libs/video/targets/libQFtdfx.la \ $(client_LIBS) qw_client_3dfx_SOURCES= cl_sys_unix.c qw_client_3dfx_LDADD= $(qw_client_3dfx_libs) \ $(SVGA_LIBS) $(NET_LIBS) qw_client_3dfx_LDFLAGS= $(common_ldflags) qw_client_3dfx_DEPENDENCIES= $(qw_client_3dfx_libs) # ... Simple DirectMedia Layer, version 1.2 and higher, in GL mode qw_client_sgl_libs= \ libsdl.a \ $(client_libs) \ $(cl_plugin_LIBS) \ $(opengl_LIBS) \ $(top_builddir)/libs/video/targets/libQFsgl.la \ $(client_LIBS) qw_client_sgl_SOURCES=sdl_link.c qw_client_sgl_LDADD= $(qw_client_sgl_libs) $(SDL_LIBS) $(DL_LIBS) $(NET_LIBS) qw_client_sgl_LDFLAGS= $(common_ldflags) qw_client_sgl_DEPENDENCIES= $(qw_client_sgl_libs) # ... SGI/Microsoft WGL (Windows OpenGL) qw_client_wgl_libs= \ $(client_libs) \ $(cl_plugin_LIBS) \ $(opengl_LIBS) \ $(top_builddir)/libs/video/targets/libQFwgl.la \ $(client_LIBS) qw_client_wgl_SOURCES= cl_sys_win.c qw_client_wgl_LDADD= $(qw_client_wgl_libs) -lgdi32 -lwinmm $(NET_LIBS) qw_client_wgl_LDFLAGS= $(common_ldflags) qw_client_wgl_DEPENDENCIES= $(qw_client_wgl_libs) # Stuff that doesn't get linked into an executable NEEDS to be mentioned here, # or it won't be distributed with 'make dist' # Kill the temp files, hopefully. CLEANFILES = *.i *.s $(YACCLEX_CLEANFILES)