#******************************************************************** #** Microsoft Windows ** #** Copyright(c) Microsoft Corp., 1992 - 1996 ** #******************************************************************** !INCLUDE commk.msc # default to compiling property set support POPTS= # include property code only for non-ASCII and when NOPROPS is defined !IF "$(NOPROPS)" == "" POPTS=-DNEWPROPS !ENDIF # Put compiler specific flags on the first line CFLAGS = -c -nologo $(DBG_FLAGS) -Zle -W4 \ -D_MT $(POPTS) $(U_OPTS) $(BYTE_ORDER) $(ADD_CFLAGS) # Put linker specific flags here. LFLAGS = /nologo /dll $(LDBG_FLAGS) # The reference implementation needs a C runtime library # for DEBUG, use msvcrtd.lib , for retail, use msvcrt.dll # $(LIBC) is defined in commk.msc -- the common makefile EXELIBS = $(LIBC) OBJDIR = obj CXXFILES = \ .\msf.cxx\ .\dir.cxx\ .\dirp.cxx\ .\fat.cxx\ .\mstream.cxx\ .\sstream.cxx\ .\msfiter.cxx\ .\header.cxx\ .\difat.cxx\ .\page.cxx\ .\vect.cxx\ .\refilb.cxx\ .\funcs.cxx\ .\chinst.cxx\ .\entry.cxx\ .\dffuncs.cxx\ .\dfstream.cxx\ .\dfiter.cxx\ .\iter.cxx\ .\cdocfile.cxx\ .\rexpdf.cxx\ .\docfile.cxx\ .\ascii.cxx\ .\expst.cxx\ .\expiter.cxx\ .\expdf.cxx\ .\storage.cxx\ .\mem.cxx\ .\time.cxx \ .\wchar.c \ HEADERS= ascii.hxx\ dfbasis.hxx\ expiter.hxx\ iter.hxx\ mread.hxx\ byteordr.hxx\ expdf.hxx\ expst.hxx\ time.hxx\ h\cdocfile.hxx\ h\dirfunc.hxx\ h\handle.hxx\ h\piter.hxx\ h\storage.h\ h\chinst.hxx\ h\docfile.hxx\ h\header.hxx\ h\props.h\ h\storagep.h\ h\dfexcept.hxx\ h\docfilep.hxx\ h\mem.hxx\ h\propstm.hxx\ h\tchar.h\ h\dffuncs.hxx\ h\entry.hxx\ h\msf.hxx\ h\ref.hxx\ h\vect.hxx\ h\dfmsp.hxx\ h\error.hxx\ h\msffunc.hxx\ h\refilb.hxx\ h\vectfunc.hxx\ h\dfver.h\ h\fat.hxx\ h\msfiter.hxx\ h\revert.hxx\ h\wchar.h\ h\difat.hxx\ h\funcs.hxx\ h\ole.hxx\ h\rexpdf.hxx\ h\dir.hxx\ h\page.hxx\ h\sstream.hxx CXX_OBJS=$(CXXFILES:.cxx=.obj) CXX_OBJS=$(CXX_OBJS:.c=.obj) CXX_OBJS=$(CXX_OBJS:.\=obj\) PROPS_OBJDIR=.\props\obj PROPS_OBJS=\ $(PROPS_OBJDIR)\psetstg.obj\ $(PROPS_OBJDIR)\utils.obj\ $(PROPS_OBJDIR)\ntprop.obj\ $(PROPS_OBJDIR)\ntpropb.obj\ $(PROPS_OBJDIR)\propstm.obj\ $(PROPS_OBJDIR)\propvar.obj\ $(PROPS_OBJDIR)\stgvarb.obj\ $(PROPS_OBJDIR)\propstg.obj default: $(OBJDIR) propmk $(OBJDIR)\refstg.dll propmk: cd props nmake /$(MAKEFLAGS) cd .. #clear all the files then build clean: clobber default # clear all the files clobber: @if exist "$(OBJDIR)\*.obj" erase "$(OBJDIR)\*.obj" @if exist "$(OBJDIR)\refstg.dll" erase "$(OBJDIR)\refstg.dll" @if exist "$(OBJDIR)\refstg.dll" erase "$(OBJDIR)\refstg.dll" @if exist "$(OBJDIR)\refstg.lib" erase "$(OBJDIR)\refstg.lib" @if exist "$(OBJDIR)\refstg.map" erase "$(OBJDIR)\refstg.map" @if exist "$(OBJDIR)\refstg.exp" erase "$(OBJDIR)\refstg.exp" @if exist "$(OBJDIR)\refstg.lnk" erase "$(OBJDIR)\refstg.lnk" cd props nmake clobber cd .. # make the directory if it does not exist $(OBJDIR): @if not exist "$(OBJDIR)" mkdir $(OBJDIR) !IF "$(POPTS)" != "" OBJS=$(CXX_OBJS) $(PROPS_OBJS) DEF_FILE=refprop.def !ELSE OBJS=$(CXX_OBJS) DEF_FILE=refstg.def !ENDIF $(OBJDIR)\refstg.dll: $(OBJS) $(LINKER) @<<$*.lnk $(LFLAGS) $(OBJS: = ^ ) $(EXELIBS) /OUT:$*.dll /MAP:$*.map /DEF:$(DEF_FILE) <