This is the errata sheet for the O'Reilly & Associates handbook Software Portability with imake, 2nd edition. (For the 1st edition errata, see the 1st edition archive.)
Errata list:
Backquote characters look like regular single quote characters. (They're not quite the same, but they're difficult to distinguish from single quotes.) There are five instances where these occur:
Chapter 6, page 114. The command that looks like this:
% touch 'find . -type d -print | sed 's:$:/Imakefile:''should look like this:
% touch `find . -type d -print | sed 's:$:/Imakefile:'`
Chapter 11, page 187. The command that looks like this:
% vi 'grep -l "include.*Lib\.rules" *.cf'should look like this:
% vi `grep -l "include.*Lib\.rules" *.cf`
Chapter 16, page 286. The command that looks like this:
% touch 'ls *.cf|sed 's/\.cf$/.p-cf/''should look like this:
% touch `ls *.cf|sed 's/\.cf$/.p-cf/'`
Appendix B, page 326. The command that looks like this:
cc -c -O -I../../include './ccimake' imake.cshould look like this:
cc -c -O -I../../include `./ccimake` imake.c
Appendix B, page 329. The command that looks like this:
cc -c -Dbrandxyz -O -I../../include './ccimake' imake.cshould look like this:
cc -c -Dbrandxyz -O -I../../include `./ccimake` imake.c
Chapter 15, page 280 and Chapter 16, page 287. The modification to ImakeSubCmdHelper (in Imake.rules) is incorrect. Initially, ImakeSubCmdHelper looks like this:
#ifdef UseInstalled #define ImakeSubCmdHelper $(IMAKE_CMD) #else #define ImakeSubCmdHelper $(IMAKE) -I$(IMAKEPREFIX)$(IRULESRC) $(IMAKE_DEFINES) #endif
Pages 280 and 287 say ImakeSubCmdHelper should be modified to look like this:
#ifdef UseInstalled #define ImakeSubCmdHelper $(IMAKE_CMD) #else #define ImakeSubCmdHelper $(IMAKE) \ -I$(IMAKEPREFIX)$(PRIVCONFIGDIR) -I$(PUBCONFIGDIR) \ $(IMAKE_DEFINES) #endif
The correct modification to ImakeSubCmdHelper is as follows (essentially, remove lines 1, 2, 3, and 7 from the incorrect modification):
#define ImakeSubCmdHelper $(IMAKE) \ -I$(IMAKEPREFIX)$(PRIVCONFIGDIR) -I$(PUBCONFIGDIR) \ $(IMAKE_DEFINES)