Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

282 lines
7.9 KiB

#############################################################################
## Makefile for MIDL compiler
## History:
## 22-Jan-1991 VibhasC Retrofitted for new build process
## 19-Jun-1991 Mikemon Added support for NT build process
## 21-May-1992 Brucemc Added C7 support and cleaned up.
##############################################################################
!ifdef NTMAKEENV
# We need to do the following so that build will stop reading from the
# pipe.
!ifdef BUILDMSG
all :
echo $(BUILDMSG)
clean : all
!endif # BUILDMSG
!else # NTMAKEENV
!ifndef RPC
!error - You forgot to set your build environment
!endif
##############################################################################
# initialisation of env
##############################################################################
BASEDIR = $(RPC)\midlnew
MIDLINCL = $(BASEDIR)\include
# If this is an NT-hosted build, we want to build only the DOSX32 stuff
!if "$(BLD)"=="nt"
DOSX32=
!endif
!include rules.mk
##############################################################################
# platform independent definitions
##############################################################################
TARGETDIR = $(BASEDIR)
!ifdef RELEASE
RELEASEFLAG = RELEASE=
!else
RELEASEFLAG =
!endif
EXENAME = $(TARGETDIR)\midl.exe
M0_OBJDIR = front
M1_OBJDIR = front
M2_OBJDIR = front
M4_OBJDIR = back\src
!if (defined(DOSX32) || defined(DOSX16))
SUBDIRS = front back\src
!else
SUBDIRS = yacc erec pg front back\src
!endif
ALLMIDLOBJS = \
$(M0_OBJDIR)\grammar.$(OBJ) \
$(M0_OBJDIR)\acfgram.$(OBJ) \
$(M0_OBJDIR)\main.$(OBJ) \
$(M0_OBJDIR)\cmdana.$(OBJ) \
$(M0_OBJDIR)\filehndl.$(OBJ) \
$(M0_OBJDIR)\errhndl.$(OBJ) \
$(M0_OBJDIR)\listhndl.$(OBJ) \
$(M0_OBJDIR)\memory.$(OBJ) \
$(M0_OBJDIR)\lextable.$(OBJ) \
$(M0_OBJDIR)\lex.$(OBJ) \
$(M0_OBJDIR)\lexutils.$(OBJ) \
$(M0_OBJDIR)\nkeyw.$(OBJ) \
$(M0_OBJDIR)\dict.$(OBJ) \
$(M0_OBJDIR)\attrdict.$(OBJ) \
$(M0_OBJDIR)\attrnode.$(OBJ) \
$(M0_OBJDIR)\nodeskl.$(OBJ) \
$(M0_OBJDIR)\node0.$(OBJ) \
$(M0_OBJDIR)\pass1.$(OBJ) \
$(M0_OBJDIR)\gramutil.$(OBJ) \
$(M0_OBJDIR)\symtable.$(OBJ) \
$(M0_OBJDIR)\basetype.$(OBJ) \
$(M0_OBJDIR)\ctxt.$(OBJ) \
$(M0_OBJDIR)\typedef.$(OBJ) \
$(M0_OBJDIR)\miscnode.$(OBJ) \
$(M0_OBJDIR)\compnode.$(OBJ) \
$(M0_OBJDIR)\procnode.$(OBJ) \
$(M0_OBJDIR)\ptrarray.$(OBJ) \
$(M0_OBJDIR)\newexpr.$(OBJ) \
$(M0_OBJDIR)\idict.$(OBJ) \
$(M0_OBJDIR)\util.$(OBJ) \
$(M0_OBJDIR)\acfattr.$(OBJ) \
$(M0_OBJDIR)\pass2.$(OBJ) \
$(M0_OBJDIR)\baduse.$(OBJ) \
$(M0_OBJDIR)\erep.$(OBJ) \
$(M0_OBJDIR)\ppcmd.$(OBJ) \
$(M0_OBJDIR)\tlnmgr.$(OBJ) \
$(M0_OBJDIR)\data.$(OBJ) \
\
$(M4_OBJDIR)\stubgen.$(OBJ) \
$(M4_OBJDIR)\emittype.$(OBJ) \
$(M4_OBJDIR)\emitproc.$(OBJ) \
$(M4_OBJDIR)\miscgen.$(OBJ) \
$(M4_OBJDIR)\codegen.$(OBJ) \
$(M4_OBJDIR)\walkgen.$(OBJ) \
$(M4_OBJDIR)\sizegen.$(OBJ) \
$(M4_OBJDIR)\sendgen.$(OBJ) \
$(M4_OBJDIR)\recvgen.$(OBJ) \
$(M4_OBJDIR)\peekgen.$(OBJ) \
$(M4_OBJDIR)\initgen.$(OBJ) \
$(M4_OBJDIR)\freegen.$(OBJ) \
$(M4_OBJDIR)\buffer.$(OBJ) \
$(M4_OBJDIR)\output.$(OBJ) \
$(M4_OBJDIR)\outbind.$(OBJ) \
$(M4_OBJDIR)\outhelp.$(OBJ) \
$(M4_OBJDIR)\outmisc.$(OBJ) \
$(M4_OBJDIR)\outstub.$(OBJ) \
$(M4_OBJDIR)\outwire.$(OBJ) \
$(M4_OBJDIR)\cstack.$(OBJ) \
$(M4_OBJDIR)\debugger.$(OBJ)
##############################################################################
# platform dependent definitions
##############################################################################
!ifdef DOSX32
DEFFILENAME = winapp.def
EXENAME = $(TARGETDIR)\winapp.exe
GENCOMMAND1 =
GENCOMMAND2 = copy winapp.exe midlwin.exe && erase winapp.exe
LIBRARIES = $(IMPORT)\c8\dosx32\lib\libc.lib \
$(IMPORT)\c8\dosx32\lib\ms32base.lib
LINKER = $(IMPORT)\c8\binp\link386.exe
LINKFLAGS = /st:8192 /linenumber /map:0 /keepfixups /on:n
LINKFLAGSEXTRA = /NOD
MAPFILENAME = winapp.map
NMAKE_FLAGS = DOSX32= $(RELEASEFLAG)
!else # DOSX32
! ifdef DOSX16
DEFFILENAME =
EXENAME = $(TARGETDIR)\genapp.exe
GENCOMMAND1 = $(GENBUILD)
GENCOMMAND2 = copy generic.exe midlwin.exe && erase generic.exe
LIBRARIES = $(IMPORT)\dosx16\lib\llibcex.lib $(CCPLR)\lib\$(LLIBCE)
LINKER = $(LINK52)
LINKFLAGS = /st:8192
LINKFLAGSEXTRA = /dosext
MAPFILENAME = NUL.MAP
NMAKE_FLAGS = DOSX16= $(RELEASEFLAG)
! else # DOSX16
DEFFILENAME = midl.def
EXENAME = $(TARGETDIR)\midl.exe
LIBRARIES = $(CCPLR)\lib\$(LLIBCE) $(IMPORT)\os212\lib\os2.lib $(OLDNAMES)
LINKER = $(LINK4)
LINKFLAGS = $(CV) /st:8192 /on:n
LINKFLAGSEXTRA = /pm:vio /NOD
MAPFILENAME = NUL.MAP
NMAKE_FLAGS = $(RELEASEFLAG)
! endif # DOSX16
!endif # DOSX32
##############################################################################
# summary definitions
##############################################################################
##############################################################################
# targets of interest
##############################################################################
all : alltargets $(EXENAME) generate
alltargets:
for %%i in ($(SUBDIRS)) do (cd %%i && ($(MAKE) -$(MAKEFLAGS) $(NMAKE_FLAGS) all || exit) && cd ..)
$(EXENAME) : $(ALLMIDLOBJS)
$(LINKER) $(LINKFLAGS) $(LINKFLAGSEXTRA) @<<midl.tmp
$(M0_OBJDIR)\grammar.$(OBJ) +
$(M0_OBJDIR)\acfgram.$(OBJ) +
$(M0_OBJDIR)\main.$(OBJ) +
$(M0_OBJDIR)\cmdana.$(OBJ) +
$(M0_OBJDIR)\filehndl.$(OBJ) +
$(M0_OBJDIR)\errhndl.$(OBJ) +
$(M0_OBJDIR)\listhndl.$(OBJ) +
$(M0_OBJDIR)\memory.$(OBJ) +
$(M0_OBJDIR)\lextable.$(OBJ) +
$(M0_OBJDIR)\lex.$(OBJ) +
$(M0_OBJDIR)\lexutils.$(OBJ) +
$(M0_OBJDIR)\nkeyw.$(OBJ) +
$(M0_OBJDIR)\dict.$(OBJ) +
$(M0_OBJDIR)\attrdict.$(OBJ) +
$(M0_OBJDIR)\attrnode.$(OBJ) +
$(M0_OBJDIR)\nodeskl.$(OBJ) +
$(M0_OBJDIR)\node0.$(OBJ) +
$(M0_OBJDIR)\pass1.$(OBJ) +
$(M0_OBJDIR)\gramutil.$(OBJ) +
$(M0_OBJDIR)\symtable.$(OBJ) +
$(M0_OBJDIR)\basetype.$(OBJ) +
$(M0_OBJDIR)\ctxt.$(OBJ) +
$(M0_OBJDIR)\typedef.$(OBJ) +
$(M0_OBJDIR)\miscnode.$(OBJ) +
$(M0_OBJDIR)\compnode.$(OBJ) +
$(M0_OBJDIR)\procnode.$(OBJ) +
$(M0_OBJDIR)\ptrarray.$(OBJ) +
$(M0_OBJDIR)\newexpr.$(OBJ) +
$(M0_OBJDIR)\idict.$(OBJ) +
$(M0_OBJDIR)\util.$(OBJ) +
$(M0_OBJDIR)\acfattr.$(OBJ) +
$(M0_OBJDIR)\pass2.$(OBJ) +
$(M0_OBJDIR)\baduse.$(OBJ) +
$(M0_OBJDIR)\erep.$(OBJ) +
$(M0_OBJDIR)\ppcmd.$(OBJ) +
$(M0_OBJDIR)\tlnmgr.$(OBJ) +
$(M0_OBJDIR)\data.$(OBJ) +
+
$(M4_OBJDIR)\stubgen.$(OBJ) +
$(M4_OBJDIR)\emittype.$(OBJ) +
$(M4_OBJDIR)\emitproc.$(OBJ) +
$(M4_OBJDIR)\miscgen.$(OBJ) +
$(M4_OBJDIR)\codegen.$(OBJ) +
$(M4_OBJDIR)\walkgen.$(OBJ) +
$(M4_OBJDIR)\sizegen.$(OBJ) +
$(M4_OBJDIR)\sendgen.$(OBJ) +
$(M4_OBJDIR)\recvgen.$(OBJ) +
$(M4_OBJDIR)\peekgen.$(OBJ) +
$(M4_OBJDIR)\initgen.$(OBJ) +
$(M4_OBJDIR)\freegen.$(OBJ) +
$(M4_OBJDIR)\buffer.$(OBJ) +
$(M4_OBJDIR)\output.$(OBJ) +
$(M4_OBJDIR)\outbind.$(OBJ) +
$(M4_OBJDIR)\outhelp.$(OBJ) +
$(M4_OBJDIR)\outmisc.$(OBJ) +
$(M4_OBJDIR)\outstub.$(OBJ) +
$(M4_OBJDIR)\outwire.$(OBJ) +
$(M4_OBJDIR)\cstack.$(OBJ) +
$(M4_OBJDIR)\debugger.$(OBJ)
$(EXENAME)
$(MAPFILENAME)
$(LIBRARIES)
$(DEFFILENAME)
<<KEEP
generate:
$(GENCOMMAND1)
$(GENCOMMAND2)
##############################################################################
clean :
for %%i in ($(SUBDIRS)) do (cd %%i && ($(MAKE) -$(MAKEFLAGS) $(NMAKE_FLAGS) clean || exit ) && cd ..)
clobber :
for %%i in ($(SUBDIRS)) do (cd %%i && ($(MAKE) -$(MAKEFLAGS) $(NMAKE_FLAGS) clobber || exit ) && cd ..)
-erase $(TARGETDIR)\midl.exe
depend :
for %%i in ($(SUBDIRS)) do (cd %%i && ($(MAKE) -$(MAKEFLAGS) $(NMAKE_FLAGS) depend || exit ) && cd ..)
tree :
for %%i in ($(SUBDIRS)) do (cd %%i && ($(MAKE) -$(MAKEFLAGS) $(NMAKE_FLAGS) tree || exit ) && cd ..)
- copy midl.exe $(RPCDIST)\Os2\bin\midl.exe
copy midlwin.exe $(RPCDIST)\Dos\bin\midl.exe
copy $(MIDLINCL)\errors.hxx $(RPCDIST)\ct
copy $(MIDLINCL)\errdb.h $(RPCDIST)\ct
!ifdef DOSX16
copy midldos.exe $(RPCDIST)\Dos\bin\midl.exe
!endif DOSX16
!endif # NTMAKEENV