windows-nt/Source/XPSP1/NT/com/oleutest/perf16/idata/client/make16.inc
2020-09-26 16:20:57 +08:00

331 lines
6.1 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 16-bit makefile
#
# Copyright (c) 1991, Microsoft Corporation
#
# History:
#
# 18-Feb-1994 KevinRo
# 24-Feb-1994 DrewB, added OBJDIR and some other niceties from win40.mk
#
.SUFFIXES:
.SUFFIXES: .c .cxx .cpp .asm .h .inc .obj .lst
.SUFFIXES: .sys .exe .com .map .sym .def .lib .rc .res
!if "$(TARGET)" == ""
!error TARGET must be defined
!endif
OUTNUL= 1>nul 2>nul
!if "$(NTDEBUG)" != "" && "$(NTDEBUG)" != "retail"
OBJDIR = obj16d
!else
OBJDIR = obj16r
!endif
# Build up lists of files to produce from sources
!if "$(CFILES)" != ""
OBJFILES = $(OBJFILES) $(CFILES:.c=.obj)
!endif
!if "$(CXXFILES)" != ""
OBJFILES = $(OBJFILES) $(CXXFILES:.cxx=.obj)
!endif
!if "$(CPPFILES)" != ""
OBJFILES = $(OBJFILES) $(CPPFILES:.cpp=.obj)
!endif
!if "$(ASMFILES)" != ""
OBJFILES = $(OBJFILES) $(ASMFILES:.asm=.obj)
!endif
!if "$(RCFILES)" != ""
RESFILES = $(RCFILES:.rc=.res)
!endif
# Replace .\ with $(OBJDIR)
# Unfortunately we can't do this directly so we have to explicitly check
# the value of OBJDIR
!if "$(OBJDIR)" == "obj16d"
OBJFILES = $(OBJFILES:.\=obj16d\)
RESFILES = $(RESFILES:.\=obj16d\)
!elseif "$(OBJDIR)" == "obj16r"
OBJFILES = $(OBJFILES:.\=obj16r\)
RESFILES = $(RESFILES:.\=obj16r\)
!else
!error Unknown OBJDIR: $(OBJDIR)
!endif
# Default target
all: $(OBJDIR)\$(TARGET)
# Determine target type and base name
# Is it a DLL?
TARGETBASE=$(TARGET:.dll=)
!if "$(TARGETBASE)" != "$(TARGET)"
TARGETTYPE=dll
!else
# Is it an EXE?
TARGETBASE=$(TARGET:.exe=)
! if "$(TARGETBASE)" != "$(TARGET)"
TARGETTYPE=exe
! else
# Is it a LIB?
TARGETBASE=$(TARGET:.lib=)
! if "$(TARGETBASE)" != "$(TARGET)"
TARGETTYPE=lib
! endif
! endif
!endif
!if "$(TARGETTYPE)" == ""
!error Unknown target type for "$(TARGET)"
!endif
!if "$(BUILDDETAILS)" != ""
BLDKEEP= KEEP
!endif
OLETHUNK= $(_NTDRIVE)$(_NTROOT)\private\ole32\olethunk
OLE16= $(OLETHUNK)\ole16
RCINC = $(RCINC) -i$(OLE16)\inc
INCS = -I$(OLE16)\inc -I$(OLETHUNK)\h -I$(_NTDRIVE)$(_NTROOT)\private\cinc
PATH = $(OLE16)\tools;$(PATH)
LINK = link16
RC = rc16
CL = cl16
IMPLIB = implib
LIBUTIL = lib16
MAPSYM = mapsym
MASM = masm
DEFINES = -DWOW
AOBJ = -Mx -t $(DEFINES) $(INCS)
!if "$(TARGETTYPE)" == "exe"
CW16 = -GA
!else
CW16 = -GD
DEFINES = $(DEFINES) -D_WINDLL
!endif
CW16 = $(CW16) -G2 -AL $(DEFINES) $(INCS) /NMSEG_CODE
LFLAGS = $(LFLAGS) /nod /noe /map:0 /align:16
!if "$(NTDEBUG)" != "" && "$(NTDEBUG)" != "retail"
DEFINES = $(DEFINES) -DDBG=1 -DDEVL=1
!if "$(NTDEBUGTYPE)" == "windbg"
AOBJ = $(AOBJ) -Zi
CW16 = $(CW16) /Odi /Zip /FA
LFLAGS = $(LFLAGS) /CO
!else
AOBJ = $(AOBJ) -Zd
CW16 = $(CW16) /Odi /Zd
LFLAGS = $(LFLAGS) /LI
!endif
!else
CW16 = $(CW16) /Os /Zp /Gs
DEFINES = $(DEFINES) -DDBG=0 -DDEVL=1
!endif
!if "$(TARGETTYPE)" == "dll"
W16LIBS = $(OLE16)\lib\ldllcew.lib
!else
!if "$(QUICKWINDOWS)" != ""
W16LIBS = $(OLE16)\lib\llibcewq.lib
!else
W16LIBS = $(OLE16)\lib\llibcew.lib
!endif
!endif
W16LIBS = $(W16LIBS) $(OLE16)\lib\libw.lib
!if "$(TARGETTYPE)" == "dll" || "$(TARGETTYPE)" == "exe"
LIBS = $(LIBS) $(W16LIBS)
!endif
.asm{$(OBJDIR)}.obj:
@-md $(OBJDIR) $(OUTNUL)
$(MASM) $(AOBJ) $*,$*;
.asm.lst:
@-md $(OBJDIR) $(OUTNUL)
$(MASM) $(AOBJ) -l $*,nul,$*.lst;
.c{$(OBJDIR)}.obj:
@-md $(OBJDIR) $(OUTNUL)
$(CL) -c -nologo @<<$*.rsp
$(CW16: =
)
-Fo$*.obj
$<
<<$(BLDKEEP)
.c.lst:
@-md $(OBJDIR) $(OUTNUL)
$(CL) -c -nologo @<<$(OBJDIR)\$*.rsp
$(CW16: =
)
-Fonul
-Fc$*.lst
$<
<<$(BLDKEEP)
.cxx{$(OBJDIR)}.obj:
@-md $(OBJDIR) $(OUTNUL)
$(CL) -c -nologo @<<$*.rsp
$(CW16: =
)
-Fo$*.obj
-Tp$<
<<$(BLDKEEP)
.cxx.lst:
@-md $(OBJDIR) $(OUTNUL)
$(CL) -c -nologo @<<$(OBJDIR)\$*.rsp
$(CW16: =
)
-Fc$*.lst
-Fonul
-Tp$<
<<$(BLDKEEP)
.cxx.pp:
@-md $(OBJDIR) $(OUTNUL)
$(CL) -c -nologo @<<$(OBJDIR)\$*.rsp > $*.pp
$(CW16: =
)
-E
-Fonul
-Tp$<
<<$(BLDKEEP)
.cpp{$(OBJDIR)}.obj:
@-md $(OBJDIR) $(OUTNUL)
$(CL) -c -nologo @<<$*.rsp
$(CW16: =
)
-Fo$*.obj
-Tp$<
<<$(BLDKEEP)
.cpp.lst:
@-md $(OBJDIR) $(OUTNUL)
$(CL) -c -nologo @<<$(OBJDIR)\$*.rsp
$(CW16: =
)
-Fc$*.lst
-Fonul
-Tp$<
<<$(BLDKEEP)
.cpp.pp:
@-md $(OBJDIR) $(OUTNUL)
$(CL) -c -nologo @<<$(OBJDIR)\$*.rsp > $*.pp
$(CW16: =
)
-E
-Fonul
-Tp$<
<<$(BLDKEEP)
.def{$(OBJDIR)}.lib:
@-md $(OBJDIR) $(OUTNUL)
$(IMPLIB) $*.lib $<
{$(OBJDIR)}.map{$(OBJDIR)}.sym:
@-md $(OBJDIR) $(OUTNUL)
$(MAPSYM) $<
.rc{$(OBJDIR)}.res:
@-md $(OBJDIR) $(OUTNUL)
$(RC) -r $(RCINC) -fo $*.res $<
cleanup:
if exist $(OBJDIR)\*.lrf del $(OBJDIR)\*.lrf
if exist $(OBJDIR)\*.obj del $(OBJDIR)\*.obj
if exist $(OBJDIR)\*.exe del $(OBJDIR)\*.exe
if exist $(OBJDIR)\*.map del $(OBJDIR)\*.map
if exist $(OBJDIR)\*.sym del $(OBJDIR)\*.sym
if exist $(OBJDIR)\*.res del $(OBJDIR)\*.res
clean: cleanup
!if "$(TARGETTYPE)" == "dll"
$(OBJDIR)\$(TARGETBASE).lib: $(TARGETBASE).def
$(OBJDIR)\$(TARGET) $(OBJDIR)\$(TARGETBASE).map: $(OBJFILES) $(RESFILES) \
$(TARGETBASE).def $(OBJDIR)\$(TARGETBASE).lib $(LIBS)
@-md $(OBJDIR) $(OUTNUL)
$(LINK) $(LFLAGS) @<<$(OBJDIR)\$(TARGETBASE).rsp
$(OBJFILES: =+^
)
$(OBJDIR)\$(TARGET)
$(OBJDIR)\$(TARGETBASE).map
$(LIBS: =+^
)
$(TARGETBASE).def
<<$(BLDKEEP)
$(MAPSYM) -o $(OBJDIR)\$(TARGETBASE).sym $(OBJDIR)\$(TARGETBASE).map
!if "$(RCFILES)" != ""
$(RC) -t $(OBJDIR)\$(TARGETBASE).res $(OBJDIR)\$(TARGET)
!endif
!elseif "$(TARGETTYPE)" == "lib"
$(OBJDIR)\$(TARGET): $(OBJFILES) $(LIBS)
@-md $(OBJDIR) $(OUTNUL)
-del $@ $(OUTNUL)
$(LIBUTIL) @<<$*.lnb
$(OBJDIR)\$(TARGET)
y
$(OBJFILES: = &^
)&
$(LIBS: = &^
)&
$*.lls
<<$(BLDKEEP)
!elseif "$(TARGETTYPE)" == "exe"
$(OBJDIR)\$(TARGET) $(OBJDIR)\$(TARGETBASE).map: $(OBJFILES) $(RESFILES) \
$(TARGETBASE).def $(LIBS)
@-md $(OBJDIR) $(OUTNUL)
$(LINK) $(LFLAGS) @<<$(OBJDIR)\$(TARGETBASE).rsp
$(OBJFILES: =+^
)
$(OBJDIR)\$(TARGET)
$(OBJDIR)\$(TARGETBASE).map
$(LIBS: =+^
)
$(TARGETBASE).def
<<$(BLDKEEP)
!if "$(RCFILES)" != ""
$(RC) -t $(OBJDIR)\$(TARGETBASE).res $(OBJDIR)\$(TARGET)
!endif
$(MAPSYM) -o $(OBJDIR)\$(TARGETBASE).sym $(OBJDIR)\$(TARGETBASE).map
!endif