Errata for "Software Portability with imake"


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.c
should 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.c
should 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)


Go to main imake-book page
Document written by: Paul DuBois, paul@snake.net
Last updated: Friday, 18 October 1996 10:27