mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-07-10 17:38:38 +08:00
276 lines
8.6 KiB
Makefile
276 lines
8.6 KiB
Makefile
ifeq ($(OS),Windows_NT)
|
|
PLATFORM := win
|
|
EXEC_EXT := .exe
|
|
SHELL_EXT := .bat
|
|
SHARED_EXT := .dll
|
|
LIB_EXT := .lib
|
|
MAKE := nmake
|
|
ifeq ($(PROCESSOR_ARCHITECTURE),AMD64)
|
|
ARCHITECTURE := 64
|
|
endif
|
|
ifeq ($(PROCESSOR_ARCHITECTURE),x86)
|
|
ARCHITECTURE := 32
|
|
endif
|
|
else
|
|
UNAME_S := $(shell uname -s)
|
|
ifeq ($(UNAME_S),Linux)
|
|
PLATFORM := linux
|
|
SHARED_EXT := .so*
|
|
SHELL_EXT := .sh
|
|
LIB_EXT := .a
|
|
MAKE := make -j $(shell grep -c ^processor /proc/cpuinfo)
|
|
endif
|
|
UNAME_P := $(shell uname -p)
|
|
ifeq ($(UNAME_P),x86_64)
|
|
ARCHITECTURE := 64
|
|
endif
|
|
ifneq ($(filter %86,$(UNAME_P)),)
|
|
ARCHITECTURE := 32
|
|
endif
|
|
endif
|
|
|
|
TARGET := $(PLATFORM)_$(ARCHITECTURE)
|
|
|
|
LIBDIR := build/lib/$(TARGET)
|
|
|
|
ALLFONTSGEN := build/bin/AllFontsGen/$(TARGET)$(EXEC_EXT)
|
|
X2T := build/bin/$(TARGET)/x2t$(EXEC_EXT)
|
|
HTMLFILEINTERNAL := $(LIBDIR)/HtmlFileInternal$(EXEC_EXT)
|
|
XLSFORMATLIB := $(LIBDIR)/libXlsFormatLib$(LIB_EXT)
|
|
ODFFILEWRITERLIB := $(LIBDIR)/libOdfFileWriterLib$(LIB_EXT)
|
|
ODFFILEREADERLIB := $(LIBDIR)/libOdfFileReaderLib$(LIB_EXT)
|
|
DOCFORMATLIB := $(LIBDIR)/libDocFormatLib$(LIB_EXT)
|
|
PPTFORMATLIB := $(LIBDIR)/libPptFormatLib$(LIB_EXT)
|
|
RTFFORMATLIB := $(LIBDIR)/libRtfFormatLib$(LIB_EXT)
|
|
TXTXMLFORMATLIB := $(LIBDIR)/libTxtXmlFormatLib$(LIB_EXT)
|
|
PDFWRITER := $(LIBDIR)/libPdfWriter$(SHARED_EXT)
|
|
ASCOFFICEDOCXFILE2LIB := $(LIBDIR)/libASCOfficeDocxFile2Lib$(LIB_EXT)
|
|
PPTXFORMATLIB := $(LIBDIR)/libPPTXFormatLib$(LIB_EXT)
|
|
DOCXFORMATLIB := $(LIBDIR)/libDocxFormatLib$(LIB_EXT)
|
|
OFFICEUTILS := $(LIBDIR)/libOfficeUtils$(LIB_EXT)
|
|
GRAPHICS := $(LIBDIR)/libgraphics$(LIB_EXT)
|
|
DOCTRENDERER := $(LIBDIR)/libdoctrenderer$(SHARED_EXT)
|
|
HTMLRENDERER := $(LIBDIR)/libHtmlRenderer$(SHARED_EXT)
|
|
PDFREADER := $(LIBDIR)/libPdfReader$(SHARED_EXT)
|
|
DJVUFILE := $(LIBDIR)/libDjVuFile$(SHARED_EXT)
|
|
XPSFILE := $(LIBDIR)/libXpsFile$(SHARED_EXT)
|
|
HTMLFILE := $(LIBDIR)/libHtmlFile$(SHARED_EXT)
|
|
UNICODECONVERTER := $(LIBDIR)/libUnicodeConverter$(SHARED_EXT)
|
|
ASCDOCUMENTSCORE := $(LIBDIR)/libascdocumentscore$(SHARED_EXT)
|
|
LIBXML := $(LIBDIR)/liblibxml$(LIB_EXT)
|
|
LICENSEMANAGER := $(LIBDIR)/libLicenceManager$(LIB_EXT)
|
|
|
|
TARGETS += $(ALLFONTSGEN)
|
|
TARGETS += $(X2T)
|
|
TARGETS += $(HTMLFILEINTERNAL)
|
|
TARGETS += $(XLSFORMATLIB)
|
|
TARGETS += $(ODFFILEWRITERLIB)
|
|
TARGETS += $(ODFFILEREADERLIB)
|
|
TARGETS += $(DOCFORMATLIB)
|
|
TARGETS += $(PPTFORMATLIB)
|
|
TARGETS += $(RTFFORMATLIB)
|
|
TARGETS += $(TXTXMLFORMATLIB)
|
|
TARGETS += $(PDFWRITER)
|
|
TARGETS += $(ASCOFFICEDOCXFILE2LIB)
|
|
TARGETS += $(PPTXFORMATLIB)
|
|
TARGETS += $(DOCXFORMATLIB)
|
|
TARGETS += $(OFFICEUTILS)
|
|
TARGETS += $(GRAPHICS)
|
|
TARGETS += $(DOCTRENDERER)
|
|
TARGETS += $(HTMLRENDERER)
|
|
TARGETS += $(PDFREADER)
|
|
TARGETS += $(DJVUFILE)
|
|
TARGETS += $(XPSFILE)
|
|
TARGETS += $(HTMLFILE)
|
|
TARGETS += $(UNICODECONVERTER)
|
|
TARGETS += $(ASCDOCUMENTSCORE)
|
|
TARGETS += $(LIBXML)
|
|
TARGETS += $(LICENSEMANAGER)
|
|
|
|
X2T_PRO := $(abspath X2tConverter/build/Qt/X2tSLN.pro)
|
|
HTMLFILEINTERNAL_PRO := $(abspath ../desktop-sdk/HtmlFile/Internal/Internal.pro)
|
|
ALLFONTSGEN_PRO := $(abspath DesktopEditor/AllFontsGen/AllFontsGen.pro)
|
|
XLSFORMATLIB_PRO := $(abspath ASCOfficeXlsFile2/source/linux/XlsFormatLib.pro)
|
|
ODFFILEWRITERLIB_PRO := $(abspath ASCOfficeOdfFileW/linux/OdfFileWriterLib.pro)
|
|
ODFFILEREADERLIB_PRO := $(abspath ASCOfficeOdfFile/linux/OdfFileReaderLib.pro)
|
|
DOCFORMATLIB_PRO := $(abspath ASCOfficeDocFile/DocFormatLib/Linux/DocFormatLib.pro)
|
|
PPTFORMATLIB_PRO := $(abspath ASCOfficePPTFile/PPTFormatLib/Linux/PPTFormatLib.pro)
|
|
RTFFORMATLIB_PRO := $(abspath ASCOfficeRtfFile/RtfFormatLib/Linux/RtfFormatLib.pro)
|
|
TXTXMLFORMATLIB_PRO := $(abspath ASCOfficeTxtFile/TxtXmlFormatLib/Linux/TxtXmlFormatLib.pro)
|
|
PDFWRITER_PRO := $(abspath PdfWriter/PdfWriter.pro)
|
|
ASCOFFICEDOCXFILE2LIB_PRO := $(abspath ASCOfficeDocxFile2/Linux/ASCOfficeDocxFile2Lib.pro)
|
|
PPTXFORMATLIB_PRO := $(abspath ASCOfficePPTXFile/PPTXLib/Linux/PPTXFormatLib/PPTXFormatLib.pro)
|
|
DOCXFORMATLIB_PRO := $(abspath Common/DocxFormat/DocxFormatLib/DocxFormatLib.pro)
|
|
OFFICEUTILS_PRO := $(abspath OfficeUtils/OfficeUtils.pro)
|
|
GRAPHICS_PRO := $(abspath DesktopEditor/Qt_build/graphics/project/graphics.pro)
|
|
DOCTRENDERER_PRO := $(abspath DesktopEditor/doctrenderer/doctrenderer.pro)
|
|
HTMLRENDERER_PRO := $(abspath HtmlRenderer/htmlrenderer.pro)
|
|
PDFREADER_PRO := $(abspath PdfReader/PdfReader.pro)
|
|
DJVUFILE_PRO := $(abspath DjVuFile/DjVuFile.pro)
|
|
XPSFILE_PRO := $(abspath XpsFile/XpsFile.pro)
|
|
HTMLFILE_PRO := $(abspath HtmlFile/HtmlFile.pro)
|
|
UNICODECONVERTER_PRO := $(abspath UnicodeConverter/UnicodeConverter.pro)
|
|
ASCDOCUMENTSCORE_PRO := $(abspath ../desktop-sdk/ChromiumBasedEditors/lib/AscDocumentsCore_$(PLATFORM).pro)
|
|
LIBXML_PRO := $(abspath DesktopEditor/xml/build/qt/libxml2.pro)
|
|
LICENSEMANAGER_PRO := $(abspath LicenceManager/linux/LicenseManager.pro)
|
|
|
|
# PROS += $(basename $(X2T_PRO)).build
|
|
# PROS += ALLFONTSGEN_PRO
|
|
# PROS += XLSFORMATLIB_PRO
|
|
# PROS += ODFFILEWRITERLIB_PRO
|
|
# PROS += ODFFILEREADERLIB_PRO
|
|
# PROS += DOCFORMATLIB_PRO
|
|
# PROS += PPTFORMATLIB_PRO
|
|
# PROS += RTFFORMATLIB_PRO
|
|
# PROS += TXTXMLFORMATLIB_PRO
|
|
# PROS += PDFWRITER_PRO
|
|
# PROS += ASCOFFICEDOCXFILE2LIB_PRO
|
|
# PROS += PPTXFORMATLIB_PRO
|
|
# PROS += DOCXFORMATLIB_PRO
|
|
# PROS += OFFICEUTILS_PRO
|
|
# PROS += GRAPHICS_PRO
|
|
# PROS += DOCTRENDERER_PRO
|
|
# PROS += HTMLRENDERER_PRO
|
|
# PROS += PDFREADER_PRO
|
|
# PROS += DJVUFILE_PRO
|
|
# PROS += XPSFILE_PRO
|
|
# PROS += HTMLFILE_PRO
|
|
# PROS += UNICODECONVERTER_PRO
|
|
|
|
QT_PROJ += X2T
|
|
QT_PROJ += HTMLFILEINTERNAL
|
|
QT_PROJ += ALLFONTSGEN
|
|
QT_PROJ += XLSFORMATLIB
|
|
QT_PROJ += ODFFILEWRITERLIB
|
|
QT_PROJ += ODFFILEREADERLIB
|
|
QT_PROJ += DOCFORMATLIB
|
|
QT_PROJ += PPTFORMATLIB
|
|
QT_PROJ += RTFFORMATLIB
|
|
QT_PROJ += TXTXMLFORMATLIB
|
|
QT_PROJ += PDFWRITER
|
|
QT_PROJ += ASCOFFICEDOCXFILE2LIB
|
|
QT_PROJ += PPTXFORMATLIB
|
|
QT_PROJ += DOCXFORMATLIB
|
|
QT_PROJ += OFFICEUTILS
|
|
QT_PROJ += GRAPHICS
|
|
QT_PROJ += DOCTRENDERER
|
|
QT_PROJ += HTMLRENDERER
|
|
QT_PROJ += PDFREADER
|
|
QT_PROJ += DJVUFILE
|
|
QT_PROJ += XPSFILE
|
|
QT_PROJ += HTMLFILE
|
|
QT_PROJ += UNICODECONVERTER
|
|
QT_PROJ += ASCDOCUMENTSCORE
|
|
QT_PROJ += LIBXML
|
|
QT_PROJ += LICENSEMANAGER
|
|
|
|
# X2T_DEP += $(XLSFORMATLIB)
|
|
# X2T_DEP += $(ODFFILEWRITERLIB)
|
|
# X2T_DEP += $(ODFFILEREADERLIB)
|
|
# X2T_DEP += $(DOCFORMATLIB)
|
|
# X2T_DEP += $(PPTFORMATLIB)
|
|
# X2T_DEP += $(RTFFORMATLIB)
|
|
# X2T_DEP += $(TXTXMLFORMATLIB)
|
|
# X2T_DEP += $(PDFWRITER)
|
|
# X2T_DEP += $(ASCOFFICEDOCXFILE2LIB)
|
|
# X2T_DEP += $(PPTXFORMATLIB)
|
|
# X2T_DEP += $(DOCXFORMATLIB)
|
|
# X2T_DEP += $(OFFICEUTILS)
|
|
# X2T_DEP += $(GRAPHICS)
|
|
# X2T_DEP += $(DOCTRENDERER)
|
|
# X2T_DEP += $(HTMLRENDERER)
|
|
# X2T_DEP += $(PDFREADER)
|
|
# X2T_DEP += $(DJVUFILE)
|
|
# X2T_DEP += $(XPSFILE)
|
|
# X2T_DEP += $(HTMLFILE)
|
|
# X2T_DEP += $(UNICODECONVERTER)
|
|
|
|
HTMLFILEINTERNAL_DEP += $(GRAPHICS)
|
|
HTMLFILEINTERNAL_DEP += $(LIBXML)
|
|
HTMLFILEINTERNAL_DEP += $(UNICODECONVERTER)
|
|
|
|
XPSFILE_DEP += $(PDFWRITER)
|
|
|
|
ALLFONTSGEN_DEP += $(GRAPHICS)
|
|
ALLFONTSGEN_DEP += $(OFFICEUTILS)
|
|
ALLFONTSGEN_DEP += $(UNICODECONVERTER)
|
|
|
|
HTMLFILE_DEP += $(UNICODECONVERTER)
|
|
|
|
RTFFORMATLIB_DEP += $(UNICODECONVERTER)
|
|
|
|
XLSFORMATLIB_DEP += $(UNICODECONVERTER)
|
|
|
|
DJVUFILE_DEP += $(PDFWRITER)
|
|
|
|
ASCDOCUMENTSCORE_DEP += $(GRAPHICS)
|
|
ASCDOCUMENTSCORE_DEP += $(OFFICEUTILS)
|
|
ASCDOCUMENTSCORE_DEP += $(PDFWRITER)
|
|
ASCDOCUMENTSCORE_DEP += $(PDFREADER)
|
|
ASCDOCUMENTSCORE_DEP += $(DJVUFILE)
|
|
ASCDOCUMENTSCORE_DEP += $(XPSFILE)
|
|
#ASCDOCUMENTSCORE_DEP += $(LICENSEMANAGER)
|
|
ASCDOCUMENTSCORE_DEP += $(LIBXML)
|
|
|
|
PDFREADER_DEP += $(HTMLRENDERER)
|
|
|
|
PDFWRITER_DEP += $(UNICODECONVERTER)
|
|
|
|
#Template for next statment:
|
|
#FOO_MAKE := $(basename $(FOO_PRO)).build/Makefile
|
|
#$(FOO): $(FOO_MAKE)
|
|
# cd $(dir $(FOO_MAKE)) && make
|
|
|
|
define build_proj_tmpl
|
|
PROS += $$(basename $$(value $(1)_PRO)).build
|
|
$(1)_MAKE := $$(basename $$(value $(1)_PRO)).build/Makefile
|
|
$$(value $(1)): $$(value $(1)_MAKE)
|
|
cd $$(dir $$(value $(1)_MAKE)) && $(MAKE);
|
|
endef
|
|
|
|
.PHONY : all bin lib clean
|
|
|
|
all: lib bin
|
|
|
|
bin: $(X2T) $(ALLFONTSGEN)
|
|
|
|
lib: $(PDFWRITER) $(DOCTRENDERER) $(HTMLRENDERER) $(PDFREADER) $(DJVUFILE) $(XPSFILE) $(HTMLFILE) $(UNICODECONVERTER)
|
|
|
|
ext: $(ASCDOCUMENTSCORE) $(HTMLFILEINTERNAL)
|
|
|
|
$(foreach proj, $(QT_PROJ), $(eval $(call build_proj_tmpl, $(proj))))
|
|
|
|
#$(X2T): $(X2T_DEP)
|
|
|
|
$(HTMLFILEINTERNAL): $(HTMLFILEINTERNAL_DEP)
|
|
|
|
$(XPSFILE): $(XPSFILE_DEP)
|
|
|
|
$(ALLFONTSGEN): $(ALLFONTSGEN_DEP)
|
|
|
|
$(HTMLFILE): $(HTMLFILE_DEP)
|
|
|
|
$(RTFFORMATLIB): $(RTFFORMATLIB_DEP)
|
|
|
|
$(XLSFORMATLIB): $(XLSFORMATLIB_DEP)
|
|
|
|
$(DJVUFILE): $(DJVUFILE_DEP)
|
|
|
|
$(ASCDOCUMENTSCORE): $(ASCDOCUMENTSCORE_DEP)
|
|
|
|
$(PDFREADER): $(PDFREADER_DEP)
|
|
|
|
$(PDFWRITER): $(PDFWRITER_DEP)
|
|
|
|
%.build/Makefile: %.pro
|
|
mkdir -p $(dir $@) && cd $(dir $@) && qmake -r $<
|
|
|
|
clean:
|
|
rm -rf $(TARGETS)
|
|
for i in $(PROS); do \
|
|
if [ -d $$i -a -f $$i/Makefile ]; then \
|
|
cd $$i && $(MAKE) distclean; \
|
|
fi \
|
|
done
|
|
|