
# these are set by config
CC = g++
LCFLAGS = -Wall -g 
LCFLAGS = -Wall -g -O2
BINDIR = /usr/bin/
MANDIR = /usr/man/
NOGNU = /usr/include/nognu
#

CFLAGS = $(LCFLAGS) -c


tout: objdir/ncc nccnav/nccnav
	@echo Salut.

install: tout
	echo $(CC)
	cp objdir/ncc /usr/bin/ncc
	ln -sf /usr/bin/ncc /usr/bin/nccar
	ln -sf /usr/bin/ncc /usr/bin/nccld
	ln -sf /usr/bin/ncc /usr/bin/nccc++
	ln -sf /usr/bin/ncc /usr/bin/nccg++
	cp nccnav/nccnav /usr/bin/nccnav
	ln -fs /usr/bin/nccnav /usr/bin/nccnavi
	cp ncc.1 /usr/share/man/man1
	cp doc/nognu /usr/include

uninstall:
	rm -f /usr/bin/ncc /usr/bin/nccnav /usr/bin/nccnavi /usr/share/man/man1/ncc.1 /usr/include/nognu
	rm -f /usr/bin/nccar /usr/bin/nccld /usr/bin/nccc++ /usr/bin/nccg++

nccnav/nccnav: nccnav/nccnav.C
	@echo Compiling nccnav viewer.
	@cd nccnav && make

objdir/ncc: objdir/dbstree.o objdir/inttree.o objdir/lex.o objdir/space.o objdir/cexpand.o objdir/cdb.o objdir/parser.o objdir/ccexpr.o objdir/preproc.o objdir/usage.o main.C
	$(CC) $(LCFLAGS) main.C objdir/*.o -o objdir/ncc 

objdir/cexpand.o: cexpand.C
	$(CC) $(CFLAGS) cexpand.C
	@mv cexpand.o objdir/

objdir/parser.o: parser.C
	$(CC) $(CFLAGS) parser.C
	@mv parser.o objdir/

objdir/inttree.o: inttree.[Ch]
	$(CC) $(CFLAGS) inttree.C
	@mv inttree.o objdir/

objdir/dbstree.o: dbstree.[Ch]
	$(CC) $(CFLAGS) dbstree.C
	@mv dbstree.o objdir/

objdir/lex.o: lex.C
	$(CC) $(CFLAGS) lex.C
	@mv lex.o objdir/

objdir/cdb.o: cdb.C
	$(CC) $(CFLAGS) cdb.C
	@mv cdb.o objdir/

objdir/space.o: space.C
	$(CC) $(CFLAGS) space.C
	@mv space.o objdir/

objdir/usage.o: usage.C
	$(CC) $(CFLAGS) usage.C
	@mv usage.o objdir/

objdir/ccexpr.o: ccexpr.C
	$(CC) $(CFLAGS) ccexpr.C
	@mv ccexpr.o objdir/

objdir/preproc.o: preproc.C
	$(CC) $(CFLAGS) preproc.C
	@mv preproc.o objdir/

wc:
	wc *.[Ch] nccnav/*.C | sort -n

clean:
	rm -f objdir/*.o

distclean:
	rm -f objdir/* objdir/ncc nccnav/nccnav
