#******************************************************************** #** Microsoft Windows ** #** Copyright(c) Microsoft Corp., 1992 - 1993 ** #******************************************************************** # # GNU MAKE VERSION OF MAKEFILE FOR THE REFERENCE IMPL # ifneq (,) This makefile requires GNU Make. endif include commk.gcc # uncomment the appropriate line to specify whether you want # property set code PROPS_OPT=props #PROPS_OPT=noprops ifeq ($(PROPS_OPT),props) ADD_CFLAGS += -DNEWPROPS endif # the base directory where the code resides BASE_DIR=. ifeq ($(PROPS_OPT),props) ifneq ($(DBG_FLAGS),-DNDEBUG) DBG_FLAGS += -DDBGPROP endif endif # Put compiler specific flags in CFLAGS CFLAGS = $(DBG_FLAGS) -D_UNIX $(ADD_CFLAGS) $(BYTE_ORDER) ifeq ($(U_OPTS),use_unicode) CFLAGS += -D_UNICODE=1 endif # export variables so that sub- Make processes can see them export CFLAGS export DBG_FLAGS CINC = 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 \ expdf.cxx \ cdocfile.cxx \ rexpdf.cxx \ time.cxx \ docfile.cxx \ ascii.cxx \ expst.cxx \ expiter.cxx \ storage.cxx \ mem.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 SOURCES= $(CXXFILES) $(HEADERS) CXX_OBJS1=$(CXXFILES:%.cxx=obj/%.o) CXX_OBJS=$(CXX_OBJS1:%.c=obj/%.o) PROPS_OBJDIR = ./props/obj ifeq ($(PROPS_OPT),props) PROPS_OBJS=\ $(PROPS_OBJDIR)/psetstg.o\ $(PROPS_OBJDIR)/utils.o\ $(PROPS_OBJDIR)/ntprop.o\ $(PROPS_OBJDIR)/ntpropb.o\ $(PROPS_OBJDIR)/propstm.o\ $(PROPS_OBJDIR)/propvar.o\ $(PROPS_OBJDIR)/stgvarb.o\ $(PROPS_OBJDIR)/propstg.o\ $(PROPS_OBJDIR)/qsort.o else PROPS_OBJS= endif default: "$(OBJDIR)" propmk $(OBJDIR)/refstg.a propmk: cd props; $(MAKE); cd .. #clear all the files then build clean: clobber default # make etags for source browsing tags: $(SOURCES) etags $(SOURCES) # clear all the files: clobber: -@rm -rf $(OBJDIR)/*.o $(OBJDIR)/refstg.a cd props; $(MAKE) clobber # make the directory "$(OBJDIR)": -@if [ ! -r $(OBJDIR) ]; then mkdir $(OBJDIR); fi $(OBJDIR)/refstg.a: $(CXX_OBJS) $(PROPS_OBJS) $(ARCHIVE) $@ $(CXX_OBJS) $(PROPS_OBJS) $(OBJDIR)/%.o: %.c $(CC) -c $(CFLAGS) $(CINC) $< -o $@ $(OBJDIR)/%.o: %.cxx $(CC) -c $(CFLAGS) $(CINC) $< -o $@ include depend.gcc