include ../../Make.config

XL_LINT		= ./libxl/llib-llibxl.a.ln
CFLAGS          = $(EXTRA_DEFINES) $(DEBUGFLAG)
INCLUDES	= -I. -I../../includes $(XINCLUDES) -I./libxl \
		  -I../../protos
LINTFLAGS	= $(EXTRA_DEFINES) $(INCLUDES)
LINTLIBS	= $(SHARED_LINT) $(LINCKS_LINT) $(PARSER_LINT) $(XL_LINT)
LDFLAGS		= $(XCFLAGS) $(DEBUGFLAG) \
		  -L../../libs/liblincks -L../../libs/libparser \
		  -Llibxl -L../../libs/libshared $(XLIBS)
LIBS		= -llincks -lparser -lxl -lshared \
		  $(X11_LIBS) $(MATHLIB) $(EXTRA_LIBS)
LIBXL		= libxl/libxl.a

PROG		= xlincks
SRC		= aimbuildref.c aimcmdstream.c aimcommand.c aimcursor.c \
		  aimcutbuf.c aimdbdump.c aimeditops.c aimexport.c \
		  aimpropagate.c aimstart.c aimstredit.c aimstruct.c \
		  aimsubr.c aim_version.c autolinks.c blddisplay.c \
		  gpdmenu.c graph.c graphutils.c pen_notify.c \
		  rendering.c showhistory.c uim_propagate.c xdumpref.c \
		  xlincks_help.c xstuff.c chng_prop.c xaimexport.c $(EXPERISRC)
OBJ		= aimbuildref.o aimcmdstream.o aimcommand.o aimcursor.o \
		  aimcutbuf.o aimdbdump.o aimeditops.o aimexport.o \
		  aimpropagate.o aimstart.o aimstredit.o aimstruct.o \
		  aimsubr.o aim_version.o autolinks.o blddisplay.o \
		  gpdmenu.o graph.o graphutils.o pen_notify.o \
		  rendering.o showhistory.o uim_propagate.o xdumpref.o \
		  xlincks_help.o xstuff.o chng_prop.o xaimexport.o $(EXPERIOBJ)
HEADERS		= aimstredit.h graph.h graphP.h graphutils.h resources.h

all:	$(PROG)

.c.o:
	$(CC) $(CFLAGS) $(INCLUDES) -c $<

$(LIBPARSER):
	@ ( cd ../../libs/libparser; $(MAKE) )

$(LIBLINCKS):
	@ ( cd ../../libs/liblincks; $(MAKE) )

$(LIBSHARED):
	@ ( cd ../../libs/libshared; $(MAKE) )

$(LIBXL):
	@ ( cd libxl ; $(MAKE) )

$(PROG): $(LIBSHARED) $(LIBLINCKS) $(LIBPARSER) $(LIBXL) $(OBJ)
	$(CC) $(LDFLAGS) $(OBJ) $(LIBS) -o $(PROG)

p$(PROG): $(LIBSHARED) $(LIBLINCKS) $(LIBPARSER) $(LIBXL) $(OBJ)
	purify $(CC) $(LDFLAGS) $(OBJ) $(LIBS) -o $(PROG)

install: $(PROG)
	@ if [ ! -d $(BINDIR) ] ; then \
		echo "Making directory $(BINDIR)"; \
		$(MKDIRHIER) $(BINDIR); \
		chmod 755 $(BINDIR); \
		fi; \
	echo "installing $(PROG) in $(BINDIR)"
	$(INSTALL) $(BININSTALLFLAGS) $(PROG) $(BINDIR)

depend:
	@ (cd libxl ; $(MAKE) depend)
	$(DEPEND) -s "# DO NOT DELETE" -- $(INCLUDES) -- $(SRC) $(HEADERS)

lint:
	@ ( cd libxl ; $(MAKE) lint )
	$(LINT) $(LINTFLAGS) $(SRC) $(LINTLIBS)

clean:
	@ echo "cleaning in xlincks"
	/bin/rm -f *.o *.ln *.lint *.grammar \#* *~ *.bak core $(PROG)
	@ (cd libxl ; echo "cleaning in libxl"; $(MAKE) clean)

current:
	@ (cd libxl; $(MAKE) current)
	ln -s $(SCCSHOME) SCCS
	sccs get $(SRC) $(HEADERS)
	/bin/rm SCCS

# DO NOT DELETE
