include ../../make.include
include ../../make.pkgs

CXXFLAGS = $(CXXOPT) -I. -I.. -I../vector \
	-I../../include \
	-I$(X11INCLUDE) -I$(X11INCLUDE)/X11 \
	-I../../$(FUNTOOLSDIR)/filter -I../../$(FUNTOOLSDIR)/fitsy \
	-I../../$(FUNTOOLSDIR)/util

SS	= \
	alloc.C \
	allocgz.C \
	analysis.C \
	card.C \
	channel.C \
	column.C \
	iis.C \
	hdu.C \
	head.C \
	hist.C \
	file.C \
	map.C \
	mapincr.C \
	mmap.C \
	mmapincr.C \
	outchannel.C \
	outfile.C \
	outfits.C \
	outsocket.C \
	share.C \
	sshare.C \
	smap.C \
	smmap.C \
	socket.C \
	socketgz.C \
	strm.C \
	var.C

SRC	= $(SS) \
	parser.C \
	lex.C

INCLS	= $(wildcard *.h)
OBJS	= $(SRC:%.C=%.o)

all	: $(OBJS) TAGS

clean	: FORCE
	rm -f core *~ *#

distclean : clean
	rm -f TAGS *.o parser.output

TAGS	: $(SS) $(INCLS)
	$(ETAGS) $+

parsers	: parser

parser	: FORCE
	bison -d -p ff -o parser.C parser.Y
	flex -Pff -olex.C lex.L

shmload	: shmload.C
	$(RM) $@
	$(CXX) $(CXXOPT) -o $@ $<
	cp $@ ../../bin/.

FORCE	:

ifndef DEPENDS
%.d: %.C
	set -e; $(CXX) -MM $(CXXFLAGS) $< \
	| sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
	[ -s $@ ] || rm -f $@

include $(SRC:.C=.d)
endif
