diff options
Diffstat (limited to 'linux/Makefile.linux')
-rw-r--r-- | linux/Makefile.linux | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/linux/Makefile.linux b/linux/Makefile.linux new file mode 100644 index 00000000..0f14540d --- /dev/null +++ b/linux/Makefile.linux @@ -0,0 +1,157 @@ +# Makefile -- For the Direct Rendering Manager module (drm) +# Created: Mon Jan 4 09:26:53 1999 by faith@precisioninsight.com +# Revised: Sun Feb 13 23:15:59 2000 by kevin@precisioninsight.com +# +# Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. +# All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +# $PI: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/generic/Makefile.linux,v 1.23 1999/07/02 17:46:30 faith Exp $ +# $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/Makefile.linux,v 1.5 2000/02/14 06:27:25 martin Exp $ +# + +.SUFFIXES: + +# *** Setup + +MODS= gamma.o tdfx.o +LIBS= libdrm.a +PROGS= drmstat + +DRMOBJS= init.o memory.o proc.o auth.o context.o drawable.o bufs.o \ + lists.o lock.o ioctl.o fops.o vm.o dma.o +DRMHEADERS= drm.h drmP.h + +GAMMAOBJS= gamma_drv.o gamma_dma.o +GAMMAHEADERS= gamma_drv.h $(DRMHEADERS) + +TDFXOBJS= tdfx_drv.o tdfx_context.o +TDFXHEADERS= tdfx_drv.h $(DRMHEADERS) + +PROGOBJS= drmstat.po xf86drm.po xf86drmHash.po xf86drmRandom.po sigio.po +PROGHEADERS= xf86drm.h $(DRMHEADERS) + +CFLAGS= -O2 $(WARNINGS) +WARNINGS= -Wall -Wwrite-strings -Wpointer-arith -Wcast-align \ + -Wstrict-prototypes -Wshadow -Wnested-externs \ + -Winline -Wpointer-arith +MODCFLAGS= $(CFLAGS) -D__KERNEL__ -DMODULE -fomit-frame-pointer +PRGCFLAGS= $(CFLAGS) -g -ansi -pedantic -DPOSIX_C_SOURCE=199309L \ + -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE \ + -I../../../../../../include -I../../../../../../../../include \ + -I../../../../../../../../programs/Xserver/hw/xfree86/common +PRGLIBS= + +# **** Start of SMP/MODVERSIONS detection + +# First, locate correct tree for this kernel version. If we find a +# matching tree, we assume that we can rely on that tree's autoconf.h. +# This may not be correct, but it is the best assumption we can make. + +VERSION := $(shell uname -r) +A := /usr/src/linux-$(VERSION)/include +B := /usr/src/linux/include +C := /usr/include + +V := $(shell gcc -E -nostdinc -I$A picker.c 2>/dev/null \ + | grep -s 'RELEASE = ' | cut -d' ' -f3) +ifeq ($(V),"$(VERSION)") +TREE := $A +else + V := $(shell gcc -E -nostdinc -I$B picker.c 2>/dev/null \ + | grep -s 'RELEASE = ' | cut -d' ' -f3) +ifeq ($(V),"$(VERSION)") + TREE := $B +else + V := $(shell gcc -E -nostdinc -I$C picker.c 2>/dev/null \ + | grep -s 'RELEASE = ' | cut -d' ' -f3) +ifeq ($(V),"$(VERSION)") + TREE := $C +else + TREE := 0 +endif +endif +endif + +# To override this determination, pass the path on the make command line: +# make TREE=/usr/my-kernel-tree/include +# or hardcode a value for TREE here: +# TREE:=/usr/include + +ifeq ($(TREE),0) +all:; @echo Error: Could not locate kernel tree in $A $B $C +else +SMP := $(shell gcc -E -nostdinc -I$(TREE) picker.c 2>/dev/null \ + | grep -s 'SMP = ' | cut -d' ' -f3) +MODVERSIONS := $(shell gcc -E -I $(TREE) picker.c 2>/dev/null \ + | grep -s 'MODVERSIONS = ' | cut -d' ' -f3) +all::;@echo KERNEL HEADERS IN $(TREE): SMP=${SMP} MODVERSIONS=${MODVERSIONS} +all:: $(LIBS) $(MODS) $(PROGS) +endif + +# **** End of SMP/MODVERSIONS detection + +# **** Handle SMP/MODVERSIONS +ifeq ($(SMP),1) +MODCFLAGS += -D__SMP__ +endif +ifeq ($(MODVERSIONS),1) +MODCFLAGS += -DMODVERSIONS -include $(TREE)/linux/modversions.h +endif + +# **** End of configuration + +libdrm.a: $(DRMOBJS) + -$(RM) -f $@ + $(AR) rcs $@ $(DRMOBJS) + +gamma.o: $(GAMMAOBJS) $(LIBS) + $(LD) -r $^ -o $@ + +tdfx.o: $(TDFXOBJS) $(LIBS) + $(LD) -r $^ -o $@ + +drmstat: $(PROGOBJS) + $(CC) $(PRGCFLAGS) $^ $(PRGLIBS) -o $@ + +.PHONY: ChangeLog +ChangeLog: + @rm -f Changelog + @rcs2log -i 2 -r -l \ + | sed 's,@.*alephnull.com,@precisioninsight.com,' > ChangeLog + + +# .o files are used for modules +%.o: %.c + $(CC) $(MODCFLAGS) -c $< -o $@ + +%.po: %.c + $(CC) $(PRGCFLAGS) -DDRM_USE_MALLOC -c $< -o $@ + + +$(DRMOBJS): $(DRMHEADERS) +$(GAMMAOBJS): $(GAMMAHEADERS) +$(TDFXOBJS): $(TDFXHEADERS) +$(PROGOBJS): $(PROGHEADERS) + +clean: + rm -f *.o *.po *~ core $(PROGS) + |