.SUFFIXES: .cpp .obj .exe .PHONY: all part1 part2 part3 .PHONY: ch02 ch04 ch05 ch06 ch07 ch08 ch09 ch10 ch11 .PHONY: ch12 ch13 ch14 ch15 ch16 ch17 ch18 ch19 .PHONY: ch24 ### # CONFIGURATION: # # Edit the settings below. These values work for a typical g++ installation. CXX=g++ CPPFLAGS= CXXFLAGS=-O -fno-gnu-keywords -o $@ LDFLAGS= LOADLIBES= # ### all: part1 part2 part3 part1: ch02 ch04 ch05 ch06 ch07 ch08 ch09 ch10 ch11 part2: ch12 ch13 ch14 ch15 ch16 ch17 ch18 ch19 part3: ch24 .cpp.obj: $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< .cpp.exe: $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $< $(LOADLIBES) clean: -$(RM) ex*.obj ex*.exe ch02: ex02-01.exe ex02-02.exe ex02-03.exe ex02-04.exe ex02-05.exe ex02-06.exe ex02-07.exe ex02-08.exe ex02-09.exe ex02-10.exe ex02-11.exe ex02-12.exe ex02-13.exe ex02-14.exe ex02-15.exe ch04: ex04-01.exe ch05: ex05-01.exe ex05-02.exe ex05-03.exe ex05-04.exe ex05-05.exe ex05-06.exe ex05-07.exe ex05-08.exe ex05-08a.exe ex05-09.exe ex05-10.exe ex05-11.exe ex05-12.exe ex05-13.exe ex05-14.exe ex05-15.exe ex05-16.exe ex05-17.exe ex05-18.exe ex05-19.exe ex05-20.exe ex05-21.exe ex05-22.exe ex05-23.exe ex05-24.exe ex05-25.exe ex05-26.exe ex05-27.exe ex05-28.exe ex05-29.exe ex05-30.exe ex05-31.exe ex05-32.exe ex05-33.exe ex05-34.exe ch06: ex06-01.exe ex06-02.exe ex06-03.exe ex06-04.exe ex06-05.exe ex06-06.exe ex06-07.exe ex06-07a.exe ex06-08.exe ex06-09.exe ex06-10.exe ex06-11.exe ex06-12.exe ex06-13.exe ch07: ex07-01.exe ex07-02.exe ex07-03.exe ex07-03a.exe ex07-04.exe ex07-04a.exe ex07-05.exe ex07-06.exe ch08: ex08-01.exe ex08-02.exe ex08-03.exe ex08-04.exe ch09: ex09-01.exe ex09-02.exe ex09-03.exe ch10: ex10-01.exe ex10-02.exe ch11: ex11-01.exe ex11-02.exe ch12: ex12-01.exe ch13: ex13-01.exe ch14: ex14-01.exe ch15: ex15-01.exe ch16: ex16-01.exe ch17: ex17-01.exe ex17-01.exe: ex17-01.obj shape.obj screen.obj $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) ex17-01.obj shape.obj screen.obj $(LOADLIBES) ch18: ex18-01.exe ch19: ex19-01.exe ex19-01a.exe ex19-02.exe ex19-02a.exe ex19-02b.exe ch24: ex24-01.exe