1*8809db7aSAndrew Rist#************************************************************** 2*8809db7aSAndrew Rist# 3*8809db7aSAndrew Rist# Licensed to the Apache Software Foundation (ASF) under one 4*8809db7aSAndrew Rist# or more contributor license agreements. See the NOTICE file 5*8809db7aSAndrew Rist# distributed with this work for additional information 6*8809db7aSAndrew Rist# regarding copyright ownership. The ASF licenses this file 7*8809db7aSAndrew Rist# to you under the Apache License, Version 2.0 (the 8*8809db7aSAndrew Rist# "License"); you may not use this file except in compliance 9*8809db7aSAndrew Rist# with the License. You may obtain a copy of the License at 10*8809db7aSAndrew Rist# 11*8809db7aSAndrew Rist# http://www.apache.org/licenses/LICENSE-2.0 12*8809db7aSAndrew Rist# 13*8809db7aSAndrew Rist# Unless required by applicable law or agreed to in writing, 14*8809db7aSAndrew Rist# software distributed under the License is distributed on an 15*8809db7aSAndrew Rist# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*8809db7aSAndrew Rist# KIND, either express or implied. See the License for the 17*8809db7aSAndrew Rist# specific language governing permissions and limitations 18*8809db7aSAndrew Rist# under the License. 19*8809db7aSAndrew Rist# 20*8809db7aSAndrew Rist#************************************************************** 21cdf0e10cSrcweirPRJ=..$/.. 22cdf0e10cSrcweirPRJNAME=writerfilter 23cdf0e10cSrcweirTARGET=resourcemodel 24cdf0e10cSrcweir#LIBTARGET=NO 25cdf0e10cSrcweir#USE_DEFFILE=TRUE 26cdf0e10cSrcweirENABLE_EXCEPTIONS=TRUE 27cdf0e10cSrcweir 28cdf0e10cSrcweir# --- Settings ----------------------------------------------------- 29cdf0e10cSrcweir 30cdf0e10cSrcweir.INCLUDE : settings.mk 31cdf0e10cSrcweir.INCLUDE : $(PRJ)$/inc$/writerfilter.mk 32cdf0e10cSrcweir 33cdf0e10cSrcweir#CFLAGS+=-DISOLATION_AWARE_ENABLED -DWIN32_LEAN_AND_MEAN -DXML_UNICODE -D_NTSDK -DUNICODE -D_UNICODE -D_WIN32_WINNT=0x0501 34cdf0e10cSrcweir#CFLAGS+=-wd4710 -wd4711 -wd4514 -wd4619 -wd4217 -wd4820 35cdf0e10cSrcweirCDEFS+=-DWRITERFILTER_DLLIMPLEMENTATION 36cdf0e10cSrcweir 37cdf0e10cSrcweir 38cdf0e10cSrcweir# --- Files -------------------------------------------------------- 39cdf0e10cSrcweir 40cdf0e10cSrcweir# work around gcc taking hours and/or OOM'ing on this file 41cdf0e10cSrcweirNOOPTFILES= \ 42cdf0e10cSrcweir $(SLO)$/qnametostr.obj 43cdf0e10cSrcweir 44cdf0e10cSrcweirSLOFILES= \ 45cdf0e10cSrcweir $(SLO)$/Fraction.obj \ 46cdf0e10cSrcweir $(SLO)$/LoggedResources.obj \ 47cdf0e10cSrcweir $(SLO)$/Protocol.obj \ 48cdf0e10cSrcweir $(SLO)$/ResourceModelHelper.obj \ 49cdf0e10cSrcweir $(SLO)$/TagLogger.obj \ 50cdf0e10cSrcweir $(SLO)$/WW8Analyzer.obj \ 51cdf0e10cSrcweir $(SLO)$/XPathLogger.obj \ 52cdf0e10cSrcweir $(SLO)$/qnametostr.obj \ 53cdf0e10cSrcweir $(SLO)$/resourcemodel.obj \ 54cdf0e10cSrcweir $(SLO)$/sprmcodetostr.obj \ 55cdf0e10cSrcweir $(SLO)$/util.obj \ 56cdf0e10cSrcweir 578a115b9cSPedro Giffuni# FreeBSD/Linux 64-bit: compiler (gcc 4.2.x) fails with 'out of memory' 588a115b9cSPedro Giffuni.IF "$(OUTPATH)"=="unxfbsdx" || "$(OUTPATH)"=="unxfbsdi" || "$(OUTPATH)"=="unxlngx6" 59cdf0e10cSrcweirNOOPTFILES= \ 60cdf0e10cSrcweir $(SLO)$/qnametostr.obj 61cdf0e10cSrcweir.ENDIF 62cdf0e10cSrcweir 63cdf0e10cSrcweirSHL1TARGET=$(TARGET) 64cdf0e10cSrcweir 65cdf0e10cSrcweir.IF "$(GUI)"=="UNX" || "$(GUI)"=="MAC" 66cdf0e10cSrcweirRTFTOKLIB=-lrtftok 67cdf0e10cSrcweirDOCTOKLIB=-ldoctok 68cdf0e10cSrcweirOOXMLLIB=-looxml 69cdf0e10cSrcweir.ELIF "$(GUI)"=="WNT" 70cdf0e10cSrcweirRTFTOKLIB=$(LB)$/irtftok.lib 71cdf0e10cSrcweirDOCTOKLIB=$(LB)$/idoctok.lib 72cdf0e10cSrcweirOOXMLLIB=$(LB)$/iooxml.lib 73cdf0e10cSrcweir.ENDIF 74cdf0e10cSrcweir 75cdf0e10cSrcweirSHL1STDLIBS=$(SALLIB)\ 76cdf0e10cSrcweir $(CPPULIB)\ 77cdf0e10cSrcweir $(CPPUHELPERLIB) \ 78cdf0e10cSrcweir $(COMPHELPERLIB) 79cdf0e10cSrcweir 80cdf0e10cSrcweirSHL1IMPLIB=i$(SHL1TARGET) 81cdf0e10cSrcweirSHL1USE_EXPORTS=name 82cdf0e10cSrcweir 83cdf0e10cSrcweirSHL1OBJS=$(SLOFILES) 84cdf0e10cSrcweir 85cdf0e10cSrcweirSHL1DEF=$(MISC)$/$(SHL1TARGET).def 86cdf0e10cSrcweirDEF1NAME=$(SHL1TARGET) 87cdf0e10cSrcweirDEFLIB1NAME=$(TARGET) 88cdf0e10cSrcweir 89cdf0e10cSrcweir# --- Targets ------------------------------------------------------ 90cdf0e10cSrcweir 91cdf0e10cSrcweir.INCLUDE : target.mk 92cdf0e10cSrcweir 93cdf0e10cSrcweirRESOURCEMODELCXXOUTDIR=$(MISC) 94cdf0e10cSrcweirDOCTOKHXXOUTDIR=$(INCCOM)$/doctok 95cdf0e10cSrcweirOOXMLHXXOUTDIR=$(INCCOM)$/ooxml 96cdf0e10cSrcweir 97cdf0e10cSrcweirDOCTOKHXXOUTDIRCREATED=$(DOCTOKHXXOUTDIR)$/created 98cdf0e10cSrcweirOOXMLHXXOUTDIRCREATED=$(OOXMLHXXOUTDIR)$/created 99cdf0e10cSrcweir 100cdf0e10cSrcweirOOXMLMODEL=..$/ooxml$/model.xml 101cdf0e10cSrcweirOOXMLPREPROCESSXSL=..$/ooxml$/modelpreprocess.xsl 102cdf0e10cSrcweirOOXMLPREPROCESSXSLCOPIED=$(MISC)$/modelpreprocess.xsl 103cdf0e10cSrcweirOOXMLQNAMETOSTRXSL=..$/ooxml$/qnametostr.xsl 104cdf0e10cSrcweirOOXMLANALYZERXSL=..$/ooxml$/analyzer.xsl 105cdf0e10cSrcweirOOXMLRESOURCEIDSXSL=..$/ooxml$/resourceids.xsl 106cdf0e10cSrcweirOOXMLFACTORYTOOLSXSL=..$/ooxml$/factorytools.xsl 107cdf0e10cSrcweirDOCTOKMODEL=..$/doctok$/resources.xmi 108cdf0e10cSrcweirDOCTOKQNAMETOSTRXSL=..$/doctok$/qnametostr.xsl 109cdf0e10cSrcweirDOCTOKANALYZERXSL=..$/doctok$/analyzer.xsl 110cdf0e10cSrcweirDOCTOKSPRMCODETOSTRXSL=..$/doctok$/sprmcodetostr.xsl 111cdf0e10cSrcweirDOCTOKRESOURCEIDSXSL=..$/doctok$/resourceids.xsl 112cdf0e10cSrcweirDOCTOKSPRMIDSXSL=..$/doctok$/sprmids.xsl 113cdf0e10cSrcweirDOCTOKRESOURCETOOLS=..$/doctok$/resourcetools.xsl 114cdf0e10cSrcweir 115cdf0e10cSrcweirNSPROCESS=namespace_preprocess.pl 116cdf0e10cSrcweir 117cdf0e10cSrcweirMODELPROCESSED=$(MISC)$/model_preprocessed.xml 118cdf0e10cSrcweir 119cdf0e10cSrcweirQNAMETOSTRCXX=$(RESOURCEMODELCXXOUTDIR)$/qnametostr.cxx 120cdf0e10cSrcweirOOXMLQNAMETOSTRTMP=$(RESOURCEMODELCXXOUTDIR)$/OOXMLqnameToStr.tmp 121cdf0e10cSrcweirDOCTOKQNAMETOSTRTMP=$(RESOURCEMODELCXXOUTDIR)$/DOCTOKqnameToStr.tmp 122cdf0e10cSrcweirSPRMCODETOSTRCXX=$(RESOURCEMODELCXXOUTDIR)$/sprmcodetostr.cxx 123cdf0e10cSrcweirSPRMCODETOSTRTMP=$(RESOURCEMODELCXXOUTDIR)$/sprmcodetostr.tmp 124cdf0e10cSrcweirDOCTOKRESOURCEIDSHXX=$(DOCTOKHXXOUTDIR)$/resourceids.hxx 125cdf0e10cSrcweirSPRMIDSHXX=$(DOCTOKHXXOUTDIR)$/sprmids.hxx 126cdf0e10cSrcweirOOXMLRESOURCEIDSHXX=$(OOXMLHXXOUTDIR)$/resourceids.hxx 127cdf0e10cSrcweir 128cdf0e10cSrcweirNSXSL=$(MISC)$/namespacesmap.xsl 129cdf0e10cSrcweirNAMESPACESTXT=$(SOLARVER)$/$(INPATH)$/inc$(UPDMINOREXT)$/oox$/token$/namespaces.txt 130cdf0e10cSrcweir 131cdf0e10cSrcweirGENERATEDHEADERS=$(DOCTOKRESOURCEIDSHXX) $(OOXMLRESOURCEIDSHXX) $(SPRMIDSHXX) 132cdf0e10cSrcweirGENERATEDFILES= \ 133cdf0e10cSrcweir $(GENERATEDHEADERS) \ 134cdf0e10cSrcweir $(QNAMETOSTRCXX) \ 135cdf0e10cSrcweir $(SPRMCODETOSTRCXX) \ 136cdf0e10cSrcweir $(MODELPROCESSED) \ 137cdf0e10cSrcweir $(OOXMLQNAMETOSTRTMP) \ 138cdf0e10cSrcweir $(DOCTOKQNAMETOSTRTMP) \ 139cdf0e10cSrcweir $(SPRMCODETOSTRTMP) 140cdf0e10cSrcweir 141cdf0e10cSrcweir$(OOXMLQNAMETOSTRTMP): $(OOXMLQNAMETOSTRXSL) $(MODELPROCESSED) 142cdf0e10cSrcweir @echo "Making: " $(@:f) 143cdf0e10cSrcweir $(XSLTPROC) $(OOXMLQNAMETOSTRXSL:s!\!/!) $(MODELPROCESSED) > $@ 144cdf0e10cSrcweir 145cdf0e10cSrcweir$(DOCTOKQNAMETOSTRTMP): $(DOCTOKQNAMETOSTRXSL) $(DOCTOKMODEL) 146cdf0e10cSrcweir @echo "Making: " $(@:f) 147cdf0e10cSrcweir $(XSLTPROC) $(DOCTOKQNAMETOSTRXSL:s!\!/!) $(DOCTOKMODEL) > $@ 148cdf0e10cSrcweir 149cdf0e10cSrcweir$(QNAMETOSTRCXX): $(OOXMLQNAMETOSTRTMP) $(DOCTOKQNAMETOSTRTMP) qnametostrheader qnametostrfooter $(OOXMLFACTORYTOOLSXSL) $(DOCTOKRESOURCETOOLS) 150cdf0e10cSrcweir @$(TYPE) qnametostrheader $(OOXMLQNAMETOSTRTMP) $(DOCTOKQNAMETOSTRTMP) qnametostrfooter > $@ 151cdf0e10cSrcweir 152cdf0e10cSrcweir$(SPRMCODETOSTRTMP): $(DOCTOKSPRMCODETOSTRXSL) $(DOCTOKMODEL) 153cdf0e10cSrcweir @echo "Making: " $(@:f) 154cdf0e10cSrcweir $(XSLTPROC) $(DOCTOKSPRMCODETOSTRXSL:s!\!/!) $(DOCTOKMODEL) > $@ 155cdf0e10cSrcweir 156cdf0e10cSrcweir$(SPRMCODETOSTRCXX): sprmcodetostrheader $(SPRMCODETOSTRTMP) sprmcodetostrfooter 157cdf0e10cSrcweir @$(TYPE) $< > $@ 158cdf0e10cSrcweir 159cdf0e10cSrcweir$(SLO)$/sprmcodetostr.obj: $(SPRMCODETOSTRCXX) 160cdf0e10cSrcweir$(SLO)$/qnametostr.obj: $(QNAMETOSTRCXX) 161cdf0e10cSrcweir 162cdf0e10cSrcweir$(SLOFILES): $(GENERATEDHEADERS) 163cdf0e10cSrcweir 164cdf0e10cSrcweir$(DOCTOKHXXOUTDIRCREATED): 165cdf0e10cSrcweir @$(MKDIRHIER) $(DOCTOKHXXOUTDIR) 166cdf0e10cSrcweir @$(TOUCH) $@ 167cdf0e10cSrcweir 168cdf0e10cSrcweir$(DOCTOKRESOURCEIDSHXX): $(DOCTOKHXXOUTDIRCREATED) $(DOCTOKRESOURCETOOLS) $(DOCTOKRESOURCEIDSXSL) $(DOCTOKMODEL) 169cdf0e10cSrcweir @echo "Making: " $(@:f) 170cdf0e10cSrcweir $(COMMAND_ECHO)$(XSLTPROC) $(DOCTOKRESOURCEIDSXSL:s!\!/!) $(DOCTOKMODEL) > $@ 171cdf0e10cSrcweir 172cdf0e10cSrcweir$(OOXMLHXXOUTDIRCREATED): 173cdf0e10cSrcweir @$(MKDIRHIER) $(OOXMLHXXOUTDIR) 174cdf0e10cSrcweir @$(TOUCH) $@ 175cdf0e10cSrcweir 176cdf0e10cSrcweir$(OOXMLPREPROCESSXSLCOPIED): $(OOXMLPREPROCESSXSL) 177cdf0e10cSrcweir @$(COPY) $(OOXMLPREPROCESSXSL) $@ 178cdf0e10cSrcweir 179cdf0e10cSrcweir$(NSXSL) : $(OOXMLMODEL) $(NAMESPACESTXT) $(NSPROCESS) 180cdf0e10cSrcweir @$(PERL) $(NSPROCESS) $(NAMESPACESTXT) > $@ 181cdf0e10cSrcweir 182cdf0e10cSrcweir$(MODELPROCESSED): $(NSXSL) $(OOXMLPREPROCESSXSLCOPIED) $(OOXMLMODEL) 183cdf0e10cSrcweir @echo "Making: " $(@:f) 184cdf0e10cSrcweir $(COMMAND_ECHO)$(XSLTPROC) $(NSXSL) $(OOXMLMODEL) > $@ 185cdf0e10cSrcweir 186cdf0e10cSrcweir$(OOXMLRESOURCEIDSHXX): $(OOXMLHXXOUTDIRCREATED) $(OOXMLFACTORYTOOLSXSL) $(OOXMLRESOURCEIDSXSL) $(MODELPROCESSED) 187cdf0e10cSrcweir @echo "Making: " $(@:f) 188cdf0e10cSrcweir $(COMMAND_ECHO)$(XSLTPROC) $(OOXMLRESOURCEIDSXSL:s!\!/!) $(MODELPROCESSED) > $@ 189cdf0e10cSrcweir 190cdf0e10cSrcweir$(SPRMIDSHXX): $(DOCTOKHXXOUTDIRCREATED) $(DOCTOKSPRMIDSXSL) $(DOCTOKMODEL) 191cdf0e10cSrcweir @echo "Making: " $(@:f) 192cdf0e10cSrcweir $(COMMAND_ECHO)$(XSLTPROC) $(DOCTOKSPRMIDSXSL:s!\!/!) $(DOCTOKMODEL) > $@ 193cdf0e10cSrcweir 194cdf0e10cSrcweir.PHONY: genclean genmake gendirs 195cdf0e10cSrcweir 196cdf0e10cSrcweirgenclean: 197cdf0e10cSrcweir rm -f $(GENERATEDFILES) 198cdf0e10cSrcweir 199cdf0e10cSrcweirgenmake: $(GENERATEDFILES) 200cdf0e10cSrcweir 201