# -*- makefile -*- mode for emacs # @(#) $Id: Makefile,v 1.16 1997/06/09 23:06:09 leavens Exp $ # # Developer's Makefile for Larch/C++ exercises # ######################################################################### # Macro Definition ######################################################################### # Directories # LARCHDIR = $(HOME)/larch LCPP_ROOT = $(LARCHDIR)/lc++ EXERCISE_DIR = $(LCPP_ROOT)/exercises DIST_ROOT = $(LCPP_ROOT)/distrib DIST_LCPP = $(DIST_ROOT)/LCPP DIST_EXERCISE_DIR = $(DIST_LCPP)/exercises WWW_DIR = /home/bambam/leavens/WWW/larchc++exercises LCPPFLAGS = -ansi # LCPPFLAGS = -ansi --no-LSL LSLFLAGS = # Removing, copying, etc. # RM = rm -f # RM = del # DOS CP = cp -p # CP = copy # DOS MV = mv -f # MV = move # DOS CHMOD = chmod CHGRP = chgrp # Documentation files to be distributed # DIST_EXERCISES = `make -f Makefile.dist dist-subdirs` ######################################################################### # Target Definitions ######################################################################### all: install install : make MAKEFLAGS=$(MAKEFLAGS) DIST_EXERCISE_DIR="$(WWW_DIR)" distrib distrib : $(DIST_EXERCISE_DIR) for d in $(DIST_EXERCISES) ; \ do if test ! -d $(DIST_EXERCISE_DIR)/$$d ; \ then mkdir $(DIST_EXERCISE_DIR)/$$d ; \ fi ; \ $(RM) -r $(DIST_EXERCISE_DIR)/$$d/* ; \ cd $$d; \ $(CP) *.txt $(DIST_EXERCISE_DIR)/$$d ; \ for f in *.lsl ; \ do test -f $$f && $(CP) $$f $(DIST_EXERCISE_DIR)/$$d ; \ done ;\ for f in *.h ; \ do test -f $$f && $(CP) $$f $(DIST_EXERCISE_DIR)/$$d ; \ done ;\ $(CHGRP) lc++ $(DIST_EXERCISE_DIR)/$$d/*; \ $(CHMOD) ug+w $(DIST_EXERCISE_DIR)/$$d/*; \ $(CHMOD) o+r $(DIST_EXERCISE_DIR)/$$d/*; \ cd .. ; \ done $(CP) README COPYRIGHT $(DIST_EXERCISE_DIR) $(CP) Makefile.dist $(DIST_EXERCISE_DIR)/Makefile $(CP) Makefile.dist $(DIST_EXERCISE_DIR)/Makefile.dist $(CP) Makefile $(DIST_EXERCISE_DIR)/Makefile.dev cd $(DIST_EXERCISE_DIR) ; \ $(CHGRP) lc++ $(DIST_EXERCISE_DIR)/*; \ $(CHMOD) ug+w $(DIST_EXERCISE_DIR)/*; \ $(CHMOD) o+r $(DIST_EXERCISE_DIR)/* $(DIST_EXERCISE_DIR) : mkdir $(DIST_EXERCISE_DIR) $(CHGRP) lc++ $(DIST_EXERCISE_DIR) $(CHMOD) g+w $(DIST_EXERCISE_DIR) $(CHMOD) o+r $(DIST_EXERCISE_DIR) check: checkallspecs checkalltraits checkallspecs : make -f Makefile.dist MAKEFLAGS=$(MAKEFLAGS) \ LCPPFLAGS='$(LCPPFLAGS)' checkallspecs checkalltraits : make -f Makefile.dist MAKEFLAGS=$(MAKEFLAGS) \ LCPPFLAGS='$(LSLFLAGS)' checkalltraits clean : make -f Makefile.dist MAKEFLAGS=$(MAKEFLAGS) \ RM='$(RM)' clean cleanall : make -f Makefile.dist MAKEFLAGS=$(MAKEFLAGS) \ RM='$(RM)' cleanall