#Makefile for The Board


include Config.mk



INSTALL = install -c -o $(TBOWNER) -g $(TBGROUP)


all:
	cd src;$(MAKE) all
	@echo "If this is your first time installing The Board type"
	@echo
	@echo "  make install-full"
	@echo
	@echo "That will create the directory tree and install all of"
	@echo "the binaries, data files, and sample config files"
	@echo "If you are just upgrading from a prior version then type"
	@echo
	@echo "  make install"
	@echo
	@echo "This will just installl the binaries to the proper"
	@echo "directories."
	@echo
	@echo "Make sure you have edited the config.mk and config.h file"
	@echo "and changed the user and group settings to yours."
	@echo "Also if you want to install to a different location other"
	@echo "than /theboard you need to change it in Config.mk and in"
	@echo "src/include/config.h.  If you do this you should do a"
	@echo "make clean; make so the binaries will be updated with the"
	@echo "directory info."


install: all
	test -d $(TBDROOT) || \
	( mkdir $(TBDROOT) ; chmod 755 $(TBDROOT) ; \
	chown $(TBOWNER).$(TBGROUP) $(TBDROOT) )
	test -d $(TBDBIN) || \
	( mkdir $(TBDBIN) ; chmod 755 $(TBDBIN) ; \
	chown $(TBOWNER).$(TBGROUP) $(TBDBIN) )
	test -d $(TBDROOT)/log || \
	( mkdir $(TBDROOT)/log ; chmod 755 $(TBDROOT)/log ; \
	chown $(TBOWNER).$(TBGROUP) $(TBDROOT)/log )
	test -d $(TBDROOT)/default || \
	( mkdir $(TBDROOT)/default ; chmod 755 $(TBDROOT)/default ; \
	chown $(TBOWNER).$(TBGROUP) $(TBDROOT)/default )
	$(INSTALL) -m 755 src/tbserver $(TBDBIN)
	$(INSTALL) -m 755 src/tbsystem $(TBDBIN)
	$(INSTALL) -m 755 src/menu $(TBDBIN)
	$(INSTALL) -m 755 src/tbforum $(TBDBIN)
	$(INSTALL) -m 755 src/tbfedit $(TBDBIN)
	@echo "The binaries are now installed.  If you are doing a new"
	@echo "install then you should have typed make install-full. That"
	@echo "will install alll components of The Board.  make install just"
	@echo "installs the binaries.  If this is a new install run make"
	@echo "install-full now."

install-full: all
	test -d $(TBDROOT) || \
	( mkdir $(TBDROOT) ; chmod 755 $(TBDROOT) ; \
	chown $(TBOWNER).$(TBGROUP) $(TBDROOT) )
	test -d $(TBDBIN) || \
	( mkdir $(TBDBIN) ; chmod 755 $(TBDBIN) ; \
	chown $(TBOWNER).$(TBGROUP) $(TBDBIN) )
	test -d $(TBDROOT)/log || \
	( mkdir $(TBDROOT)/log ; chmod 777 $(TBDROOT)/log ; \
	chown $(TBOWNER).$(TBGROUP) $(TBDROOT)/log )
	test -d $(TBDROOT)/default || \
	( mkdir $(TBDROOT)/default ; chmod 755 $(TBDROOT)/default ; \
	chown $(TBOWNER).$(TBGROUP) $(TBDROOT)/default )
	$(INSTALL) -m 755 src/tbserver $(TBDBIN)
	$(INSTALL) -m 755 src/tbsystem $(TBDBIN)
	$(INSTALL) -m 755 src/menu $(TBDBIN)
	$(INSTALL) -m 755 src/tbforum $(TBDBIN)
	$(INSTALL) -m 755 src/tbfedit $(TBDBIN)
	cp -R dat $(TBDROOT)
	cp -R menu $(TBDROOT)
	cp -R forums $(TBDROOT)
	cp -R help $(TBDROOT)
	cp -R screens $(TBDROOT)
	chown -R $(TBOWNER).$(TBGROUP) $(TBDROOT)/dat
	chown -R $(TBOWNER).$(TBGROUP) $(TBDROOT)/menu
	chown -R $(TBOWNER).$(TBGROUP) $(TBDROOT)/forums
	chown -R $(TBOWNER).$(TBGROUP) $(TBDROOT)/help
	chown -R $(TBOWNER).$(TBGROUP) $(TBDROOT)/screens
	@echo "You need to have tbserver started before you can run any"
	@echo "of The Board software.  It would be best to put it in your"
	@echo "/etc/rc.d/rc.local file so it will start at boot time."
	@echo
	@echo "If you changed the default directory from /theboard to"
	@echo "something else you will have to edit the files in"
	@echo "/path-to-theboard/dat and change all occurances of /theboard"
	@echo "with whatever path you chose."
	@echo
	@echo "Make sure you have read the INSTALL file for any additional"
	@echo "tasks you may have to complete."

install-docs-www:
	cp doc/menu.txt /usr/local/apache/share/htdocs/theboard/docs
	cp doc/forums.txt /usr/local/apache/share/htdocs/theboard/docs
	cp doc/tbsystem.txt /usr/local/apache/share/htdocs/theboard/docs
	cp README /usr/local/apache/share/htdocs/theboard/docs
	cp INSTALL /usr/local/apache/share/htdocs/theboard/docs
	cp Changes /usr/local/apache/share/htdocs/theboard/docs

.PHONY: clean dist
clean:
	rm -f src/*.o
	rm -f src/tbserver
	rm -f src/tbsystem
	rm -f src/tbforum
	rm -f src/tbfedit
	rm -f src/menu

dist:
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/src
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/src/include
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/doc
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/doc/screens
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/games
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/guest
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/guest/screens
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/internet
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/internet/screens
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/settings
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/forums
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/forums/theboard
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/forums/theboard/screens
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/forums/theboard/files
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/doc
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/dat
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/screens
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/help
	-mkdir theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/help/topics
	-cp ./* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)
	-cp ./src/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/src
	-cp ./src/include/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/src/include
	-cp ./menu/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu
	-cp ./menu/doc/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/doc
	-cp ./menu/doc/screens/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/doc/screens
	-cp ./menu/games/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/games
	-cp ./menu/guest/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/guest
	-cp ./menu/guest/screens/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/guest/screens
	-cp ./menu/internet/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/internet
	-cp ./menu/internet/screens/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/internet/screens
	-cp ./menu/settings/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/menu/settings
	-cp ./forums/theboard/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/forums/theboard
	-cp ./forums/theboard/screens/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/forums/theboard/screens
	-cp ./forums/theboard/files/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/forums/theboard/files
	-cp ./doc/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/doc
	-cp ./dat/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/dat
	-cp ./screens/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/screens
	-cp ./help/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/help
	-cp ./help/topics/* ./theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)/help/topics
	
	-tar chozf /home/ftp/pub/theboard/theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL).tar.gz theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)
	-rm -R theboard-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)
	-cp doc/theboard.lsm /home/ftp/pub/theboard
	-cp Changes /home/ftp/pub/theboard




