srcdir = @srcdir@
VPATH = @srcdir@

rootdir = $(srcdir)/..
@MCFG@@MCF@

CFLAGS = $(XCFLAGS) @X_CFLAGS@
CPPFLAGS = $(XCPPFLAGS) @tk_includes@ -I$(vfsdir) -I$(slangdir) -DHAVE_X -DHAVE_TK
LDFLAGS = $(XLDFLAGS) @tk_libs@ @X_LIBS@
DEFS = $(XDEFS)
LIBS = -ltk -ltcl -lm @X_EXTRA_LIBS@ -lX11 @X_PRE_LIBS@ $(XLIBS) $(XLIB) @TERMNET@
EXTRALIBS = @LVFS@ @LSLANG@ @LEDIT@ @LINTL@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@

TKSRCS = tkmain.c tkmenu.c tkscreen.c tkwidget.c mc.tcl tkkey.c tkview.c \
	 tkinfo.c gd.tcl

TKHDRS = tkmain.h tkscreen.h tkwidget.h tkinfo.h tkconf.h

GUIS   = gui.dbits.tcl gui.display.tcl gui.findfile.tcl gui.hotlist.tcl   \
	gui.listbox.tcl gui.mfind.tcl gui.option.tcl gui.panelize.tcl     \
	gui.layout.tcl gui.quick_confirm.tcl gui.quick_file_mask_copy.tcl \
	gui.quick_input.tcl gui.quick_vfs.tcl gui.sort.tcl gui.vfshot.tcl \
	gui.quick_input_2.tcl gui.hotlist_new_entry.tcl \
	gui.hotlist_new_group.tcl gui.movelist.tcl gui.quick_file_mask_move.tcl 

#
# These objects from ../src do not depend on HAVE_X / HAVE_TK??
#
LOBJS =  mad.o

#
# These objects from ../src do depend on HAVE_TK
#
OOBJS = main.o dlg.o screen.o widget.o wtools.o info.o layout.o boxes.o \
	file.o find.o dialog.o help.o key.o chmod.o chown.o view.o \
	panelize.o hotlist.o listmode.o background.o dir.o util.o \
	win.o color.o profile.o user.o \
	ext.o setup.o \
	tree.o \
	subshell.o terms.o \
	achown.o fsusage.o mountlist.o \
	@XCURSES@ @REGEX_O@ complete.o command.o \
	option.o cmd.o utilunix.o popt.o xslint.o

OBJS = $(LOBJS) $(OOBJS) \
	tkmenu.o tkmain.o tkscreen.o tkwidget.o tkkey.o tkview.o \
	tkinfo.o

#
# Distribution variables
#

DISTTK = Makefile.in $(TKSRCS) $(TKHDRS) $(GUIS)

.c.o:
	$(CC) -c $(CPPFLAGS) $(DEFS) $(CFLAGS) $<

all: @tkmc@

tkmc: checklinks
	$(MAKE) mx

mx:	@LIBVFS@ $(OBJS) @LIBSLANG@ @LIBEDIT_A@ gui.tcl
	$(CC) $(LDFLAGS) -o tkmc $(OBJS) -L../vfs -L../slang -L../edit $(EXTRALIBS) $(LIBS) 
	touch mx

gui.tcl: $(GUIS)
	for i in $(GUIS); do cat $(srcdir)/$$i; done > gui.tcl

@LIBVFS@:
	cd ../vfs; $(MAKE) @LIBVFS@
@PCENTRULE@	-$(RMF) @LIBVFS@
@PCENTRULE@	$(LN_S) ../vfs/@LIBVFS@ .

libmcslang.a:
	cd ../slang; $(MAKE) libmcslang.a
@PCENTRULE@	-$(RMF) libmcslang.a
@PCENTRULE@	$(LN_S) ../slang/libmcslang.a .

libedit.a:
	cd ../edit; $(MAKE) libedit.a
@PCENTRULE@	-$(RMF) libedit.a
@PCENTRULE@	$(LN_S) ../edit/libedit.a .

checklinks:
	@if test -f $(tkdir)/regex.c; then echo ok; \
	else $(MAKE) sourcelinks; fi
	@if test -f regex.o; then echo ok; else $(MAKE) links; fi

links:
	for I in $(LOBJS); do $(RMF) $$I; $(LN_S) ../src/$$I $$I >/dev/null 2>&1; done; true

sourcelinks:
	-cd $(tkdir); $(LN_S) ../src/*.[ch] . >/dev/null 2>&1; $(LN_S) ../src/*.inc .; true

cleansourcelinks:
	-if test -f $(tkdir)/regex.c; then \
	    cd $(tkdir); find . \( -lname '*.[ch]' -o -lname '*.inc' \) | xargs $(RM); \
	fi

check:
	@echo no tests are supplied.

cross:
	$(MAKE) CC=gcc-linux CPP="gcc-linux -E" \
	CPPFLAGS="$(CPPFLAGS) -I/usr/local/lib/gcc-lib/i386-linux-linux/include/ncurses "

TAGS: $(TKSRCS)
	etags $(TKSRCS)

clean:
	$(RMF) @tkmc@ *.o core a.out mx @LIBVFS@ libedit.a libmcslang.a

realclean: clean
	$(RMF) .depend
	$(RMF) TAGS
	$(RMF) *~

distclean: cleansourcelinks
	-$(RMF) $(srcdir)/*~ $(srcdir)/*.o $(srcdir)/tkmc $(srcdir)/core
	-$(RMF) $(srcdir)/a.out
	-if test $(srcdir) = .; then $(MAKE) realclean; fi
	-$(RMF) $(srcdir)/Makefile gui.tcl

distcopy:
	$(CP) $(DISTTK) ../../mc-$(VERSION)/tk

install: install_@tkmc@

install_:

install_tkmc: all 
	$(INSTALL_DATA) $(tkdir)/mc.tcl $(DESTDIR)$(libdir)/mc.tcl
	$(INSTALL_DATA) gui.tcl $(DESTDIR)$(libdir)/gui.tcl
	$(INSTALL_DATA) $(tkdir)/gd.tcl $(DESTDIR)$(libdir)/gd.tcl
	$(INSTALL_PROGRAM) tkmc $(DESTDIR)$(bindir)/$(binprefix)tkmc

uninstall: 
	-$(RMF) $(DESTDIR)$(libdir)/mc.tcl
	-$(RMF) $(DESTDIR)$(libdir)/gui.tcl
	-$(RMF) $(DESTDIR)$(libdir)/gd.tcl
	-$(RMF) $(DESTDIR)$(bindir)/$(binprefix)tkmc

depend dep: @tkdep@

tkdep: checklinks mcdep

fastdeploc: @fastdepslang@ @fastdepvfs@

# ***Dependencies***Do not edit***
@DOTDEPEND@
# ***End of dependencies***
