Add built programs to .cvsignore.
[mesa.git] / progs / tests / Makefile
index 1ab2df91c874b7c45ca738c7d648fc70b12b68a6..03bb6c2ad508d4e310e30b3b167e7bfc6cfdee18 100644 (file)
@@ -1,36 +1,71 @@
-
-# Simple makefile for compiling test programs on Linux
-# These programs aren't intended to be included with the normal
-# distro.  They're not too interesting but they're good for testing.
-
-
-CC = gcc
-CFLAGS = -g -I../include
-LIBS = -L../lib -lglut -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXext -lm
-
-PROGS = antialias \
-       cva \
-       dinoshade \
-       fogcoord \
-       fptest1 \
-       fptexture \
-       getprocaddress \
-       manytex \
-       multipal \
-       projtex \
-       seccolor \
-       sharedtex \
-       stencilwrap \
-       texline \
-       texrect \
-       texwrap \
-       vptest1 \
-       vptest2 \
-       vptest3 \
-       vptorus \
-       vpwarpmesh \
-       yuvrect \
-       yuvsquare
+# progs/tests/Makefile
+
+
+# These programs aren't intended to be included with the normal distro.
+# They're not too interesting but they're good for testing.
+
+TOP = ../..
+include $(TOP)/configs/current
+
+
+LIBS = $(APP_LIB_DEPS)
+
+SOURCES = antialias.c \
+       arbfpspec.c \
+       arbfptest1.c \
+       arbfptexture.c \
+       arbfptrig.c \
+       arbvptest1.c \
+       arbvptest3.c \
+       arbvptorus.c \
+       arbvpwarpmesh.c \
+       blendminmax.c \
+       blendsquare.c \
+       bufferobj.c \
+       bug_3101.c \
+       bug_3195.c \
+       crossbar.c \
+       cva.c \
+       dinoshade.c \
+       floattex.c \
+       fbotest1.c \
+       fbotexture.c \
+       fog.c \
+       fogcoord.c \
+       fptest1.c \
+       fptexture.c \
+       getprocaddress.c \
+       invert.c \
+       manytex.c \
+       multipal.c \
+       no_s3tc.c \
+       packedpixels.c \
+       pbo.c \
+       projtex.c \
+       seccolor.c \
+       sharedtex.c \
+       stencilwrap.c \
+       stencil_wrap.c \
+       tex1d.c \
+       texline.c \
+       texobjshare.c \
+       texrect.c \
+       texwrap.c \
+       vparray.c \
+       vptest1.c \
+       vptest2.c \
+       vptest3.c \
+       vptorus.c \
+       vpwarpmesh.c \
+       yuvrect.c \
+       yuvsquare.c \
+       zreaddraw.c
+
+PROGS = $(SOURCES:%.c=%)
+
+INCLUDES = -I. -I$(TOP)/include
+
+UTIL_FILES = readtex.h readtex.c
 
 
 ##### RULES #####
@@ -39,40 +74,68 @@ PROGS = antialias \
 .SUFFIXES: .c
 
 .c:
-       $(CC) $(CFLAGS) $< $(LIBS) -o $@
+       $(CC) $(INCLUDES) $(CFLAGS) $< $(LIBS) -o $@
 
 .c.o:
-       $(CC) -c -I. -I../include $(CFLAGS) $< -o $@
+       $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
+
+.S.o:
+       $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES)  $< -o $@
 
 
 ##### TARGETS #####
 
-default: $(PROGS)
+default: $(UTIL_FILES) $(PROGS)
 
 clean:
        rm -f $(PROGS)
        rm -f *.o
+       rm -f getproclist.h
 
 
 # auto code generation
 getprocaddress: getprocaddress.c getproclist.h
 
-getproclist.h: ../bin/APIspec getprocaddress.c getprocaddress.py
+getproclist.h: $(TOP)/src/mesa/glapi/gl_API.xml getprocaddress.c getprocaddress.py
        python getprocaddress.py > getproclist.h
 
+afsmultiarb: afsmultiarb.o readtex.o
+       $(CC) afsmultiarb.o readtex.o $(LIBS) -o $@
+
+afsmultiarb.o: afsmultiarb.c readtex.h
+       $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
 
 texrect: texrect.o readtex.o
        $(CC) texrect.o readtex.o $(LIBS) -o $@
 
 texrect.o: texrect.c readtex.h
-       $(CC) -c $(CFLAGS) $< -o $@
+       $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
+
+bug_3195: bug_3195.o readtex.o
+       $(CC) $(CFLAGS) bug_3195.o readtex.o $(LIBS) -o $@
+
+bug_3195.o: bug_3195.c readtex.h
+       $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
+
+invert: invert.o readtex.o
+       $(CC) invert.o readtex.o $(LIBS) -o $@
+
+invert.o: invert.c readtex.h
+       $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
 
 readtex.o: readtex.c
-       $(CC) -c $(CFLAGS) $< -o $@
+       $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
+
+
+readtex.h: $(TOP)/progs/util/readtex.h
+       ln -s $(TOP)/progs/util/readtex.h .
+
+readtex.c: $(TOP)/progs/util/readtex.c
+       ln -s $(TOP)/progs/util/readtex.c .
+
 
 
-readtex.h: ../util/readtex.h
-       ln -s ../util/readtex.h .
 
-readtex.c: ../util/readtex.c
-       ln -s ../util/readtex.c .
+# Emacs tags
+tags:
+       etags `find . -name \*.[ch]` `find ../include`