# # This is a common Makefile for code examples from the book # "Programming -- Principles and Practice Using C++" by Bjarne Stroustrup # # # Usage: # make - Build all examples # make clean - Clean all examples # make veryclean - Clean all examples. # Also gets rid of emacs backup files, core files, # and other such cruft. # make test - Run the test suite # DIVIDER=---------------------------------------------- default: @(echo $(DIVIDER); cd Chapter02; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter03; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter04; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter05; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter06; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter07; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter08; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter09; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter10; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter11; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter12; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter13; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter14; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter15; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter16; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter17; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter18; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter19; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter20; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter21; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter22; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter23; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter24; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter25; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter26; $(MAKE) -k ) @(echo $(DIVIDER); cd Chapter27; $(MAKE) -k ) clean: @(echo $(DIVIDER); cd GUI; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter02; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter03; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter04; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter05; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter06; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter07; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter08; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter09; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter10; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter11; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter12; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter13; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter14; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter15; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter16; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter17; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter18; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter19; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter20; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter21; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter22; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter23; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter24; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter25; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter26; $(MAKE) -k clean) @(echo $(DIVIDER); cd Chapter27; $(MAKE) -k clean) # A rule to clean all intermediates, targets, emacs backup files, core # files, etc. veryclean: @(echo $(DIVIDER); cd GUI; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter02; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter03; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter04; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter05; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter06; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter07; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter08; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter09; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter10; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter11; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter12; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter13; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter14; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter15; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter16; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter17; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter18; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter19; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter20; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter21; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter22; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter23; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter24; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter25; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter26; $(MAKE) -k veryclean) @(echo $(DIVIDER); cd Chapter27; $(MAKE) -k veryclean) test: @(echo $(DIVIDER); cd Chapter02; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter03; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter04; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter05; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter06; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter07; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter08; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter09; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter10; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter11; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter12; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter13; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter14; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter15; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter16; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter17; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter18; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter19; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter20; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter21; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter22; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter23; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter24; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter25; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter26; $(MAKE) -k test) @(echo $(DIVIDER); cd Chapter27; $(MAKE) -k test)