[BACK]Return to GNUmakefile CVS log [TXT][DIR] Up to [Development] / projects / ogl-sample / main / glx / server

File: [Development] / projects / ogl-sample / main / glx / server / GNUmakefile (download)

Revision 1.1, Wed Jan 26 10:31:12 2000 UTC (17 years, 9 months ago) by ljp
Branch: MAIN

Initial revision

#!gmake
#
# License Applicability. Except to the extent portions of this file are
# made subject to an alternative license as permitted in the SGI Free
# Software License B, Version 1.0 (the "License"), the contents of this
# file are subject only to the provisions of the License. You may not use
# this file except in compliance with the License. You may obtain a copy
# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
#
# http://oss.sgi.com/projects/FreeB
#
# Note that, as provided in the License, the Software is distributed on an
# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
#
# Original Code. The Original Code is: OpenGL Sample Implementation,
# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
# Copyright in any portions created by third parties is as indicated
# elsewhere herein. All Rights Reserved.
#
# Additional Notice Provisions: The application programming interfaces
# established by SGI in conjunction with the Original Code are The
# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
# Window System(R) (Version 1.3), released October 19, 1998. This software
# was created using the OpenGL(R) version 1.2.1 Sample Implementation
# published by SGI, but has not been independently verified as being
# compliant with the OpenGL(R) version 1.2.1 Specification.
#
# $Date$ $Revision$
# $Header: //depot/main/glx/server/GNUmakefile#13 $

COMMONPREF = standard
include $(ROOT)/usr/include/make/commondefs

GEN_HFILES =		   \
	g_disptab.h	   \
	g_disptab_EXT.h    \
	$(NULL)

GEN_CFILES =		   \
	g_disptab.c	   \
	g_disptab_EXT.c    \
	g_render.c	   \
	g_renderswap.c	   \
	g_single.c	   \
	g_singleswap.c	   \
	$(NULL)

CFILES =		   \
	global.c	   \
	glxbuf.c	   \
	glxcmds.c	   \
	glxcmdsswap.c	   \
	glxext.c	   \
	glxfb.c		   \
	glximports.c	   \
	glxmem.c	   \
	glxmodule.c	   \
	glxpix.c	   \
	glxscreens.c	   \
	glxutil.c	   \
	render2.c	   \
	render2swap.c	   \
	renderpix.c	   \
	renderpixswap.c    \
	rensize.c	   \
	rensizetab.c	   \
	single2.c	   \
	single2swap.c	   \
	singlepix.c	   \
	singlepixswap.c    \
	singlesize.c	   \
	xfont.c		   \
	$(GEN_CFILES)	   \
	$(NULL)

AUTOGEN_TXT = "/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */"

LIBNAME = libdixGL.a

# This must be set to match the extension defines in your X server tree,
# because some server internal structure are configured depending on what
# extensions are supported.
EXT_DEFINES = -DSHAPE -DMULTIBUFFER -DMITMISC -DXTEST -DMITSHM \
	      -DXINPUT -DNMBX -DSPEECH -DREADDISPLAY -DSGIMISC \
	      -DScreenSaverExtension -DXV -DXTRAP=32

#if defined(R5BUILD) && ($(R5BUILD) == "YES")
BLD_DEFINES = -DX11R5
#endif

ifeq ($(OS),Linux)
BLD_DEFINES = -DXF86
endif

LCDEFS = $(EXT_DEFINES) $(BLD_DEFINES)
ARFLAGS = r

# Set XTOPDIR to point to your X server tree. $ROOT/usr/include
# is included here because we don't want to pick up the headers in
# mit/extensions/include/GL

# XXX Todo: parameterize so the correct LINCS is defined, depending on
# style of X tree used

#if defined(R5BUILD) && ($(R5BUILD) == "YES")
LCINCS = -I. -I$(ROOT)/usr/include -I$(XTOPDIR)/mit/include \
	 -I$(XTOPDIR)/mit/extensions/include -I$(XTOPDIR)/mit/server/include \
	 -I$(XTOPDIR)/mit/fonts/include
#else
LCINCS = -I. -I$(ROOT)/usr/include -I$(XTOPDIR)/xc/include \
	 -I$(XTOPDIR)/xc/include/extensions -I$(XTOPDIR)/xc/include/fonts \
	 -I$(XTOPDIR)/xc/programs/Xserver/include \
	 -I$(XTOPDIR)/xc/exports/include
#endif

ifeq ($(OS),Linux)
LCINCS += -I$(XTOPDIR)/xc/programs/Xserver/hw/xfree86/
endif

LCINCS += -I../include

# define this if 64 bit things require aligned addresses
LCOPTS += -D__GLX_ALIGN64

LDIRT = tabhelp.awk

TARGETS = $(GEN_HFILES) $(GEN_CFILES) tabhelp.awk $(LIBNAME)

default libs: $(GEN_HFILES)
	$(MAKE) $(LIBNAME)

headers headers_install apps:

libs_install install: default
	$(INSTALL) -F $(ROOT)/usr/lib $(LIBNAME)

distsi: $(GEN_HFILES) $(GEN_CFILES)
	$(MAKE) $(COMMONPREF)$@

distoss:
	$(MAKE) $(COMMONPREF)$@

$(LIBNAME): $(OBJECTS)
	$(AR) $(ARFLAGS) $@ $(OBJECTS)

######################################################################

HEADDIR = $(TOPDIR)/gfx/include
include $(ROOT)/usr/include/libspec/libspecdefs

# Where to find things used by the generation rules below
DISPATCHUTIL = ../lib/listutil.ls
DISPATCHGEN = lexec.ls
TABLEGEN = ./disptab.ls
TABLEHELPGEN = ./tabhelp.ls

g_render.c: $(SPECDIR)/$(GL_SPEC) $(TYPEMAPSDIR)/$(C_TYPEMAP) $(DISPATCHGEN) \
	    $(DISPATCHUTIL) $(LIBSPEC_CUTILS) $(OSSCOPYRIGHT)
	rm -f $@ $@.tmp.ls
	echo $(AUTOGEN_TXT) >> $@
	awk 'BEGIN { print "/*" }; { print "**", $$0 }; END { print "*/\n"}' \
		$(OSSCOPYRIGHT) >> $@
	cat $(DISPATCHGEN) $(DISPATCHUTIL) $(LIBSPEC_CUTILS) > $@.tmp.ls
	$(LIBSPEC) $(CHECKFLAG) -DTYPEMAP="$(C_TYPEMAP)" \
		-DFUNCS="transdraw" \
		-T $(TYPEMAPSDIR) -P $(LIBSPEC_PARSER) $@.tmp.ls \
		"$(SPECDIR)/$(GL_SPEC)" >> $@
	rm $@.tmp.ls

g_renderswap.c: $(SPECDIR)/$(GL_SPEC) $(TYPEMAPSDIR)/$(C_TYPEMAP) \
		$(DISPATCHGEN) $(DISPATCHUTIL) $(LIBSPEC_CUTILS) \
		$(OSSCOPYRIGHT)
	rm -f $@ $@.tmp.ls
	echo $(AUTOGEN_TXT) >> $@
	awk 'BEGIN { print "/*" }; { print "**", $$0 }; END { print "*/\n"}' \
		$(OSSCOPYRIGHT) >> $@
	cat $(DISPATCHGEN) $(DISPATCHUTIL) $(LIBSPEC_CUTILS) > $@.tmp.ls
	$(LIBSPEC) $(CHECKFLAG) -DTYPEMAP="$(C_TYPEMAP)" \
		-DFUNCS="transdraw" -DSWAP="yes" \
		-T $(TYPEMAPSDIR) -P $(LIBSPEC_PARSER) $@.tmp.ls \
		"$(SPECDIR)/$(GL_SPEC)" >> $@
	rm $@.tmp.ls

g_single.c: $(SPECDIR)/$(GL_SPEC) $(TYPEMAPSDIR)/$(C_TYPEMAP) \
	    $(DISPATCHGEN) $(DISPATCHUTIL) $(LIBSPEC_CUTILS) $(OSSCOPYRIGHT)
	rm -f $@.tmp.ls $@
	cat $(DISPATCHGEN) $(DISPATCHUTIL) $(LIBSPEC_CUTILS) > $@.tmp.ls
	echo $(AUTOGEN_TXT) >> $@
	awk 'BEGIN { print "/*" }; { print "**", $$0 }; END { print "*/\n"}' \
		$(OSSCOPYRIGHT) >> $@
	$(LIBSPEC) $(CHECKFLAG) -DTYPEMAP="$(C_TYPEMAP)" \
		-DFUNCS="transget" \
		-T $(TYPEMAPSDIR) -P $(LIBSPEC_PARSER) $@.tmp.ls \
		"$(SPECDIR)/$(GL_SPEC)" >> $@
	rm $@.tmp.ls

g_singleswap.c: $(SPECDIR)/$(GL_SPEC) $(TYPEMAPSDIR)/$(C_TYPEMAP) \
		$(DISPATCHGEN) $(DISPATCHUTIL) $(LIBSPEC_CUTILS) \
		$(OSSCOPYRIGHT)
	rm -f $@.tmp.ls $@
	cat $(DISPATCHGEN) $(DISPATCHUTIL) $(LIBSPEC_CUTILS) > $@.tmp.ls
	echo $(AUTOGEN_TXT) >> $@
	awk 'BEGIN { print "/*" }; { print "**", $$0 }; END { print "*/\n"}' \
		$(OSSCOPYRIGHT) >> $@
	$(LIBSPEC) $(CHECKFLAG) -DTYPEMAP="$(C_TYPEMAP)" \
		-DFUNCS="transget" -DSWAP="yes" \
		-T $(TYPEMAPSDIR) -P $(LIBSPEC_PARSER) $@.tmp.ls \
		"$(SPECDIR)/$(GL_SPEC)" >> $@
	rm $@.tmp.ls

#
# Generate the dispatch table and prototypes.
#

tabhelp.awk: $(SPECDIR)/$(GL_SPEC) $(SPECDIR)/$(GLX_SPEC) $(TABLEHELPGEN) \
		$(DISPATCHUTIL)
	rm -f $@ $@.tmp.ls
	 cat $(TABLEHELPGEN) $(DISPATCHUTIL) > $@.tmp.ls
	rm -f glxgl.spec.tmp
	 cat $(SPECDIR)/$(GLX_SPEC) $(SPECDIR)/$(GL_SPEC) > glxgl.spec.tmp
	echo "# GENERATED FILE, MEANT TO BE INSERTED INTO ANOTHER SCRIPT" >> $@
	$(LIBSPEC) $(CHECKFLAG) -DFUNCS=single -T $(TYPEMAPSDIR) \
		-P $(LIBSPEC_PARSER) $@.tmp.ls glxgl.spec.tmp >> $@
	$(LIBSPEC) $(CHECKFLAG) -DFUNCS=vendpriv -DSUFFIX=_EXT\
		-T $(TYPEMAPSDIR) -P $(LIBSPEC_PARSER) $@.tmp.ls \
		$(SPECDIR)/$(GL_SPEC) >> $@
	$(LIBSPEC) $(CHECKFLAG) -DFUNCS=render \
		-T $(TYPEMAPSDIR) -P $(LIBSPEC_PARSER) $@.tmp.ls \
		$(SPECDIR)/$(GL_SPEC) >> $@
	$(LIBSPEC) $(CHECKFLAG) -DFUNCS=render -DSUFFIX=_EXT\
		-T $(TYPEMAPSDIR) -P $(LIBSPEC_PARSER) $@.tmp.ls \
		$(SPECDIR)/$(GL_SPEC) >> $@
	rm $@.tmp.ls
	rm -f glxgl.spec.tmp

g_disptab.c: tabhelp.awk $(TABLEGEN)
	rm -f $@ $@.tmp.ls
	echo "function TableHelper() {" >> $@.tmp.ls
	cat tabhelp.awk >> $@.tmp.ls
	echo "}" >> $@.tmp.ls
	cat $(TABLEGEN) >> $@.tmp.ls
	echo $(AUTOGEN_TXT) >> $@
	awk 'BEGIN { print "/*" }; { print "**", $$0 }; END { print "*/\n"}' \
		$(OSSCOPYRIGHT) >> $@
	awk -f $@.tmp.ls -v OUTPUT=tables /dev/null >> $@
	rm -f $@.tmp.ls

g_disptab_EXT.c: tabhelp.awk $(TABLEGEN)
	rm -f $@ $@.tmp.ls
	echo "function TableHelper() {" >> $@.tmp.ls
	cat tabhelp.awk >> $@.tmp.ls
	echo "}" >> $@.tmp.ls
	cat $(TABLEGEN) >> $@.tmp.ls
	echo $(AUTOGEN_TXT) >> $@
	awk 'BEGIN { print "/*" }; { print "**", $$0 }; END { print "*/\n"}' \
		$(OSSCOPYRIGHT) >> $@
	awk -f $@.tmp.ls -v OUTPUT=tables -v SUFFIX=_EXT /dev/null >> $@
	rm -f $@.tmp.ls

g_disptab.h: tabhelp.awk $(TABLEGEN)
	rm -f $@ $@.tmp.ls
	echo "function TableHelper() {" >> $@.tmp.ls
	cat tabhelp.awk >> $@.tmp.ls
	echo "}" >> $@.tmp.ls
	cat $(TABLEGEN) >> $@.tmp.ls
	echo $(AUTOGEN_TXT) >> $@
	echo "#ifndef _GLX_g_disptab_h_" >> $@
	echo "#define _GLX_g_disptab_h_" >> $@
	awk 'BEGIN { print "/*" }; { print "**", $$0 }; END { print "*/\n"}' \
		$(OSSCOPYRIGHT) >> $@
	awk -f $@.tmp.ls -v OUTPUT=prototypes /dev/null >> $@
	echo "#endif /* _GLX_g_disptab_h_ */" >> $@
	rm -f $@.tmp.ls

g_disptab_EXT.h: tabhelp.awk $(TABLEGEN)
	rm -f $@ $@.tmp.ls
	echo "function TableHelper() {" >> $@.tmp.ls
	cat tabhelp.awk >> $@.tmp.ls
	echo "}" >> $@.tmp.ls
	cat $(TABLEGEN) >> $@.tmp.ls
	echo $(AUTOGEN_TXT) >> $@
	echo "#ifndef _GLX_g_disptab_EXT_h_" >> $@
	echo "#define _GLX_g_disptab_EXT_h_" >> $@
	awk 'BEGIN { print "/*" }; { print "**", $$0 }; END { print "*/\n"}' \
		$(OSSCOPYRIGHT) >> $@
	awk -f $@.tmp.ls -v OUTPUT=prototypes -v SUFFIX=_EXT /dev/null >> $@
	echo "#endif /* _GLX_g_disptab_EXT_h_ */" >> $@
	rm -f $@.tmp.ls

g_rensizetab.c: tabhelp.awk $(TABLEGEN)
	rm -f $@ $@.tmp.ls
	echo "function TableHelper() {" >> $@.tmp.ls
	cat tabhelp.awk >> $@.tmp.ls
	echo "}" >> $@.tmp.ls
	cat $(TABLEGEN) >> $@.tmp.ls
	echo $(AUTOGEN_TXT) >> $@
	awk 'BEGIN { print "/*" }; { print "**", $$0 }; END { print "*/\n"}' \
		$(OSSCOPYRIGHT) >> $@
	awk -f $@.tmp.ls -v OUTPUT=rensizes /dev/null >> $@
	awk -f $@.tmp.ls -v OUTPUT=rensizes -v SUFFIX=_EXT /dev/null >> $@
	rm -f $@.tmp.ls

include $(COMMONRULES)

$(COMMONTARGS): % : $(COMMONPREF)%