Make File Differences

With a close look, you'll notice a couple differences between the STRLIB.MAK make file and previous make files used for creating Windows programs.

First, the compile line in STRLIB.MAK includes a compiler switch, -ASw, that isn't required when compiling Windows programs. The -A switch is the flag for a ”customized memory model.“ The S indicates small model. The w means that the compiler is to assume that the data segment isn't equal to the stack segment. This isn't normal, but it's important that you use this for a library module. The implications of the -ASw switch are discussed in greater detail later in this chapter.

Second, the link section of the make file creates the STRLIB.DLL file using the following statement:

link strlib libentry, strlib.dll /align:16, NUL, /nod sdllcew libw, strlib

Note the inclusion of the LIBENTRY.OBJ file in the object module field. In the field that contains the nondefault libraries, I've listed SDLLCEW.LIB rather than SLIBCEW.LIB. SLIBCEW.LIB is the C run time library for Windows programs; SDLLCEW.LIB is the C run time library for dynamic link libraries. LIBW.LIB is the import library.