
TKINCDIR=../tk
TCLINCDIR=../tcl7.4
PYTHONINCL=/usr/local/lib/python/lib
CONFIGINCL=-I/usr/local/include/Py
LIBRIVET=librivet.so
target: $(LIBRIVET) app

CFLAGS=-g -DHAVE_CONFIG_H

TKDEFS= \
	-DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DSTDC_HEADERS=1 \
	-DNEED_MATHERR=1 -DTK_FILE_COUNT=_cnt
RIVETDEFS=-DRIVETONLY

INCLUDES=rivet.h tk.h tkInt.h tkText.h tkCanvas.h
TKSRC=tkCanvas.c tkScale.c tkFrame.c tkButton.c tkBind.c tkCmds.c tkWindow.c \
	tkEntry.c tkListbox.c tkMenu.c tkMenubutton.c tkMessage.c \
	tkScrollbar.c tkText.c tkTextTag.c tkTextWind.c tkTextDisp.c tkSend.c \
	tkEvent.c tkImage.c tkSelect.c tkWm.c tkCanvPs.c tkImgBmap.c tkImgPhoto.c tkConfig.c

TCLSRC=tclExpr.c tclBasic.c tclUnixUtil.c tclParse.c tclGlob.c tclVar.c # gack: need these tcl flags... -DNO_GETWD=1 -DNO_WAIT3=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DNO_UNION_WAIT=1 -DNEED_MATHERR=1

RIVETLIB=tklib.c tearofflib.c menulib.c scalelib.c scrollbarlib.c buttonlib.c entrylib.c textlib.c focuslib.c listboxlib.c
RIVETSRC=rivet.c rivet_main.c rivet_file.c $(RIVETLIB)

#
#
#

LIBRSRC= $(RIVETSRC) $(TKSRC) $(TCLSRC)
TKLIBOBJS= \
	../tk/tk3d.o ../tk/tkArgv.o ../tk/tkAtom.o \
	../tk/tkBitmap.o ../tk/tkCanvArc.o ../tk/tkCanvBmap.o \
	../tk/tkCanvImg.o ../tk/tkCanvLine.o ../tk/tkCanvPoly.o \
	../tk/tkCanvText.o ../tk/tkCanvUtil.o \
	../tk/tkCanvWind.o ../tk/tkClipboard.o ../tk/tkColor.o \
	../tk/tkCursor.o ../tk/tkError.o \
	../tk/tkFocus.o ../tk/tkFont.o ../tk/tkGC.o \
	../tk/tkGeometry.o ../tk/tkGet.o ../tk/tkGrab.o ../tk/tkImgFmtGIF.o \
	../tk/tkImgFmtPPM.o ../tk/tkOption.o ../tk/tkPack.o ../tk/tkPlace.o \
	../tk/tkPreserve.o ../tk/tkRectOval.o ../tk/tkTextBTree.o \
	../tk/tkTextIndex.o ../tk/tkTextMark.o ../tk/tkTrig.o \
	../tk/tkUtil.o ../tk/tkUnix.o ../tk/tkVisual.o ../tk/tkXEvent.o \
	../tk/tkXId.o

TCLLIBOBJS= \
	../tcl7.4/panic.o ../tcl7.4/regexp.o ../tcl7.4/strstr.o \
	../tcl7.4/tclGet.o \
	../tcl7.4/tclHash.o \
	../tcl7.4/tclUtil.o \
	../tcl7.4/tclUnixStr.o

RIVETLIBOBJS= \
	tklib.o tearofflib.o menulib.o scalelib.o scrollbarlib.o \
	buttonlib.o entrylib.o textlib.o focuslib.o listboxlib.o \
	rivet.o rivet_main.o rivet_file.o \
	tkCanvas.o tkScale.o tkFrame.o tkButton.o tkBind.o tkCmds.o tkWindow.o \
	tkEntry.o tkListbox.o tkMenu.o tkMenubutton.o tkMessage.o \
	tkScrollbar.o tkText.o tkTextTag.o tkTextWind.o tkTextDisp.o tkSend.o \
	tkEvent.o tkImage.o tkSelect.o tkWm.o tkCanvPs.o \
	tkImgBmap.o tkImgPhoto.o tkConfig.o \
	tclBasic.o tclExpr.o tclUnixUtil.o tclParse.o tclGlob.o tclVar.o

ALLOBJS = $(RIVETLIBOBJS) $(TKLIBOBJS) $(TCLLIBOBJS)

%.o: %.c
	cc $(CFLAGS) -I. -I$(TKINCDIR) -I$(TCLINCDIR) -I/usr/openwin/include \
	-I$(PYTHONINCL) $(CONFIGINCL) $(TKDEFS) $(RIVETDEFS) \
	-c $< -o $@

$(LIBRIVET): $(ALLOBJS)
	ld -G -o $@ $(ALLOBJS)

app.o: app.c $(INCLUDES)
	$(CC) -DRIVETONLY $(CFLAGS) -I. -I$(TKINCDIR) -I$(TCLINCDIR) -I/usr/openwin/include \
	-c app.c -o $@

app: app.o $(LIBRIVET)
	$(CC) -o $@ app.o  `pwd`/$(LIBRIVET) \
	-R/usr/openwin/lib -L/usr/openwin/lib -lX11 -lsocket -lnsl -lm

