#
# @(#)GNUmakefile	1.3 96/12/20
#

OPT =		-g
CFLAGS =	$(OPT) -K pic

OBJS =		drawsurface.o
OBJS_G =	drawsurface_g.o
HEADERS =	X11DrawSurfaceTracker.h
CLASSES =	DrawSurfaceTest.class X11DrawSurfaceTest.class \
		DrawSurfaceTracker.class X11DrawSurfaceTracker.class

ROOT =		../../../../..

CLASSPATH =	$(ROOT)/build/classes:.
SHARE =		$(ROOT)/src/share/test/awt/drawsurface

ENV =		/usr/bin/env
JAVA =		$(ROOT)/build/bin/java -classpath $(CLASSPATH)
JAVAC =		$(ROOT)/build/bin/javac
JAVAH =		$(ROOT)/build/bin/javah

OW_INC =	/usr/openwin/include
J_INC =		$(ROOT)/build/include
INCLUDES =	-I$(J_INC) -I$(J_INC)/solaris -I$(OW_INC) -I$(OW_INC)/X11
LIBS =		-L/usr/openwin/lib -ldps -lX11

all:		$(CLASSES) libdst.so

run:		all
	$(ENV) LD_LIBRARY_PATH=/usr/openwin/lib:. $(JAVA) X11DrawSurfaceTest

libdst.so:	$(HEADERS) $(OBJS) stubs.o
	ld -G -o libdst.so stubs.o $(OBJS) $(LIBS)

libdst_g.so:	$(HEADERS) $(OBJS_G) stubs.o
	ld -G -o libdst_g.so stubs.o $(OBJS_G) $(LIBS)

drawsurface.o:	drawsurface.c
	cc -O $(INCLUDES) -c drawsurface.c

drawsurface_g.o:	drawsurface.c
	cc -g $(INCLUDES) -c drawsurface.c -o drawsurface_g.o

X11DrawSurfaceTracker.h: X11DrawSurfaceTracker.class
	$(JAVAH) -classpath $(CLASSPATH) -d . X11DrawSurfaceTracker

DrawSurfaceTest.class DrawSurfaceTracker.class: $(SHARE)/DrawSurfaceTest.java
	$(JAVAC) -classpath $(CLASSPATH) -d . $(SHARE)/DrawSurfaceTest.java

X11DrawSurfaceTest.class X11DrawSurfaceTracker.class: X11DrawSurfaceTest.java
	$(JAVAC) -classpath $(CLASSPATH) -d . X11DrawSurfaceTest.java

stubs.c: 	X11DrawSurfaceTracker.class
	$(JAVAH) -stubs -o stubs.c X11DrawSurfaceTracker

stubs.o: 	stubs.c
	cc -O $(INCLUDES) -c stubs.c

clean:
	$(RM) libdst.so libdst_g.so
	$(RM) $(HEADERS) $(CLASSES)
	$(RM) *.o stubs.c
