mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
251 lines
5.7 KiB
251 lines
5.7 KiB
# This is a part of the Microsoft Foundation Classes C++ library.
|
|
# Copyright (C) 1992-1995 Microsoft Corporation
|
|
# All rights reserved.
|
|
#
|
|
# This source code is only intended as a supplement to the
|
|
# Microsoft Foundation Classes Reference and related
|
|
# electronic documentation provided with the library.
|
|
# See these sources for detailed information regarding the
|
|
# Microsoft Foundation Classes product.
|
|
|
|
# MFC42[D].DLL is a DLL
|
|
# which exports all the MFC classes
|
|
#
|
|
# If you need a private build of the MFC DLL, be sure to rename
|
|
# "MFC42.DLL" to something more appropriate for your application.
|
|
# Please do not re-distribute a privately built version with the
|
|
# name "MFC42.DLL".
|
|
#
|
|
# Use nmake /f mfcdll.mak LIBNAME=<your name> to do this.
|
|
#
|
|
# Note: LIBNAME must be 6 characters or less.
|
|
|
|
!ifndef LIBNAME
|
|
!error LIBNAME is not defined. LIBNAME=MFC42 builds the prebuilt DLL.
|
|
!endif
|
|
|
|
!if "$(DEBUG)" != "0"
|
|
CRTDLL=msvcrtd.lib
|
|
!else
|
|
CRTDLL=msvcrt.lib
|
|
!endif
|
|
|
|
TARGET=w
|
|
DLL=2
|
|
TARGDEFS=/D_AFX_CORE_IMPL
|
|
LFLAGS=/nodefaultlib
|
|
RCFLAGS=/r
|
|
|
|
!if "$(UNICODE)" == "1"
|
|
TARGTYPE=U
|
|
RCDEFINES=$(RCDEFINES) /D_UNICODE
|
|
!endif
|
|
|
|
!if "$(PLATFORM)" == "M68K"
|
|
PF=M
|
|
CRTDLL=msvcrt.lib
|
|
!ifndef MONOLITHIC
|
|
MONOLITHIC=0
|
|
!endif
|
|
!elseif "$(PLATFORM)" == "MPPC"
|
|
PF=P
|
|
!ifndef MONOLITHIC
|
|
MONOLITHIC=0
|
|
!endif
|
|
!endif
|
|
|
|
!if "$(DEBUG)" != "0"
|
|
# Debug DLL build
|
|
TARGTYPE=$(TARGTYPE)D
|
|
RCDEFINES=$(RCDEFINES) /D_DEBUG
|
|
LFLAGS=$(LFLAGS)
|
|
!ifndef MONOLITHIC
|
|
MONOLITHIC=0
|
|
!endif
|
|
!ELSE
|
|
# Release DLL build
|
|
RCDEFINES=$(RCDEFINES)
|
|
LFLAGS=$(LFLAGS)
|
|
!ifndef MONOLITHIC
|
|
MONOLITHIC=1
|
|
!endif
|
|
!ENDIF
|
|
|
|
!if "$(MONOLITHIC)" == "1"
|
|
TARGDEFS=$(TARGDEFS) /D_AFX_OLE_IMPL /D_AFX_DB_IMPL /D_AFX_NET_IMPL
|
|
RCDEFINES=$(RCDEFINES) /D_AFX_MONOLITHIC
|
|
!endif
|
|
|
|
CFNAME=$(LIBNAME)$(TARGTYPE)
|
|
TARG=$(LIBNAME)$(PF)$(TARGTYPE)
|
|
TARG_STATIC=MFCS42$(PF)$(TARGTYPE)
|
|
|
|
# OPT:noref keeps unreferenced functions (ie. no dead-code elimination)
|
|
!if "$(REGEN)" == "0"
|
|
LFLAGS=$(LFLAGS) /opt:ref
|
|
!else
|
|
LFLAGS=$(LFLAGS) /opt:noref
|
|
!endif
|
|
|
|
DEFFILE=$(PLATFORM)\$(TARG).DEF
|
|
|
|
!if "$(DEBUGTYPE)" == ""
|
|
DEBUGTYPE=cv
|
|
!endif
|
|
|
|
!if "$(CODEVIEW)" != "0"
|
|
!if "$(REGEN)" != "1"
|
|
LFLAGS=$(LFLAGS) /debug:full /debugtype:$(DEBUGTYPE)
|
|
!else
|
|
LFLAGS=$(LFLAGS) /debug:none
|
|
!endif
|
|
!if "$(NO_PDB)" != "1" && "$(REGEN)" != "1"
|
|
LFLAGS=$(LFLAGS) /pdb:$(TARG).pdb
|
|
!else
|
|
LFLAGS=$(LFLAGS) /pdb:none
|
|
!endif
|
|
!else
|
|
LFLAGS=$(LFLAGS) /debug:none
|
|
!if "$(INCREMENTAL)" != "1"
|
|
LFLAGS=$(LFLAGS) /incremental:no
|
|
!endif
|
|
!endif
|
|
|
|
!ifdef RELEASE # Release VERSION info
|
|
RCDEFINES=$(RCDEFINES) /DRELEASE
|
|
LFLAGS=$(LFLAGS) /release
|
|
!endif
|
|
|
|
LFLAGS=$(LFLAGS) /dll
|
|
|
|
!if "$(ORDER)" == "1"
|
|
!if exist($(PLATFORM)\$(TARG).prf)
|
|
DEFS=$(DEFS) /D_AFX_FUNCTION_ORDER
|
|
LFLAGS=$(LFLAGS) /order:@$(PLATFORM)\$(TARG).prf
|
|
!endif
|
|
!endif
|
|
|
|
!if "$(PLATFORM)" == "PPC"
|
|
LIBS=$(LIBS) int64.lib /force:multiple
|
|
!endif
|
|
|
|
dll_goal: create2.dir \
|
|
$(TARG).dll ..\lib\$(TARG).lib ..\lib\$(TARG_STATIC).lib
|
|
|
|
#############################################################################
|
|
# import most rules and library files from normal makefile
|
|
|
|
!include makefile
|
|
|
|
create2.dir:
|
|
@-if not exist $D\*.* mkdir $D
|
|
|
|
#############################################################################
|
|
# more flags and switches
|
|
|
|
!ifndef MACOS
|
|
LFLAGS=$(LFLAGS) /version:4.2 /base:0x5F400000
|
|
LIBS=$(CRTDLL) kernel32.lib gdi32.lib user32.lib uuid.lib daouuid.lib $(PROFLIB)
|
|
!else
|
|
!if "$(BASE)" == "M68K"
|
|
!error DLL build is not supported for 68K Macintosh
|
|
!endif
|
|
|
|
LFLAGS=$(LFLAGS) /mac:nomfilepad
|
|
RCFLAGS=$(RCFLAGS) /m
|
|
|
|
!if "$(DEBUG)" != "0"
|
|
LIBS=msvcwlmd.lib
|
|
!else
|
|
LIBS=msvcwlm.lib
|
|
!endif
|
|
|
|
LIBS=uuid.lib $(CRTDLL) $(LIBS) interfac.lib
|
|
!endif
|
|
|
|
#############################################################################
|
|
|
|
STATICLINK_OBJS=$D\stdafx.obj $D\nolib.obj \
|
|
$D\appmodul.obj $D\dllmodul.obj $D\oleexp.obj
|
|
|
|
CPPFLAGS_STATIC=\
|
|
$(CL_MODEL) $(CL_OPT) $(DEFS) $(OPT) $(EH) /Gy /Fd..\lib\$(TARG_STATIC).pdb
|
|
|
|
PCH_TARGET=$D\stdafx.obj
|
|
|
|
$D\stdafx.obj $D\stdafxs.pch: stdafx.cpp stdafx.h
|
|
cl @<<
|
|
/c $(CPPFLAGS_STATIC) /Ycstdafx.h /Fp$D\stdafxs.pch stdafx.cpp
|
|
<<
|
|
|
|
$D\appmodul.obj: $D\stdafx.obj appmodul.cpp
|
|
cl @<<
|
|
/c $(CPPFLAGS_STATIC) /Yustdafx.h /Fp$D\stdafxs.pch appmodul.cpp
|
|
<<
|
|
|
|
$D\dllmodul.obj: $D\stdafx.obj dllmodul.cpp
|
|
cl @<<
|
|
/c $(CPPFLAGS_STATIC) /Yustdafx.h /Fp$D\stdafxs.pch dllmodul.cpp
|
|
<<
|
|
|
|
$D\oleexp.obj: $D\stdafx.obj oleexp.cpp
|
|
cl @<<
|
|
/c $(CPPFLAGS_STATIC) /Yustdafx.h /Fp$D\stdafxs.pch oleexp.cpp
|
|
<<
|
|
|
|
$D\nolib.obj: $D\stdafx.obj nolib.cpp
|
|
cl @<<
|
|
/c $(CPPFLAGS_STATIC) /Yustdafx.h /Fp$D\stdafxs.pch nolib.cpp
|
|
<<
|
|
|
|
#############################################################################
|
|
# Build target
|
|
|
|
$D\$(TARG).res: mfcdll.rc build_.h
|
|
rc $(RCFLAGS) $(RCDEFINES) /fo $D\$(TARG).res mfcdll.rc
|
|
!ifdef MACOS
|
|
mrc /DRESFILE=\"$@\" /o $@ attribut.r
|
|
!endif
|
|
|
|
$D\$(TARG).rsc: mfcdll.r
|
|
mrc /DARCHITECTURE=$(MACOS_ARCH) /DLIBNAME=\"Microsoft$(CFNAME)Lib\" \
|
|
/DJDATE=$(JULIAN) /DJDATESTR=\"$(JULIAN)\" \
|
|
/DCURRENTVER=0x04008000 /DOLDDEFVER=0x04008000 \
|
|
/o $D\$(TARG).rsc mfcdll.r
|
|
|
|
DLL_OBJS=$(OBJECT) $(OBJDIAG) $(INLINES) $(FILES) $(COLL1) $(COLL2) $(MISC) \
|
|
$(WINDOWS) $(DIALOG) $(WINMISC) $(DOCVIEW) $(APPLICATION) $(OLEREQ) \
|
|
$(INTERNET)
|
|
|
|
!if "$(MONOLITHIC)" == "1"
|
|
DLL_OBJS=$(DLL_OBJS) $(SOCKETS) $(OLEDLL) $(DAO) $(DB)
|
|
!endif
|
|
|
|
DLL_OBJS=$(DLL_OBJS) $D\dllinit.obj
|
|
|
|
DLL_RESOURCES=$D\$(TARG).res
|
|
!ifdef MACOS
|
|
DLL_RESOURCES=$(DLL_RESOURCES) $D\$(TARG).rsc
|
|
!endif
|
|
|
|
$(TARG).dll ..\lib\$(TARG).lib: $(DLL_OBJS) $(DEFFILE) $(DLL_RESOURCES)
|
|
link @<<
|
|
$(LFLAGS)
|
|
$(LIBS)
|
|
$(DLL_OBJS)
|
|
$(DLL_RESOURCES)
|
|
/def:$(DEFFILE)
|
|
/out:$(TARG).DLL
|
|
/map:$D\$(TARG).MAP
|
|
/implib:..\lib\$(TARG).LIB
|
|
!ifdef MACOS
|
|
/mac:type=shlb /mac:creator=cfmg
|
|
/mac:init=WlmConnectionInit
|
|
/import:currentver=67141632,oldcodever=67141632,oldapiver=67141632
|
|
!endif
|
|
<<
|
|
|
|
..\lib\$(TARG_STATIC).lib: $(STATICLINK_OBJS)
|
|
lib /out:$@ $(STATICLINK_OBJS)
|
|
|
|
#############################################################################
|