📄 makefile
字号:
#Adapted from the Makefile for PyLucene, by the OSAF# Makefile for building Poi4R## Supported operating systems: Linux, Mac OS X and Windows.# See INSTALL file for requirements.# # Steps to build# 1. Edit the sections below as documented# 2. make all# 3. make install## The install target installs the Poi4R python extension in python's# site-packages directory. On Mac OS X, it also installs the gcj runtime# libraries into $(PREFIX)/lib.## To successfully import the Poi4R extension into Ruby, all required# libraries need to be found. If the locations you chose are non-standard,# the relevant DYLD_LIBRARY_PATH (Mac OS X), LD_LIBRARY_PATH (Linux), or # PATH (Windows) need to be set accordingly.# # # VERSION=0.1.0POI_VER=2.0-final-20040126RUBY_VER=1.8POI4R:=$(shell pwd)POI=$(POI4R)/poi-$(POI_VER)#DEBUG=1# # You need to uncomment and edit the variables below in the section# corresponding to your operating system.## PREFIX: where programs are normally installed on your system (Unix).# PREFIX_RUBY: where your version of python is installed.# GCJ_HOME: where GCC/GCJ is installed.# Windows drive-absolute paths need to be expressed cygwin style.## Mac OS X (Darwin)#PREFIX=/usr/local#PREFIX_RUBY=/Library/Frameworks/Ruby.framework/Versions/$(RUBY_VER)#SWIG=$(PREFIX)/bin/swig#GCJ_HOME=/usr/local/gcc-3.4.1#DB=$(POI4R)/db-$(DB_VER)#PREFIX_DB=/usr/local/BerkeleyDB.$(DB_LIB_VER)# LinuxPREFIX=/usrPREFIX_RUBY=$(PREFIX)SWIG=$(PREFIX)/bin/swigGCJ_HOME=/usr#DB=$(POI4R)/db-$(DB_VER)#PREFIX_DB=$(PREFIX)/BerkeleyDB.$(DB_LIB_VER)# Windows#PREFIX_RUBY=/cygdrive/o/Python-2.3.2#SWIG=/cygdrive/c/utils/bin/swig.exe#GCJ_HOME=/cygdrive/o/mingw-3.1#DB=/cygdrive/o/db-$(DB_VER)#PREFIX_DB=$(DB)## No edits required below#OS=$(shell uname)ifeq ($(findstring CYGWIN,$(OS)),CYGWIN)OS=Cygwinendififeq ($(findstring WINNT,$(OS)),WINNT)OS=Cygwinendififeq ($(DEBUG),1)COMP_OPT=DEBUG=1SUFFIX=d_SUFFIX=_dBINDIR=debugelseCOMP_OPT=SUFFIX=_SUFFIX=BINDIR=releaseendifSWIG_OPT=-DSWIG_COBJECT_TYPES -DPOI4R_VER="'$(VERSION)'" -DPOI_VER="'$(POI_VER)'"JCCFLAGS=--encoding=UTF-8#JCCFLAGS=--encoding=UTF-8 -findirect-dispatchifeq ($(OS),Darwin)RUBY_SITE=$(PREFIX_RUBY)/lib/ruby$(RUBY_VER)/site-packagesRUBY_INC=$(PREFIX_RUBY)/lib/ruby$(RUBY_VER)POI4R=$(BINDIR)/poi4r.soifeq ($(DEBUG),1)CCFLAGS=-O0 -gLDFLAGS=-gelseCCFLAGS=-O2LDFLAGS=endifelseifeq ($(OS),Linux)RUBY_SITE=$(PREFIX_RUBY)/lib/ruby/site-ruby/$(RUBY_VER)/RUBY_INC=$(PREFIX_RUBY)/lib/ruby/$(RUBY_VER)/i686-linuxPOI4R_LIB=$(BINDIR)/poi4r.soifeq ($(DEBUG),1)CCFLAGS=-O0 -g -fPICLDFLAGS=-gelseCCFLAGS=-O2 -fPICLDFLAGS=endifelseifeq ($(OS),Cygwin)RUBY_SITE=`cygpath -aw $(PREFIX_RUBY)/Lib/site-packages`RUBY_INC=`cygpath -aw $(PREFIX_RUBY)/Include`RUBY_PC=`cygpath -aw $(PREFIX_RUBY)/PC`POI4R_LIB=$(BINDIR)/poi4r$(_SUFFIX).soifeq ($(DEBUG),1)CCFLAGS=-O -g LDFLAGS=-gelseCCFLAGS=-O2LDFLAGS=endifelseRUBY=unknownRUBY_SITE=unknownendifendifendifCLASSES=$(BINDIR)/classesJAR_CLASSES=$(CLASSES)/jarCC=$(GCJ_HOME)/bin/gccCXX=$(GCJ_HOME)/bin/g++JCC=$(GCJ_HOME)/bin/gcjJCCH=$(GCJ_HOME)/bin/gcjhJAR=$(GCJ_HOME)/bin/jarPOI_ZIP=poi-$(POI_VER).jarPOI_JAR=poi-$(POI_VER).jarPOI4R_CP:=$(BINDIR)/$(POI_JAR):$(CLASSES)OBJS=$(BINDIR)/poi.o $(BINDIR)/io.java.o $(BINDIR)/io.cpp.oLIBS=$(POI4R_LIB)default: allpatches:env:ifndef PREFIX_RUBY @echo Operating system is $(OS) @echo You need to edit that section of the Makefile @falseelse @trueendif$(BINDIR): mkdir -p $(BINDIR)/classes/jarDISTRIB=Poi-$(VERSION)ifeq ($(OS),Cygwin)POI4R_CP:=`cygpath -awp $(POI4R_CP)`endififeq ($(OS),Cygwin)_poi=`cygpath -aw $(POI)`else_poi=$(POI)endif$(BINDIR)/$(POI_JAR): cp $(POI4R)/$(POI_JAR) $(BINDIR)/$(POI_JAR) cd $(JAR_CLASSES); $(JAR) -xf $(POI4R)/$(POI_JAR)$(BINDIR)/io.java.o: java/org/apache/poi/RubyOutputStream.java $(JCC) $(JCCFLAGS) -C -d $(CLASSES) java/org/apache/poi/RubyOutputStream.java $(JCC) $(JCCFLAGS) $(CCFLAGS) -I$(GCJ_HOME)/include -c -o $@ java/org/apache/poi/RubyOutputStream.java$(CLASSES)/org/apache/poi/RubyOutputStream.h: $(BINDIR)/io.java.o Makefile mkdir -p $(CLASSES)/org/apache/poi/hssf/usermodel $(JCCH) -d $(CLASSES) --classpath=$(JAR_CLASSES) org.apache.poi.hssf.usermodel.HSSFWorkbook $(JCCH) -d $(CLASSES) --classpath=$(JAR_CLASSES) org.apache.poi.hssf.usermodel.HSSFSheet $(JCCH) -d $(CLASSES) --classpath=$(JAR_CLASSES) org.apache.poi.hssf.usermodel.HSSFRow $(JCCH) -d $(CLASSES) --classpath=$(JAR_CLASSES) org.apache.poi.hssf.usermodel.HSSFCell $(JCCH) -d $(CLASSES) --classpath=$(JAR_CLASSES) org.apache.poi.hssf.usermodel.HSSFHeader $(JCCH) -d $(CLASSES) --classpath=$(JAR_CLASSES) org.apache.poi.hssf.usermodel.HSSFFooter $(JCCH) -d $(CLASSES) --classpath=$(JAR_CLASSES) org.apache.poi.hssf.usermodel.HSSFFont $(JCCH) -d $(CLASSES) --classpath=$(JAR_CLASSES) org.apache.poi.hssf.usermodel.HSSFDataFormat $(JCCH) -d $(CLASSES) --classpath=$(JAR_CLASSES) org.apache.poi.hssf.usermodel.HSSFCellStyle $(JCCH) -d $(CLASSES) --classpath=$(CLASSES) org.apache.poi.RubyOutputStream$(BINDIR)/io.cpp.o: $(CLASSES)/org/apache/poi/RubyOutputStream.h cpp/RubyIO.cpp $(BINDIR)/io.java.o $(JCC) -I$(RUBY_INC) -I$(GCJ_HOME)/include -I$(CLASSES) $(CCFLAGS) -c -o $@ cpp/RubyIO.cpp$(BINDIR)/poi.o: $(BINDIR)/$(POI_JAR) $(JCC) $(JCCFLAGS) $(CCFLAGS) -c -o $@ $(BINDIR)/$(POI_JAR)Poi4R_wrap.cxx: $(BINDIR)/io.cpp.o Poi4R.i ifdef SWIG $(SWIG) $(SWIG_OPT) -I$(CLASSES) -c++ -ruby Poi4R.iendififeq ($(OS),Darwin)$(POI4R_LIB): $(OBJS) Poi4R_wrap.cxx $(CXX) -shared -bundle -o $@ $(CCFLAGS) $(SWIG_OPT) $(DB_INC) -I$(GCJ_HOME)/include -I$(CLASSES) -I$(RUBY_INC) Poi4R_wrap.cxx $(OBJS) -L$(GCJ_HOME)/lib -lgcj -liconv -undefined suppress -flat_namespace -multiply_defined suppresselseifeq ($(OS),Linux)$(POI4R_LIB): $(OBJS) Poi4R_wrap.cxx $(CXX) -shared -o $@ $(CCFLAGS) $(SWIG_OPT) $(DB_INC) -I$(CLASSES) -I$(RUBY_INC) Poi4R_wrap.cxx $(OBJS) -lgcjelseifeq ($(OS),Cygwin)$(POI4R_LIB): $(OBJS) Poi4R_wrap.cxx $(CXX) -c $(CCFLAGS) $(PYDBG) -D_NO_OLDNAMES -D_off_t=off_t $(SWIG_OPT) $(DB_INC) -I$(CLASSES) -I$(RUBY_PC) -I$(RUBY_INC) -o $(BINDIR)/Poi4R_wrap.o Poi4R_wrap.cxx $(CXX) -shared $(LDFLAGS) -o $@ $(OBJS) `cygpath -aw $(PREFIX_RUBY)/python23$(_SUFFIX).dll` $(BINDIR)/Poi4R_wrap.o -lgcj -lwin32k -lws2_32endifendifendifall: env $(BINDIR) $(LIBS) @echo build of $(POI4R_LIB) completeinstall:: all install Poi4R.rb $(RUBY_SITE) install $(POI4R_LIB) $(RUBY_SITE)ifeq ($(OS),Darwin)install:: install $(GCJ_HOME)/lib/libgcj.5.dylib $(PREFIX)/lib install $(GCJ_HOME)/lib/libstdc++.6.dylib $(PREFIX)/lib install $(GCJ_HOME)/lib/libgcc_s.1.0.dylib $(PREFIX)/libelseifeq ($(OS),Linux)install::elseifeq ($(OS),Cygwin)install::endifendifendifclean: rm -rf $(BINDIR) Poi4R.rb* Poi4R_wrap.cxxrealclean: clean rm -rf $(POI) $(STORE) $(DISTRIB)distrib:: mkdir -p $(DISTRIB)/python install Poi4R.rb $(DISTRIB)/python install $(POI4R_LIB) $(DISTRIB)/python install README $(DISTRIB)ifeq ($(OS),Darwin)distrib::ifdef DB mkdir -p $(DISTRIB)/db install $(LIBDB_JAVA_LIB) $(DISTRIB)/db install libdb_java-$(DB_LIB_VER).la.osx $(DISTRIB)/dbendif mkdir -p $(DISTRIB)/gcj install $(GCJ_HOME)/lib/libgcj.5.dylib $(DISTRIB)/gcj install $(GCJ_HOME)/lib/libstdc++.6.dylib $(DISTRIB)/gcj install $(GCJ_HOME)/lib/libgcc_s.1.0.dylib $(DISTRIB)/gcjelseifeq ($(OS),Linux)distrib::ifdef DB mkdir -p $(DISTRIB)/db install $(LIBDB_JAVA_LIB) $(DISTRIB)/dbendif mkdir -p $(DISTRIB)/gcj install $(GCJ_HOME)/lib/libgcj.so.5 $(DISTRIB)/gcj install $(GCJ_HOME)/lib/libstdc++.so.6 $(DISTRIB)/gcj install $(GCJ_HOME)/lib/libgcc_s.so.1 $(DISTRIB)/gcjelseifeq ($(OS),Cygwin)distrib::ifdef DB mkdir -p $(DISTRIB)/db install $(LIBDB_JAVA_LIB) $(DISTRIB)/dbendifendifendifendif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -