CC=gcc
SHELL=/bin/bash

# configure hd.h

CFLAGS=-O2

LDFLAGS=$(CFLAGS)
LOCALLIB=strlib.a
LIBS=

BIN=/usr/local/bin
MAN=/usr/local/man/man1
LIB=/usr/local/lib/vsh
#BIN=$(HOME)/bin
#MAN=$(HOME)/man/man1
#LIB=$(HOME)/lib/vsh

OBJECTS= main.o at.o dir.o xeq.o process.o enterf.o \
	help.o page.o dirlist.o tty.o remove.o file.o show.o \
	ascii.o make.o grep.o showopen.o strings.o \
	curses.o account.o cmdrun.o misccmd.o dircmd.o cmdini.o \
	readarg.o cmdload.o classify.o options.o xecute.o find.o system.o

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

vsh:	$(OBJECTS) mydir.h hd.h $(LOCALLIB)
	$(CC) -o vsh $(LDFLAGS) $(OBJECTS) $(LOCALLIB) -ltermcap $(LIBS)

strlib.a:
	(cd ../strlib; $(CC) $(CFLAGS) -c str*.c)
	ar rv $(LOCALLIB) ../strlib/str*.o
	-ranlib $(LOCALLIB)
	-rm -f ../strlib/str*.o

install: bin man #lib

bin:	vsh
	-mv $(BIN)/vsh $(BIN)/vsh.old
	cp vsh $(BIN)/vsh
	-strip $(BIN)/vsh
	chmod 755 $(BIN)/vsh
	-rm -f $(BIN)/vsh.old

man:
	cp ../doc/vsh.1 $(MAN)/vsh.1
	chmod 644 $(MAN)/vsh.1

lib:
	-rm -fr $(LIB)
	mkdir $(LIB)
	chmod 755 $(LIB)
	cp ../lib/*help* $(LIB)
	chmod 644 $(LIB)/*

deinstall:
	-rm -fr $(BIN)/vsh $(BIN)/vsh.old
	-rm -fr $(MAN)/vsh.1
	-rm -fr $(LIB)

clean:
	rm -f $(OBJECTS) vsh tags strlib.a .grepout .makerror

lint:
	lint -bxac *.c

ctags:
	ctags *.[ch]

account.o:	hd.h
ascii.o:	strings.h
classify.o:	hd.h classify.h mydir.h strings.h
cmdini.o:	hd.h command.h
cmdload.o:	hd.h command.h
cmdrun.o:	command.h
curses.o:	hd.h mydir.h
dir.o:		hd.h mydir.h
dircmd.o:	hd.h mydir.h
dirlist.o:	hd.h mydir.h command.h
enterf.o:	hd.h classify.h mydir.h
file.o:		hd.h classify.h mydir.h strings.h
find.o:		hd.h classify.h mydir.h strings.h command.h
grep.o:		hd.h strings.h command.h
help.o:		hd.h
main.o:		hd.h mydir.h
make.o:		hd.h strings.h command.h
misccmd.o:	hd.h mydir.h
options.o:	hd.h command.h
page.o:		hd.h mydir.h strings.h
process.o:	hd.h mydir.h
readarg.o:	hd.h strings.h
remove.o:	hd.h mydir.h
show.o:		hd.h strings.h command.h
showopen.o:	hd.h
strings.o:	strings.h
tty.o:		hd.h
xecute.o:	hd.h strings.h command.h
xeq.o:		hd.h
