srcdir = @srcdir@
VPATH = @srcdir@

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

CFLAGS = $(XCFLAGS)
CPPFLAGS = $(XCPPFLAGS)
LDFLAGS = $(XLDFLAGS)
DEFS = $(XDEFS)
LIBS = @LINTL@ @SHADOWLIB@ $(XLIBS) @TERMNET@ @PAMLIBS@ $(XLIB)
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ -m 755
INSTALL_DATA = @INSTALL_DATA@
AR = @AR@

#
# VFS code
#
NETFILES   = tcputil.o ftpfs.o mcfs.o utilvfs.o
NONETFILES = local.o vfs.o tar.o names.o container.o extfs.o sfs.o fish.o direntry.o @undelfs_o@

VFSSRCS = local.c vfs.c mcfs.c tcputil.c tar.c names.c \
	ftpfs.c container.c mcserv.c extfs.c undelfs.c utilvfs.c sfs.c fish.c

VFSHDRS = vfs.h mcfs.h tcputil.h tar.h container.h ftpfs.h names.h \
	extfs.h

VFSOBJS = $(NONETFILES) @NETFILES@

EXTFS_MISC = README extfs.ini
EXTFS_CONST = a rpm hp48 mailfs patchfs sfs.ini
EXTFS_IN = deb.in lslR.in ucpio.in urar.in uzoo.in ftplist.in uar.in \
	ulha.in uzip.in
EXTFS_OUT = deb lslR ucpio urar uzoo ftplist uar ulha uzip

EXTFSSTUFF = $(EXTFS_MISC) $(EXTFS_CONST) $(EXTFS_IN)

#
# Commands to build standalone version (.so)
#

VFSSOOBJS = tcputil.so ftpfs.so mcfs.so utilvfs.so local.so vfs.so tar.so names.so container.so extfs.so util-alone.so util.sor utilunix.sor sfs.so fish.so

%.sor:	../src/%.c
	$(CC) -c $(CPPFLAGS) $(DEFS) $(CFLAGS) -DVFS_STANDALONE $< -o $@

%.so:	%.c
	$(CC) -c $(CPPFLAGS) $(DEFS) $(CFLAGS) -DVFS_STANDALONE $< -o $@

libvfs.so: $(VFSSOOBJS)
	gcc $(VFSSOOBJS) -shared -o libvfs.so


#
# Distribution variables
#

DISTVFS = 	Makefile.in ChangeLog $(VFSSRCS) $(VFSHDRS)

all: @LIBVFS@ @mcserv@

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

check:
	@echo no tests are supplied.

checklinks:
	@if test -f $(vfsdir)/mad.c; then echo ok; \
	else $(MAKE) sourcelinks; fi

sourcelinks:
	-cd $(vfsdir); $(LN_S) ../src/mad.c ../src/mad.h . >/dev/null 2>&1; true

mcserv: checklinks
	$(MAKE) mcservx

mcservx: mcserv.o tcputil.o mad.o
	$(CC) $(LDFLAGS) -o mcserv mcserv.o tcputil.o mad.o $(LIBS)
	touch mcservx

libvfs-mc.a: $(VFSOBJS)
	$(RMF) $@
	$(AR) cr $@ $(VFSOBJS)
	-$(RANLIB) $@

showlibdep:
	@echo 'OBJS="$(VFSOBJS)"'

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

TAGS: $(VFSSRCS)
	etags $(VFSSRCS)

clean:
	$(RMF) mcserv *.o core a.out libvfs-mc.a mcservx *.so

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

distclean:
	-$(RMF) $(srcdir)/*~ $(srcdir)/mcserv $(srcdir)/*.o $(srcdir)/a.out
	-$(RMF) $(srcdir)/core $(srcdir)/libvfs-mc.a $(srcdir)/libvfs.so
	-$(RMF) $(srcdir)/mad.c $(srcdir)/mad.h
	-if test $(srcdir) = .; then $(MAKE) realclean; fi
	-$(RMF) $(srcdir)/Makefile

install: @mcserv@ install.extfs
	-(if test x@mcserv@ != x; then \
	    $(INSTALL_PROGRAM) mcserv $(DESTDIR)$(bindir)/$(binprefix)mcserv; \
	fi)

install.extfs:
	for I in $(EXTFS_MISC); do \
	    $(INSTALL_DATA) $(srcdir)/extfs/$$I \
	          $(DESTDIR)$(libdir)/extfs/$$I; \
	done
	for I in $(EXTFS_CONST) $(EXTFS_OUT); do \
	    $(INSTALL_PROGRAM) $(srcdir)/extfs/$$I \
	             $(DESTDIR)$(libdir)/extfs/$$I; \
	done

uninstall:
	for I in $(EXTFS_MISC); do \
	    $(RMF) $(DESTDIR)$(libdir)/extfs/$$I; \
	done
	for I in $(EXTFS_CONST) $(EXTFS_OUT); do \
	    $(RMF) $(DESTDIR)$(libdir)/extfs/$$I; \
	done
	-rmdir $(DESTDIR)$(libdir)/extfs
	-$(RMF) $(DESTDIR)$(bindir)/$(binprefix)mcserv

distcopy:
	$(CP) $(DISTVFS) ../../mc-$(VERSION)/vfs
	cd extfs; $(CP) $(EXTFSSTUFF) ../../../mc-$(VERSION)/vfs/extfs

depend dep: mcdep

fastdeploc:

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