File:  [OS/2 SDKs] / os232sdk / toolkt20 / c / samples / template / template.mak
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Thu Aug 9 12:26:31 2018 UTC (7 years, 9 months ago) by root
Branches: msft, MAIN
CVS tags: os2sdk-1990, HEAD
Microsoft OS/2 SDK 2.0 05-30-1990

#===================================================================
#
#   Template Make file
#   Created 1989, 1990 Microsoft Corporation
#
#===================================================================

#-------------------------------------------------------------------
#   .SUFFIXES line helps NMAKE recognize other file suffixes besides
#   .c, .exe, etc.
#-------------------------------------------------------------------
.SUFFIXES: .res .rc .hlp .ipf


#===================================================================
#
# Macro definitions
#
#   These macro definitions set are used to set up the options needed
#   to build the application.  Such options include the command line
#   options for the compiler and the libraries needed for the linker.
#   The flags are created as macros so that they can be easily modified
#   so they need to be changed.
#
#   The macros also allow you to have a different set of options
#   for each environment your application is built for.  The macros
#   below include the flags for compiling the application in the
#   32=bit and 16=bit memory models.  You can also add flags for a
#   a retail version of the product, a version which does not contain
#   any codeview symbols and has the maximum optimization.
#
#===================================================================
AS = masm
AFLAGS =
AXFLAGS =
CC = cl386
CFLAGS16 = -u -c -Gs -Od -W3 -Zpei -AL -DLINT_ARGS
CFLAGS32 = -c -Gs -Od -W3 -Zi -B1 c1l_386 -DLINT_ARGS
CINC32 = 
DFLAGS =
LINK16 = link
LIBS16 = llibcep os2
LINK32 = link386
LIBS32 = libc os2386
LFLAGS = /MAP/CO/NOD
RC = ..\..\..\os2bin\rc
HEADERS = main.h xtrn.h


#-------------------------------------------------------------------
#   This section is used to set which options macros are to be used
#   in the build.  By changing the macro names on the right, we can
#   change which environment the application will be built for.  This
#   application currently uses the flags for the 32-bit memory model.
#-------------------------------------------------------------------
LINK = $(LINK32)
CFLAGS = $(CFLAGS32)
LIBS = $(LIBS32)
CINC = $(CINC32)


#===================================================================
#
# Default inference rules
#
#   This section lists the command and flags to build each type of
#   of source file listed.
#
#===================================================================
.c.obj:
    $(CC) $(CFLAGS) $(CINC) $*.c

.asm.obj:
    $(AS) $(AFLAGS) $(AXFLAGS) $*.asm;

.rc.res:
    $(RC) -r $*.rc

#-------------------------------------------------------------------
#   A list of all of the object files
#-------------------------------------------------------------------
ALL_OBJ1 = main.obj user.obj init.obj pnt.obj dlg.obj help.obj
ALL_OBJ2 = file.obj edit.obj prnt.obj thrd.obj



#-------------------------------------------------------------------
#   A list of all of the Help text files
#-------------------------------------------------------------------
ALL_IPF = main.ipf file.ipf edit.ipf help.ipf dlg.ipf menu.ipf



#-------------------------------------------------------------------
#   This section lists all files to be built by the make.  The
#   makefile builds the executible as well as its associated help
#   file.
#-------------------------------------------------------------------
all: template.exe template.hlp


#-------------------------------------------------------------------
#   This section creates the command file used by the linker.  This
#   command file is recreated automatically every time you change
#   the object file list, linker flags, or library list.
#-------------------------------------------------------------------
template.lnk: template.mak
    echo $(ALL_OBJ1) +           > template.lnk
    echo $(ALL_OBJ2)            >> template.lnk
    echo template.exe           >> template.lnk
    echo template.map $(LFLAGS) >> template.lnk
    echo $(LIBS)                >> template.lnk
    echo template.def           >> template.lnk



#===================================================================
#
# Dependencies
#
#   This section lists all object files needed to be built for the
#   application, along with the files it is dependent upon (e.g. its
#   source and any header files).
#
#===================================================================

main.res: main.rc main.ico main.h dlg.h template.dlg help.rc help.h

main.obj: main.c $(HEADERS)

file.obj: file.c $(HEADERS)

edit.obj: edit.c $(HEADERS)

user.obj: user.c $(HEADERS)

init.obj: init.c $(HEADERS)

pnt.obj: pnt.c $(HEADERS)

dlg.obj: dlg.c $(HEADERS)

help.obj: help.c $(HEADERS) help.h

prnt.obj: prnt.c $(HEADERS)

thrd.obj: thrd.c $(HEADERS)



#-------------------------------------------------------------------
#   This section creates the help manager file.  The IPF compiler
#   creates a file called main.hlp which is renamed to template.hlp.
#-------------------------------------------------------------------
template.hlp: $(ALL_IPF)
     ipfc main.ipf /W3
     if exist template.hlp del template.hlp
     rename main.hlp template.hlp


#-------------------------------------------------------------------
#   This section links the object modules into the finished program
#   using the linker command file created earlier.  At the end, the
#   resource file is bound to the application.
#-------------------------------------------------------------------
template.exe: $(ALL_OBJ1) $(ALL_OBJ2) template.def template.lnk main.res
    $(LINK) @template.lnk
    $(RC) main.res template.exe

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.