#  makefile for Project Q stuff

### where we mount stuff ###

AFSMNT =	/mnt/afs
AFSREALPATH = 	/afs/athena/astaff/project/afsdev/bld/@sys/dest

### libraries ###

QLIBDIRS =	-L/afs/sipb/project/Q/lib/@sys
QLIBS =		-lq -lfu

AFSLIBDIRS =	-L$(AFSMNT)/lib -L$(AFSMNT)/lib/afs
AFSLIBS = 	-lcmd -lprot -lubik -lauth -lrxkad -lrx -llwp -ldes \
		-lsys $(AFSMNT)/lib/afs/util.a

WCLLIBDIRS =	-L/mit/wcl/$${HOSTTYPE}lib 
WCLLIBS = 	-lWc

XLIBS =		-lXaw -lXmu -lXt -lX11 -lXext

STDLIBDIRS =	-L/usr/athena/lib
STDLIBS =	-lhesiod -lcom_err
# actually we link against $(AFSMNT)/lib/afs/libcom_err.a, but hey...

LIBDIRS =	$(QLIBDIRS) $(AFSLIBDIRS) $(WCLLIBDIRS) $(STDLIBDIRS)
LIBRARIES =	$(QLIBS) $(WCLLIBS) $(XLIBS) $(STDLIBS) $(AFSLIBS)

LDFLAGS =	$(LIBDIRS) $(LIBRARIES)

### include directories ###

MYINCDIR =	-I.
QINCDIR =	-I/afs/sipb/project/Q/include
AFSINCDIR = 	-I$(AFSMNT)/include
WCLINCDIR =	-I/mit/wcl/include
STDINCDIR =	-I/usr/athena/include

INCDIRS =	$(MYINCDIR) $(QINCDIR) $(AFSINCDIR) $(WCLINCDIR) $(STDINCDIR)

### random other cc / cpp crud ###

APPDEFS=
ANSIDEFS=	-D_ANSI_C_SOURCE -D_POSIX_C_SOURCE -D_ALL_SOURCE
CPPDEFS=	$(APPDEFS)
CDEBUG=		-g -W -Wreturn-type -Wformat -Wuninitialized\
-Wparentheses -Wtraditional 
# CDEBUG=		-E

### compiler and compiler flags ###

CFLAGS=		$(CPPDEFS) $(CDEBUG) $(INCDIRS)
CC =		gcc

##### xsaber sucks! (xcodecenter too) #####
# fix for the fact that xsaber unquotes chars

SCPPDEFS=
SCFLAGS=	$(SCPPDEFS) $(CDEBUG) $(INCDIRS)

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

### list of files ###

SOURCES=	main.c callback.c AriRegAll.c OptionList.c Viewport.c
OBJS=		main.o callback.o AriRegAll.o OptionList.o Viewport.o

### rules ###

all:: $(AFSMNT) xq

$(AFSMNT):
	attach -t afs -m $(AFSMNT) -e $(AFSREALPATH)

xq: $(OBJS)
	$(CC) -o $@ $(OBJS) $(LDFLAGS)

clean::
	rm -f .#* *~ *.o xq *.bak core

saber:
	#load $(LDFLAGS)
	#load $(SCFLAGS) $(SOURCES)

