#Makefile for ri

CXX                     =  g++
DEBUG                   =  -gstabs -Wall -Werror -pedantic-errors #-Weffc++ 
#-Weffc++ warned about copy constructors not being present, and not using memberwise initialization lists. I don't know what other warnings/errors it shows. 

CXXFLAGS                =    #$(DEBUG) 
LDFLAGS                 =  -lpanel -lncurses -lstdc++ 
ALL_FLAGS               =  -I. -g $(CXXFLAGS)
LD                      =  ld
MAKE                    =  make

prefix                  =  /usr/local
exec_prefix             =  $(prefix)
bindir                  =  $(exec_prefix)/bin
docdir                  =  $(prefix)/doc

INSTALL                 =  /usr/bin/install -c
INSTALL_PROGRAM         =  $(INSTALL) -v
INSTALL_DATA            =  $(INSTALL) -m 644 -v

.cc.o:
	$(CXX) -c $(ALL_FLAGS) $<

objects = ri.o menus.o menuitems.o windows.o menubar.o statusbar.o editwindow.o application.o dialogs.o textbox.o filebuffer.o document.o clipboard.o globalfns.o

docs = README INSTALL MANUAL LICENSE AUTHORS ISSUES ChangeLog TODO 

.PHONY: all
.PHONY: clean
.PHONY: distclean
.PHONY: install
.PHONY: install-strip
.PHONY: uninstall
.PHONY: dist
.PHONY: TAGS

all: ri

ri: $(objects)

clean:
	@-rm -f ri $(objects) tags

distclean:
	@-rm -f ri $(objects) tags

install: all
	@echo
	@echo "Installing ri..."
	@echo

	@echo "Compiling source code..."
	@$(MAKE) ri
	@echo
	@echo "Installing binaries..."
	@-$(INSTALL_PROGRAM) ri $(bindir)
	@$(MAKE) distclean

	@echo
	@echo "Copying help files..."
	@-mkdir $(docdir)/ri-1.0
	@-rm -f $(docdir)/ri-1.0/*
	@-$(INSTALL_DATA) $(docs) $(docdir)/ri-1.0
	@echo
	@echo "Installation is complete."
	@echo "You can start the editor by typing 'ri'"
	@echo

install-strip:
	$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install

uninstall:
	@echo "Uninstalling ri..."
	-rm -f $(bindir)/ri
	-rm -rf $(docdir)/ri-1.0

dist: *.cc *.h $(docs) Makefile
	@-mkdir ri-1.0
	@-cp *.cc *.h $(docs) Makefile ri-1.0
	@-tar czh --remove-files -f ri-1.0-src.tar.gz ri-1.0
	@-rm -rf ri-1.0

TAGS: *.cc *.h
	@-ctags	*.cc *.h
