PROJECT		= PascalHtml
# Revision system
PRCS            = prcs
# Tar and compress
TAR             = tar
TARCOPT         = cf
TARXOPT         = xfp
COMPRESS        = gzip
HTML_WORK_DIR	= Html
SRC_DIR		= Src
SOURCES		= pascal.scm
POPULATION	= $(SRC_DIR)/$(SOURCES) $(SRC_DIR)/Makefile \
		  $(HTML_WORK_DIR)/*.html

all:
	(cd $(SRC_DIR) ; $(MAKE) all)

install:
	(cd $(SRC_DIR) ; $(MAKE) install)

clean:
	rm -f *~
	(cd $(SRC_DIR) ; $(MAKE) clean)

cleanall:
	rm -f *~
	(cd $(SRC_DIR) ; $(MAKE) cleanall)

#*---------------------------------------------------------------------*/
#*    Tar ...							       */
#*---------------------------------------------------------------------*/
tar.gz: $(PROJECT).tar.gz

$(PROJECT).tar.gz: $(PROJECT).tar
	@ $(COMPRESS) $(PROJECT).tar

# This entry works only with gnu-make. Change it for other Makefiles.
$(PROJECT).tar: 
	$(MAKE) cleanall
	$(TAR) $(TARCOPT) $(PROJECT).tar .

#*---------------------------------------------------------------------*/
#*    Population and revision control                                  */
#*---------------------------------------------------------------------*/
.PHONY: version pop revision populate checkin checkout infofile checkoutfile

# display the current version
version:
	@ echo $(VERSION)

# just display the population
pop:
	@ echo $(POPULATION)

# make a prcs revision
revision: populate checkin

populate: $(PROJECT).prj
	$(PRCS) populate --force $(PROJECT) $(POPULATION)

checkin: 
	$(PRCS) checkin --force -r$(VERSION).@ $(PROJECT)

# display how to check out a prcs revision
checkout:
	@ echo "$(PRCS) checkout -r$(VERSION).@ $(PROJECT)"

infofile:
	@ $(PRCS) info --force $(PROJECT) $(FILE)

checkoutfile:
	@ $(PRCS) checkout --force -r$(FILEVERSION) $(PROJECT) $(FILE)

$(PROJECT).prj:
	@ $(PRCS) checkout --force $(PROJECT)
	@ cat $(PROJECT).prj | sed -e s,"(Populate-Ignore ())","(Populate-Ignore (\"\\\\\\\\\\.o\$$\" \"\\\\\\\\\\~$$\" \"\\\\\\\\\\.log\$$\" \"\\\\\\\\\\.ps\$$\" \"\\\\\\\\\\.aux\$$\" \"\\\\\\\\\\.date_of_backup\$$\" \"\\\\\\\\\\.so\$$\" \"\\\\\\\\\\.a\$$\"))", > $(PROJECT).dprj; rm -f $(PROJECT).prj; mv $(PROJECT).dprj $(PROJECT).prj
