#******************************************************************** #** 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) $(OBJDIR)\refstg.dll #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 .. depend:: $(SRCS) @echo "### Making dependencies " $(DEPEND) -fdepend.msc $(CINC) -I. -I./h -Iprops/h $(CFLAGS) $(CXXFILES) $(HEADERS) cd props nmake depend 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) <