pandr's autoconf cleanup. Now uses common/cd_wrapper.c to replace some of

the things autoconf was doing before but really shouldn't have been.
This commit is contained in:
Joseph Carter 1999-12-31 02:10:33 +00:00
parent 68058bef7c
commit 69168b6695
6 changed files with 82 additions and 163 deletions

View file

@ -11,6 +11,7 @@ Autoconf support:
Bill Currie <bill@taniwha.org> Bill Currie <bill@taniwha.org>
Cesar Eduardo Barros <cesarb@web4u.com.br> Cesar Eduardo Barros <cesarb@web4u.com.br>
Marcus Sundber <mackan@stacken.kth.se> Marcus Sundber <mackan@stacken.kth.se>
Peter Andreasen <pandr@pandr.dk>
Sound cleanups: Sound cleanups:
Ryan C. Gordon <ryan_gordon@hotmail.com> Ryan C. Gordon <ryan_gordon@hotmail.com>

25
common/cd_wrapper.c Normal file
View file

@ -0,0 +1,25 @@
/*
Copyright (C) 1996-1997 Id Software, Inc.
This program 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 the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#if defined(__linux__)
#include "cd_linux.c"
#else
#include "cd_null.c"
#endif

View file

@ -270,26 +270,6 @@ changequote([,])dnl
esac esac
AC_SUBST(INTEL_ARCH) AC_SUBST(INTEL_ARCH)
##########################################################
#
# CD audio available?
#
AC_MSG_CHECKING(for CD audio support)
case "${target}" in
changequote(,)dnl
i[34567]86-*-linux-gnu*)
changequote([,])dnl
CD_AUDIO_SRC="cd_linux.c" ;;
*)
CD_AUDIO_SRC="cd_null.c" ;;
esac
if test "x$CD_AUDIO_SRC" = xcd_null.c; then
AC_MSG_RESULT(no)
else
AC_MSG_RESULT(yes ($CD_AUDIO_SRC))
fi
AC_SUBST(CD_AUDIO_SRC)
########################################################## ##########################################################
# #
# Sound available? # Sound available?
@ -299,21 +279,19 @@ case "${target}" in
changequote(,)dnl changequote(,)dnl
i[34567]86-*-linux-gnu*) i[34567]86-*-linux-gnu*)
changequote([,])dnl changequote([,])dnl
SND_SRC="snd_dma.c snd_linux.c snd_mixa.s" ;; SND_STYLE="Linux" ;;
*-solaris*) *-solaris*)
SND_SRC="snd_dma.c snd_sun.c" ;; SND_STYLE="Solaris" ;;
*-sgi*)
SND_SRC="snd_null.c" ;;
*) *)
SND_SRC="snd_null.c" ;; SND_STYLE="Null" ;;
# XXX - need to add dos, Windows # XXX - need to add dos, Windows
esac esac
if test "x$SND_SRC" = xsnd_null.c; then if test "x$SND_STYLE" = xNull; then
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
else else
AC_MSG_RESULT(yes ($SND_SRC)) AC_MSG_RESULT(yes ($SND_STYLE style))
fi fi
AC_SUBST(SND_SRC) AC_SUBST(SND_STYLE)
########################################################## ##########################################################
# #

View file

@ -3,10 +3,13 @@
# Quake general stuff # Quake general stuff
# #
PROJECT_DIR = @top_srcdir@
SRC_DIR = @srcdir@
QW_COMMON_DIR= $(PROJECT_DIR)/qw_common
COMMON_DIR=$(PROJECT_DIR)/common COMMON_DIR=$(PROJECT_DIR)/common
ifeq ($(BUILD_DIR),) BIN_PREFIX = qw-client
BUILD_DIR = .
endif BUILD_DIR = $(PROJECT_DIR)/targets/qw_client
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBS = @LIBS@ LIBS = @LIBS@
@ -35,10 +38,6 @@ MAKE_SURE_bin_DIR = @DIR=bin; \
$(MAKE_SURE_DIR) $(MAKE_SURE_DIR)
PROJECT_DIR = @top_srcdir@
SRC_DIR = @srcdir@
QW_COMMON_DIR= $(PROJECT_DIR)/qw_common
BIN_PREFIX = qw-client
######################################################################## ########################################################################
# #
@ -104,9 +103,21 @@ endif
# #
# System specific source files # System specific source files
# #
CD_AUDIO_SRC = @CD_AUDIO_SRC@ CD_AUDIO_SRC = cd_wrapper.c
MACH_SND_SRC = @SND_SRC@ # sound
SND_STYLE = @SND_STYLE@
SND_SRC = snd_null.c
ifeq ($(SND_STYLE),Linux)
SND_SRC = snd_dma.c snd_linux.c snd_mixa.s
endif
ifeq ($(SND_STYLE),Solaris)
SND_SRC = snd_dma.c snd_sun.c
endif
SND_SRC += snd_mem.c snd_mix.c
X11_VID_SRC = @X11_VID_SRC@ X11_VID_SRC = @X11_VID_SRC@
QW_X11_VID_SRC = vid_x.c QW_X11_VID_SRC = vid_x.c
@ -127,7 +138,6 @@ UQ_NET_SRC = net_dgrm.c net_loop.c net_main.c net_vcr.c $(NET_SRC)
# Common source files # Common source files
# #
MISC_SRC = common.c crc.c cvar.c cmd.c mathlib.c wad.c zone.c MISC_SRC = common.c crc.c cvar.c cmd.c mathlib.c wad.c zone.c
SND_SRC = snd_mem.c snd_mix.c $(MACH_SND_SRC)
# #
# Rendering source files # Rendering source files

View file

@ -3,10 +3,12 @@
# Quake general stuff # Quake general stuff
# #
PROJECT_DIR = @top_srcdir@
SRC_DIR = @srcdir@
COMMON_DIR=$(PROJECT_DIR)/common COMMON_DIR=$(PROJECT_DIR)/common
ifeq ($(BUILD_DIR),) QW_COMMON_DIR= $(PROJECT_DIR)/qw_common
BUILD_DIR = . BUILD_DIR = $(PROJECT_DIR)/targets/qw_server
endif
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBS = @LIBS@ LIBS = @LIBS@
@ -17,13 +19,6 @@ ifneq ($(SRC_DIR),.)
SRC_DIR_INC = -I$(SRC_DIR) SRC_DIR_INC = -I$(SRC_DIR)
endif endif
HAS_VGA = @HAS_VGA@
HAS_GLIDE = @HAS_GLIDE@
HAS_TDFXGL = @HAS_TDFXGL@
HAS_OGL = @HAS_OGL@
HAS_XIL = @HAS_XIL@
HAS_X11 = @HAS_X11@
MAKE_SURE_DIR = if test -d "$(BUILD_DIR)/$$DIR"; \ MAKE_SURE_DIR = if test -d "$(BUILD_DIR)/$$DIR"; \
then \ then \
true; \ true; \
@ -36,81 +31,23 @@ MAKE_SURE_bin_DIR = @DIR=bin; \
PROJECT_DIR = @top_srcdir@
SRC_DIR = @srcdir@
QW_COMMON_DIR= $(PROJECT_DIR)/qw_common
######################################################################## ########################################################################
# #
# Source files # Source files
# #
# **** Note - two apps may appear to share source, but they may just share
# source file *names*
ifeq ($(INTEL_ARCH),yes)
# Source file the Intel archictecture only
UQ_GENERAL_SRC = worlda.s
UQ_SWREND_SRC_PLAT = dosasm.s
CL_ADDITIONAL_GENERAL_SRC = sys_dosa.s math.s
SWREND_SRC_PLAT = d_copy.s d_draw.s d_draw16.s d_parta.s d_polysa.s d_scana.s \
d_spr8.s d_varsa.s r_aclipa.s r_aliasa.s \
r_drawa.s r_edgea.s r_varsa.s surf16.s surf8.s
else
# Source files for non-Intel platforms
SWREND_SRC_PLAT = nonintel.c
endif
# #
# System specific source files # System specific source files
# #
CD_AUDIO_SRC = @CD_AUDIO_SRC@
MACH_SND_SRC = @SND_SRC@
X11_VID_SRC = @X11_VID_SRC@
QW_X11_VID_SRC = vid_x.c
SYS_SRC = @SYS_SRC@
QW_CL_SYS_SRC = @QW_CL_SYS_SRC@
QW_SRV_SYS_SRC = @QW_SRV_SYS_SRC@ QW_SRV_SYS_SRC = @QW_SRV_SYS_SRC@
# #
# Networking source files # Networking source files
# #
# XXX - Should not assume UNIX # XXX - Should not assume UNIX
NET_SRC = net_bsd.c net_udp.c
QW_NET_SRC = net_udp.c md4.c QW_NET_SRC = net_udp.c md4.c
UQ_NET_SRC = net_dgrm.c net_loop.c net_main.c net_vcr.c $(NET_SRC)
#
# Common source files
#
MISC_SRC = common.c crc.c cvar.c cmd.c mathlib.c wad.c zone.c
SND_SRC = snd_mem.c snd_mix.c $(MACH_SND_SRC)
#
# Rendering source files
#
# OpenGL
GL_REND_SRC = gl_screen.c gl_model.c gl_draw.c gl_mesh.c gl_refrag.c \
gl_rlight.c gl_rmain.c gl_rmisc.c gl_rsurf.c gl_test.c gl_warp.c
QW_GL_REND_SRC = gl_ngraph.c
# Software source
SW_REND_SRC = screen.c $(SWREND_SRC_PLAT) draw.c \
d_edge.c d_fill.c d_init.c d_modech.c d_part.c d_polyse.c d_scan.c \
d_sky.c d_sprite.c d_surf.c d_vars.c d_zpoint.c r_aclip.c r_alias.c \
r_bsp.c r_draw.c r_edge.c r_efrag.c r_light.c r_main.c r_misc.c \
r_sky.c r_sprite.c r_surf.c r_vars.c
#
# Client source files
#
CL_SRC = cl_demo.c cl_input.c cl_main.c cl_parse.c cl_tent.c
QW_CL_SRC = cl_cam.c cl_ents.c cl_pred.c
CL_GUI_SRC= console.c sbar.c view.c keys.c menu.c
# #
# Server source files # Server source files
@ -120,16 +57,11 @@ SRV_SRC = sv_main.c sv_user.c sv_move.c sv_phys.c
# Server-related source used just by QW server # Server-related source used just by QW server
QW_SRV_SRC = sv_ccmds.c sv_ents.c sv_init.c sv_send.c sv_nchan.c world.c QW_SRV_SRC = sv_ccmds.c sv_ents.c sv_init.c sv_send.c sv_nchan.c world.c
# Server-related source used just by UQ # Server-related source used just by UQ
UQ_SRV_SRC = host.c host_cmd.c $(SRV_SRC)
SRV_PR_SRC = pr_cmds.c pr_edict.c pr_exec.c SRV_PR_SRC = pr_cmds.c pr_edict.c pr_exec.c
QW_GENERAL_SRC = pmove.c pmovetst.c QW_GENERAL_SRC = pmove.c pmovetst.c
# Source common to both UQ and QW-client
CL_COMMON_SRC = $(MISC_SRC) $(CL_GUI_SRC) $(CL_SRC) \
$(CL_ADDITIONAL_GENERAL_SRC) $(SND_SRC) $(CD_AUDIO_SRC) r_part.c
######################################################################## ########################################################################
# #
@ -144,9 +76,8 @@ targets = $(SRVQUAKE)
GENERAL_SRC = common.c crc.c cvar.c cmd.c mathlib.c wad.c zone.c \ GENERAL_SRC = common.c crc.c cvar.c cmd.c mathlib.c wad.c zone.c \
$(QW_NET_SRC) net_chan.c $(SRV_SRC) $(QW_SRV_SRC) \ $(QW_NET_SRC) net_chan.c $(SRV_SRC) $(QW_SRV_SRC) \
$(SRV_PR_SRC) $(QW_SRV_SYS_SRC) $(ADDITIONAL_GENERAL_SRC) \ $(SRV_PR_SRC) $(QW_SRV_SYS_SRC) $(QW_GENERAL_SRC)
$(QW_GENERAL_SRC) ALL_QW_SRV_SRC = $(GENERAL_SRC) model.c
ALL_QW_SRV_SRC = $(GENERAL_SRC) $(SRV_VID_SRC) model.c
# XXX - add dos/win specifc source # XXX - add dos/win specifc source
x: Makefile x: Makefile

View file

@ -3,10 +3,12 @@
# Quake general stuff # Quake general stuff
# #
PROJECT_DIR = @top_srcdir@
SRC_DIR = @srcdir@
BIN_PREFIX = quake
COMMON_DIR=$(PROJECT_DIR)/common COMMON_DIR=$(PROJECT_DIR)/common
ifeq ($(BUILD_DIR),) BUILD_DIR = $(PROJECT_DIR)/targets/uquake
BUILD_DIR = .
endif
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBS = @LIBS@ LIBS = @LIBS@
@ -35,11 +37,6 @@ MAKE_SURE_bin_DIR = @DIR=bin; \
$(MAKE_SURE_DIR) $(MAKE_SURE_DIR)
PROJECT_DIR = @top_srcdir@
SRC_DIR = @srcdir@
UQ_DIR = $(SRC_DIR)
BIN_PREFIX = quake
######################################################################## ########################################################################
# #
# Client targets # Client targets
@ -84,9 +81,6 @@ all: $(targets)
# Source files # Source files
# #
# **** Note - two apps may appear to share source, but they may just share
# source file *names*
ifeq ($(INTEL_ARCH),yes) ifeq ($(INTEL_ARCH),yes)
# Source file the Intel archictecture only # Source file the Intel archictecture only
UQ_GENERAL_SRC = worlda.s UQ_GENERAL_SRC = worlda.s
@ -103,30 +97,40 @@ endif
# #
# System specific source files # System specific source files
# #
CD_AUDIO_SRC = @CD_AUDIO_SRC@
MACH_SND_SRC = @SND_SRC@ CD_AUDIO_SRC = cd_wrapper.c
# sound
SND_STYLE = @SND_STYLE@
SND_SRC = snd_null.c
ifeq ($(SND_STYLE),Linux)
SND_SRC = snd_dma.c snd_linux.c snd_mixa.s
endif
ifeq ($(SND_STYLE),Solaris)
SND_SRC = snd_dma.c snd_sun.c
endif
SND_SRC += snd_mem.c snd_mix.c
# x11 vid
X11_VID_SRC = @X11_VID_SRC@ X11_VID_SRC = @X11_VID_SRC@
QW_X11_VID_SRC = vid_x.c
SYS_SRC = @SYS_SRC@ SYS_SRC = @SYS_SRC@
QW_CL_SYS_SRC = @QW_CL_SYS_SRC@
QW_SRV_SYS_SRC = @QW_SRV_SYS_SRC@
# #
# Networking source files # Networking source files
# #
# XXX - Should not assume UNIX # XXX - Should not assume UNIX
NET_SRC = net_bsd.c net_udp.c NET_SRC = net_bsd.c net_udp.c
QW_NET_SRC = net_udp.c md4.c
UQ_NET_SRC = net_dgrm.c net_loop.c net_main.c net_vcr.c $(NET_SRC) UQ_NET_SRC = net_dgrm.c net_loop.c net_main.c net_vcr.c $(NET_SRC)
# #
# Common source files # Common source files
# #
MISC_SRC = common.c crc.c cvar.c cmd.c mathlib.c wad.c zone.c MISC_SRC = common.c crc.c cvar.c cmd.c mathlib.c wad.c zone.c
SND_SRC = snd_mem.c snd_mix.c $(MACH_SND_SRC)
# #
# Rendering source files # Rendering source files
@ -135,7 +139,6 @@ SND_SRC = snd_mem.c snd_mix.c $(MACH_SND_SRC)
# OpenGL # OpenGL
GL_REND_SRC = gl_screen.c gl_model.c gl_draw.c gl_mesh.c gl_refrag.c \ GL_REND_SRC = gl_screen.c gl_model.c gl_draw.c gl_mesh.c gl_refrag.c \
gl_rlight.c gl_rmain.c gl_rmisc.c gl_rsurf.c gl_test.c gl_warp.c gl_rlight.c gl_rmain.c gl_rmisc.c gl_rsurf.c gl_test.c gl_warp.c
QW_GL_REND_SRC = gl_ngraph.c
# Software source # Software source
SW_REND_SRC = screen.c $(SWREND_SRC_PLAT) draw.c \ SW_REND_SRC = screen.c $(SWREND_SRC_PLAT) draw.c \
@ -148,7 +151,6 @@ SW_REND_SRC = screen.c $(SWREND_SRC_PLAT) draw.c \
# Client source files # Client source files
# #
CL_SRC = cl_demo.c cl_input.c cl_main.c cl_parse.c cl_tent.c CL_SRC = cl_demo.c cl_input.c cl_main.c cl_parse.c cl_tent.c
QW_CL_SRC = cl_cam.c cl_ents.c cl_pred.c
CL_GUI_SRC= console.c sbar.c view.c keys.c menu.c CL_GUI_SRC= console.c sbar.c view.c keys.c menu.c
# #
@ -156,15 +158,11 @@ CL_GUI_SRC= console.c sbar.c view.c keys.c menu.c
# #
# Server-related source used by all # Server-related source used by all
SRV_SRC = sv_main.c sv_user.c sv_move.c sv_phys.c SRV_SRC = sv_main.c sv_user.c sv_move.c sv_phys.c
# Server-related source used just by QW server
QW_SRV_SRC = sv_ccmds.c sv_ents.c sv_init.c sv_send.c sv_nchan.c world.c
# Server-related source used just by UQ # Server-related source used just by UQ
UQ_SRV_SRC = host.c host_cmd.c $(SRV_SRC) UQ_SRV_SRC = host.c host_cmd.c $(SRV_SRC)
SRV_PR_SRC = pr_cmds.c pr_edict.c pr_exec.c SRV_PR_SRC = pr_cmds.c pr_edict.c pr_exec.c
QW_GENERAL_SRC = pmove.c pmovetst.c
# Source common to both UQ and QW-client # Source common to both UQ and QW-client
CL_COMMON_SRC = $(MISC_SRC) $(CL_GUI_SRC) $(CL_SRC) \ CL_COMMON_SRC = $(MISC_SRC) $(CL_GUI_SRC) $(CL_SRC) \
$(CL_ADDITIONAL_GENERAL_SRC) $(SND_SRC) $(CD_AUDIO_SRC) r_part.c $(CL_ADDITIONAL_GENERAL_SRC) $(SND_SRC) $(CD_AUDIO_SRC) r_part.c
@ -175,7 +173,7 @@ CL_COMMON_SRC = $(MISC_SRC) $(CL_GUI_SRC) $(CL_SRC) \
# Directory specific stuff # Directory specific stuff
# #
DEFS = @DEFS@ DEFS = @DEFS@
CFLAGS = $(OPTFLAGS) $(DEFS) -I. $(SRC_DIR_INC) -I$(COMMON_DIR) -I$(UQ_DIR)/include CFLAGS = $(OPTFLAGS) $(DEFS) -I. $(SRC_DIR_INC) -I$(COMMON_DIR) -I$(SRC_DIR)/include
ALL_X11_SRC = $(GENERAL_SRC) $(SW_REND_SRC) $(X11_VID_SRC) model.c ALL_X11_SRC = $(GENERAL_SRC) $(SW_REND_SRC) $(X11_VID_SRC) model.c
ALL_GL_SRC = $(GENERAL_SRC) $(GL_REND_SRC) $(GL_VID_SRC) ALL_GL_SRC = $(GENERAL_SRC) $(GL_REND_SRC) $(GL_VID_SRC)
ALL_TDFX_SRC = $(GENERAL_SRC) $(GL_REND_SRC) $(TDFX_VID_SRC) ALL_TDFX_SRC = $(GENERAL_SRC) $(GL_REND_SRC) $(TDFX_VID_SRC)
@ -221,12 +219,6 @@ $(BUILD_DIR)/x11/%.o: $(COMMON_DIR)/%.c
$(MAKE_SURE_x11_DIR) $(MAKE_SURE_x11_DIR)
$(CC) $(CFLAGS) $(X11_CFLAGS) -o $@ -c $< $(CC) $(CFLAGS) $(X11_CFLAGS) -o $@ -c $<
ifneq ($(QW_COMMON_DIR),)
$(BUILD_DIR)/x11/%.o: $(QW_COMMON_DIR)/%.c
$(MAKE_SURE_x11_DIR)
$(CC) $(CFLAGS) $(X11_CFLAGS) -o $@ -c $<
endif
$(BUILD_DIR)/x11/%.o: $(COMMON_DIR)/%.s $(BUILD_DIR)/x11/%.o: $(COMMON_DIR)/%.s
$(MAKE_SURE_x11_DIR) $(MAKE_SURE_x11_DIR)
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $< $(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
@ -275,12 +267,6 @@ $(BUILD_DIR)/svga/%.o: $(COMMON_DIR)/%.c
$(MAKE_SURE_svga_DIR) $(MAKE_SURE_svga_DIR)
$(CC) $(CFLAGS) $(SVGA_CFLAGS) -o $@ -c $< $(CC) $(CFLAGS) $(SVGA_CFLAGS) -o $@ -c $<
ifneq ($(QW_COMMON_DIR),)
$(BUILD_DIR)/svga/%.o: $(QW_COMMON_DIR)/%.c
$(MAKE_SURE_svga_DIR)
$(CC) $(CFLAGS) $(SVGA_CFLAGS) -o $@ -c $<
endif
$(BUILD_DIR)/svga/%.o: $(COMMON_DIR)/%.s $(BUILD_DIR)/svga/%.o: $(COMMON_DIR)/%.s
$(MAKE_SURE_svga_DIR) $(MAKE_SURE_svga_DIR)
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $< $(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
@ -325,12 +311,6 @@ $(BUILD_DIR)/gl/%.o: $(COMMON_DIR)/%.c
$(MAKE_SURE_gl_DIR) $(MAKE_SURE_gl_DIR)
$(CC) $(CFLAGS) $(GL_CFLAGS) -o $@ -c $< $(CC) $(CFLAGS) $(GL_CFLAGS) -o $@ -c $<
ifneq ($(QW_COMMON_DIR),)
$(BUILD_DIR)/gl/%.o: $(QW_COMMON_DIR)/%.c
$(MAKE_SURE_gl_DIR)
$(CC) $(CFLAGS) $(GL_CFLAGS) -o $@ -c $<
endif
$(BUILD_DIR)/gl/%.o: $(COMMON_DIR)/%.s $(BUILD_DIR)/gl/%.o: $(COMMON_DIR)/%.s
$(MAKE_SURE_gl_DIR) $(MAKE_SURE_gl_DIR)
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $< $(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
@ -375,12 +355,6 @@ $(BUILD_DIR)/3dfx/%.o: $(COMMON_DIR)/%.c
$(MAKE_SURE_3dfx_DIR) $(MAKE_SURE_3dfx_DIR)
$(CC) $(CFLAGS) $(TDFX_CFLAGS) -o $@ -c $< $(CC) $(CFLAGS) $(TDFX_CFLAGS) -o $@ -c $<
ifneq ($(QW_COMMON_DIR),)
$(BUILD_DIR)/3dfx/%.o: $(QW_COMMON_DIR)/%.c
$(MAKE_SURE_3dfx_DIR)
$(CC) $(CFLAGS) $(TDFX_CFLAGS) -o $@ -c $<
endif
$(BUILD_DIR)/3dfx/%.o: $(COMMON_DIR)/%.s $(BUILD_DIR)/3dfx/%.o: $(COMMON_DIR)/%.s
$(MAKE_SURE_gl_DIR) $(MAKE_SURE_gl_DIR)
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $< $(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<