CFLAGS	= $(INCLUDE) $(FLAGS) 

DEST	      = /mit/floorplans/src

EDITPGM 	= /mit/floorplans/src/dxfedit.prl
EXTHDRS	      = /usr/include/X11/Composite.h \
		/usr/include/X11/Constraint.h \
		/usr/include/X11/Core.h \
		/usr/include/X11/Intrinsic.h \
		/usr/include/X11/Object.h \
		/usr/include/X11/RectObj.h \
		/usr/include/X11/Shell.h \
		/usr/include/X11/StringDefs.h \
		/usr/include/X11/Vendor.h \
		/usr/include/X11/X.h \
		/usr/include/X11/Xaw/Cardinals.h \
		/usr/include/X11/Xlib.h \
		/usr/include/X11/Xos.h \
		/usr/include/X11/Xresource.h \
		/usr/include/X11/Xutil.h \
		/usr/include/Xm/BulletinB.h \
		/usr/include/Xm/CascadeB.h \
		/usr/include/Xm/CascadeBG.h \
		/usr/include/Xm/DialogS.h \
		/usr/include/Xm/DrawingA.h \
		/usr/include/Xm/DrawnB.h \
		/usr/include/Xm/ExtObject.h \
		/usr/include/Xm/FileSB.h \
		/usr/include/Xm/Form.h \
		/usr/include/Xm/Frame.h \
		/usr/include/Xm/Label.h \
		/usr/include/Xm/LabelG.h \
		/usr/include/Xm/List.h \
		/usr/include/Xm/MainW.h \
		/usr/include/Xm/MenuShell.h \
		/usr/include/Xm/PanedW.h \
		/usr/include/Xm/PushB.h \
		/usr/include/Xm/PushBG.h \
		/usr/include/Xm/RowColumn.h \
		/usr/include/Xm/Scale.h \
		/usr/include/Xm/ScrollBar.h \
		/usr/include/Xm/ScrolledW.h \
		/usr/include/Xm/SelectioB.h \
		/usr/include/Xm/SeparatoG.h \
		/usr/include/Xm/Text.h \
		/usr/include/Xm/ToggleBG.h \
		/usr/include/Xm/VendorE.h \
		/usr/include/Xm/VirtKeys.h \
		/usr/include/Xm/Xm.h \
		/usr/include/fcntl.h \
		/usr/include/stdio.h \
		/usr/include/string.h \
		/usr/include/strings.h \
		/usr/include/sys/file.h \
		/usr/include/sys/time.h \
		/usr/include/sys/types.h \
		/usr/include/time.h

EXTLIBS	    = -L$(X11DIR)/$(MACHINE)lib\
			-L$(MOTIFDIR)/$(MACHINE)lib\
			 -lXm -lXt -lX11 -lm
HDRS	      = config.h \
		defs.h \
		function.h \
		proto.h \
		y.tab.h

INCLUDE     = -I$(X11DIR)/include -I$(MOTIFDIR)/include

LDFLAGS	      = -O
LFLAGS		= -t
LIBS		=
LINKER	      = cc

MACHINE		= rt
MAKEFILE      = Makefile
MOTIFDIR    = /mit/motif

OBJS	      = dxf.o \
		dxftokens.o \
		main.o

PRINT	      = pr
PROGRAM	      = xdxf

SRCS	      = dxf.y \
		dxftokens.l \
		main.c

X11DIR      = /mit/x11

YFLAGS		= -d

all:		$(PROGRAM)

$(PROGRAM):     $(OBJS) $(LIBS)
		@echo -n "Loading $(PROGRAM) ... "
		@$(LINKER) $(LDFLAGS) $(OBJS) $(LIBS) -o $(PROGRAM)
		@echo "done"

dxf.o:		dxf.y
		rm -f dxf.o dxf.tab.c y.tab.c
	        yacc $(YFLAGS) dxf.y
		mv y.tab.c dxf.tab.c
		$(EDITPGM) < dxf.tab.c > y.tab.c
		cc $(CFLAGS) $(LIBS) -c y.tab.c
		mv y.tab.o dxf.o
#		rm -f dxf.tab.c y.tab.c

y.tab.h:	dxf.y

dxftokens.o:	$(HDRS) dxftokens.l
		rm -f lex.yy.c dxftokens.o
		lex $(LFLAGS) dxftokens.l | $(EDITPGM) > lex.yy.c
	        cc $(CFLAGS) $(LIBS) -c lex.yy.c
		mv lex.yy.o dxftokens.o
#		rm -f lex.yy.c

clean:;		@rm -f $(OBJS)

depend:;	@mkmf -f $(MAKEFILE) PROGRAM=$(PROGRAM) DEST=$(DEST)

index:;		@ctags -wx $(HDRS) $(SRCS)

install:	$(PROGRAM)
		@echo Installing $(PROGRAM) in $(DEST)
		@install -s $(PROGRAM) $(DEST)

print:;		@$(PRINT) $(HDRS) $(SRCS)

program:        $(PROGRAM)

tags:           $(HDRS) $(SRCS); @ctags $(HDRS) $(SRCS)

update:		$(DEST)/$(PROGRAM)

#$(DEST)/$(PROGRAM): $(SRCS) $(LIBS) $(HDRS) $(EXTHDRS)
#		@make -f $(MAKEFILE) DEST=$(DEST) install
###
dxf.o: /usr/include/stdio.h
dxftokens.o: y.tab.h
main.o: /usr/include/stdio.h
