switch to new dynamic loading library build

separate output directories are created per-architecture
pull/205/head
HW 11 years ago
parent 68af46f495
commit e862820638

@ -9,85 +9,67 @@ KOR_BASE=koreader-base
VERSION=$(shell git describe HEAD) VERSION=$(shell git describe HEAD)
# subdirectory we use to build the installation bundle # subdirectory we use to build the installation bundle
INSTALL_DIR=koreader INSTALL_DIR=koreader-$(MACHINE)
# subdirectory we use to setup emulation environment # files to link from main directory
EMU_DIR=emu INSTALL_FILES=reader.lua frontend resources koreader.sh \
koreader_kobo.sh defaults.lua \
# files to copy from main directory git-rev README.md COPYING
LUA_FILES=reader.lua
# for gettext # for gettext
DOMAIN=koreader DOMAIN=koreader
TEMPLATE_DIR=l10n/templates TEMPLATE_DIR=l10n/templates
KOREADER_MISC_TOOL=../misc KOREADER_MISC_TOOL=../misc
XGETTEXT_BIN=$(KOREADER_MISC_TOOL)/gettext/lua_xgettext.py XGETTEXT_BIN=$(KOREADER_MISC_TOOL)/gettext/lua_xgettext.py
MO_DIR=i18n MO_DIR=$(INSTALL_DIR)/koreader/i18n
all: $(KOR_BASE)/koreader-base $(KOR_BASE)/extr $(KOR_BASE)/sdcv mo fonts
$(KOR_BASE)/koreader-base $(KOR_BASE)/extr $(KOR_BASE)/sdcv: all: mo $(KOR_BASE)/$(OUTPUT_DIR)/luajit
make -C $(KOR_BASE) koreader-base extr sdcv echo $(VERSION) > git-rev
rm -rf $(INSTALL_DIR)
mkdir -p $(INSTALL_DIR)/koreader
cp -rfL $(KOR_BASE)/$(OUTPUT_DIR)/* $(INSTALL_DIR)/koreader/
ifdef EMULATE_READER
cp -f $(KOR_BASE)/ev_replay.py $(INSTALL_DIR)/koreader/
endif
for f in $(INSTALL_FILES); do \
ln -s ../../$$f $(INSTALL_DIR)/koreader/; \
done
cp -rpL resources/fonts/* $(INSTALL_DIR)/koreader/fonts/
mkdir $(INSTALL_DIR)/koreader/screenshots
mkdir $(INSTALL_DIR)/koreader/data/dict
mkdir $(INSTALL_DIR)/koreader/data/tessdata
mkdir $(INSTALL_DIR)/koreader/fonts/host
ln -s ../extensions $(INSTALL_DIR)/
ln -s ../launchpad $(INSTALL_DIR)/
# clean up
rm -rf $(INSTALL_DIR)/koreader/data/{cr3.ini,cr3skin-format.txt,desktop,devices,manual}
rm $(INSTALL_DIR)/koreader/fonts/droid/DroidSansFallbackFull.ttf
$(KOR_BASE)/$(OUTPUT_DIR)/luajit: koreader-base
$(KOR_BASE)/$(OUTPUT_DIR)/extr: koreader-base
koreader-base:
$(MAKE) -C $(KOR_BASE)
fetchthirdparty: fetchthirdparty:
git submodule init git submodule init
git submodule update git submodule update
make -C $(KOR_BASE) fetchthirdparty $(MAKE) -C $(KOR_BASE) fetchthirdparty
clean: clean:
make -C $(KOR_BASE) clean $(MAKE) -C $(KOR_BASE) clean
cleanthirdparty:
make -C $(KOR_BASE) cleanthirdparty
bootstrapemu:
test -d $(EMU_DIR) || mkdir $(EMU_DIR)
test -d $(EMU_DIR)/libs-emu || (cd $(EMU_DIR) && ln -s ../$(KOR_BASE)/libs-emu ./)
test -d $(EMU_DIR)/fonts || (cd $(EMU_DIR) && ln -s ../$(KOR_BASE)/fonts ./)
test -d $(EMU_DIR)/data || (cd $(EMU_DIR) && ln -s ../$(KOR_BASE)/data ./)
test -d $(EMU_DIR)/frontend || (cd $(EMU_DIR) && ln -s ../frontend ./)
test -d $(EMU_DIR)/resources || (cd $(EMU_DIR) && ln -s ../resources ./)
test -e $(EMU_DIR)/koreader-base || (cd $(EMU_DIR) && ln -s ../$(KOR_BASE)/koreader-base ./)
test -e $(EMU_DIR)/extr || (cd $(EMU_DIR) && ln -s ../$(KOR_BASE)/extr ./)
test -e $(EMU_DIR)/sdcv || (cd $(EMU_DIR) && ln -s ../$(KOR_BASE)/sdcv ./)
test -e $(EMU_DIR)/reader.lua || (cd $(EMU_DIR) && ln -s ../reader.lua ./)
test -e $(EMU_DIR)/defaults.lua || (cd $(EMU_DIR) && ln -s ../defaults.lua ./)
test -e $(EMU_DIR)/history || (mkdir $(EMU_DIR)/history)
test -e $(EMU_DIR)/$(MO_DIR) || (cd $(EMU_DIR) && ln -s ../$(MO_DIR) ./)
test -e $(EMU_DIR)/ev_replay.py || (cd $(EMU_DIR) && ln -s ../$(KOR_BASE)/ev_replay.py ./)
test -e $(EMU_DIR)/defaults.lua || (cd $(EMU_DIR) && ln -s ../defaults.lua ./)
customupdate: all customupdate: all
# ensure that the binaries were built for ARM # ensure that the binaries were built for ARM
file $(KOR_BASE)/koreader-base | grep ARM || exit 1 file $(INSTALL_DIR)/koreader/luajit | grep ARM || exit 1
file $(KOR_BASE)/extr | grep ARM || exit 1 # remove old package if any
# remove old package and dir if any
rm -f koreader-$(VERSION).zip rm -f koreader-$(VERSION).zip
rm -rf $(INSTALL_DIR) # create new package
# create new dir for package cd $(INSTALL_DIR) && \
mkdir -p $(INSTALL_DIR)/{history,screenshots,clipboard,libs} zip -9 -r \
cp -p README.md COPYING $(KOR_BASE)/{koreader-base,extr,sdcv} koreader.sh koreader_kobo.sh $(LUA_FILES) $(INSTALL_DIR) ../koreader-$(MACHINE)-$(VERSION).zip * \
$(STRIP) --strip-unneeded $(INSTALL_DIR)/koreader-base $(INSTALL_DIR)/extr $(INSTALL_DIR)/sdcv -x "koreader/resources/fonts/*"
mkdir $(INSTALL_DIR)/data $(INSTALL_DIR)/data/dict $(INSTALL_DIR)/data/tessdata
cp -L koreader-base/$(DJVULIB) $(KOR_BASE)/$(CRELIB) \
$(KOR_BASE)/$(LUALIB) $(KOR_BASE)/$(K2PDFOPTLIB) \
$(KOR_BASE)/$(LEPTONICALIB) $(KOR_BASE)/$(TESSERACTLIB) \
$(INSTALL_DIR)/libs
$(STRIP) --strip-unneeded $(INSTALL_DIR)/libs/*
cp -rpL $(KOR_BASE)/data/*.css $(INSTALL_DIR)/data
cp -rpL $(KOR_BASE)/data/hyph $(INSTALL_DIR)/data/hyph
cp -rpL $(KOR_BASE)/fonts $(INSTALL_DIR)
cp -rp $(MO_DIR) $(INSTALL_DIR)
rm $(INSTALL_DIR)/fonts/droid/DroidSansFallbackFull.ttf
echo $(VERSION) > git-rev
cp -r git-rev resources $(INSTALL_DIR)
rm -r $(INSTALL_DIR)/resources/fonts
cp -rpL frontend $(INSTALL_DIR)
cp defaults.lua $(INSTALL_DIR)
mkdir $(INSTALL_DIR)/fonts/host
zip -9 -r koreader-$(VERSION).zip $(INSTALL_DIR) launchpad/ extensions/
rm -rf $(INSTALL_DIR)
# @TODO write an installation script for KUAL (houqp) # @TODO write an installation script for KUAL (houqp)
@ -103,5 +85,3 @@ mo:
msgfmt -o $(MO_DIR)/$$lingua/LC_MESSAGES/$$resource.mo $$po ; \ msgfmt -o $(MO_DIR)/$$lingua/LC_MESSAGES/$$resource.mo $$po ; \
done done
fonts:
cp -rpL resources/fonts/* $(KOR_BASE)/fonts

Loading…
Cancel
Save