#FILES = SkipConfig.class SkipFile.class SkipEdit.class SkipMenu.class \
#	MyButton.class MyMenu.class
#ParsingChoice.class MultipleChoice.class SkipConfig.class

FILES = SkipConfig.class libskippy.so
MOREFILES = Statistics.class VersatileLineChart.class \
	RelativeLineChart.class LineChart.class MultipleChoice.class \
	CacheStatistics.class PacketStatistics.class SkipPacketStats.class \
	SkipCacheStats.class SkipPacketStats.class SkipIoctl.class \
	SortableHash.class SkipCacheEntry.class SkipCacheEntryList.class \
	Parameter.class MultiParameter.class SingleParameter.class \
	Entries.class InfoFrame.class SimpleCacheEntry.class SmartArea.class
GENERATED = SkipStubs.[ch]

FLAGS = -Wall -mv8 -pipe -I`pwd`/../skipd
NATIVEINCL = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris
CFLAGS = -I../include $(FLAGS) $(NATIVEINCL)

# Don't set JAVA_HOME or JAVABIN here, unless you know what you're doing.
# Instead, add the directory with the java shell script wrappers to
# your search path, otherwise you're very likely to break something.
#JAVABIN = /home/gfa/Java/java/bin/sparc/
JAVAC = $(JAVABIN)javac
JAVAH = $(JAVABIN)javah
JAVA  = $(JAVABIN)java
CC    = gcc

#### RCS settings
 
COFLAGS = -q -M
RCSCLEAN = rcsclean

autoconfig:	
	@cd .. && $(MAKE) $@

all:	$(FILES) $(MOREFILES)

run:	all
	LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:`pwd` $(JAVA) SkipConfig

#.java.class:
%.class: %.java
	$(JAVAC) $<

clean:
	-rm -f *.class *.o *.so *~ *% ${GENERATED}

checkout:
	-$(CO) $(COFLAGS) $(REVISION) RCS/* < /dev/null

rcsclean:
	$(RCSCLEAN)

.PHONY: all run clean autoconfig checkout rcsclean

##############################
# The library stuff
LIBCLASSES = SkipIoctl SkipPacketStats SkipCacheStats \
	SkipCacheEntry SkipCacheEntryList
LIBCLASSFILES =  SkipIoctl.class SkipPacketStats.class SkipCacheStats.class \
	SkipCacheEntry.class SkipCacheEntryList.class
LIBMEMBERS = SkipInterface.o SkipStubs.o \
	../skipd/com.o ../lib/libskip_user.a

SkipInterface.o: SkipStubs.h
SkipInterface.o: ../skipd/com.h

SkipStubs.c: $(LIBCLASSFILES)
	$(JAVAH) -stubs -o $@ $(LIBCLASSES)

SkipStubs.h: $(LIBCLASSFILES)
	$(JAVAH) -o $@ $(LIBCLASSES)

libskippy.so: $(LIBMEMBERS)
	$(CC) $(CFLAGS) -G $(LIBMEMBERS) -o $@

../skipd/com.o: ../skipd/com.c ../skipd/com.h
	@cd ../skipd && $(MAKE) com.o

../lib/lipskip_user.a:
	@cd ../lib && $(MAKE) libskip_user.a
