mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
make: support changing the build / install directory location
This commit is contained in:
committed by
Frans de Jonge
parent
f749fc2fd9
commit
49e3251e7b
36
Makefile
36
Makefile
@@ -41,7 +41,7 @@ else
|
||||
DIST:=emulator
|
||||
endif
|
||||
|
||||
INSTALL_DIR=koreader-$(DIST)-$(MACHINE)
|
||||
INSTALL_DIR ?= koreader-$(DIST)-$(MACHINE)
|
||||
|
||||
# platform directories
|
||||
PLATFORM_DIR=platform
|
||||
@@ -52,6 +52,13 @@ WIN32_DIR=$(PLATFORM_DIR)/win32
|
||||
INSTALL_FILES=reader.lua setupkoenv.lua frontend resources defaults.lua datastorage.lua \
|
||||
l10n tools README.md COPYING
|
||||
|
||||
ifeq ($(abspath $(OUTPUT_DIR)),$(OUTPUT_DIR))
|
||||
ABSOLUTE_OUTPUT_DIR = $(OUTPUT_DIR)
|
||||
else
|
||||
ABSOLUTE_OUTPUT_DIR = $(KOR_BASE)/$(OUTPUT_DIR)
|
||||
endif
|
||||
OUTPUT_DIR_ARTIFACTS = $(ABSOLUTE_OUTPUT_DIR)/!(cache|history)
|
||||
|
||||
all: base
|
||||
install -d $(INSTALL_DIR)/koreader
|
||||
rm -f $(INSTALL_DIR)/koreader/git-rev; echo "$(VERSION)" > $(INSTALL_DIR)/koreader/git-rev
|
||||
@@ -59,30 +66,26 @@ ifdef ANDROID
|
||||
rm -f android-fdroid-version; echo -e "$(ANDROID_NAME)\n$(ANDROID_VERSION)" > koreader-android-fdroid-latest
|
||||
endif
|
||||
ifeq ($(IS_RELEASE),1)
|
||||
$(RCP) -fL $(KOR_BASE)/$(OUTPUT_DIR)/. $(INSTALL_DIR)/koreader/.
|
||||
bash -O extglob -c '$(RCP) -fL $(OUTPUT_DIR_ARTIFACTS) $(INSTALL_DIR)/koreader/'
|
||||
else
|
||||
cp -f $(KOR_BASE)/ev_replay.py $(INSTALL_DIR)/koreader/
|
||||
@echo "[*] create symlink instead of copying files in development mode"
|
||||
cd $(INSTALL_DIR)/koreader && \
|
||||
bash -O extglob -c "ln -sf ../../$(KOR_BASE)/$(OUTPUT_DIR)/!(cache|history) ."
|
||||
bash -O extglob -c '$(SYMLINK) $(OUTPUT_DIR_ARTIFACTS) $(INSTALL_DIR)/koreader/'
|
||||
ifneq (,$(EMULATE_READER))
|
||||
@echo "[*] install front spec only for the emulator"
|
||||
cd $(INSTALL_DIR)/koreader/spec && test -e front || \
|
||||
ln -sf ../../../../spec ./front
|
||||
cd $(INSTALL_DIR)/koreader/spec/front/unit && test -e data || \
|
||||
ln -sf ../../test ./data
|
||||
$(SYMLINK) $(abspath spec) $(INSTALL_DIR)/koreader/spec/front
|
||||
$(SYMLINK) $(abspath test) $(INSTALL_DIR)/koreader/spec/front/unit/data
|
||||
endif
|
||||
endif
|
||||
for f in $(INSTALL_FILES); do \
|
||||
ln -sf ../../$$f $(INSTALL_DIR)/koreader/; \
|
||||
done
|
||||
$(SYMLINK) $(abspath $(INSTALL_FILES)) $(INSTALL_DIR)/koreader/
|
||||
ifdef ANDROID
|
||||
cd $(INSTALL_DIR)/koreader && \
|
||||
ln -sf ../../$(ANDROID_DIR)/*.lua .
|
||||
$(SYMLINK) $(abspath $(ANDROID_DIR)/*.lua) $(INSTALL_DIR)/koreader/
|
||||
endif
|
||||
@echo "[*] Install update once marker"
|
||||
@echo "# This file indicates that update once patches have not been applied yet." > $(INSTALL_DIR)/koreader/update_once.marker
|
||||
ifdef WIN32
|
||||
@echo "[*] Install runtime libraries for win32..."
|
||||
cd $(INSTALL_DIR)/koreader && cp ../../$(WIN32_DIR)/*.dll .
|
||||
$(SYMLINK) $(abspath $(WIN32_DIR)/*.dll) $(INSTALL_DIR)/koreader/
|
||||
endif
|
||||
ifdef SHIP_SHARED_STL
|
||||
@echo "[*] Install C++ runtime..."
|
||||
@@ -108,11 +111,10 @@ base:
|
||||
$(MAKE) -C $(KOR_BASE)
|
||||
|
||||
$(INSTALL_DIR)/koreader/.busted: .busted
|
||||
ln -sf ../../.busted $(INSTALL_DIR)/koreader
|
||||
$(SYMLINK) $(abspath .busted) $@
|
||||
|
||||
$(INSTALL_DIR)/koreader/.luacov:
|
||||
test -e $(INSTALL_DIR)/koreader/.luacov || \
|
||||
ln -sf ../../.luacov $(INSTALL_DIR)/koreader
|
||||
$(SYMLINK) $(abspath .luacov) $@
|
||||
|
||||
testfront: $(INSTALL_DIR)/koreader/.busted
|
||||
# sdr files may have unexpected impact on unit testing
|
||||
|
||||
@@ -6,17 +6,17 @@ APPIMAGETOOL_URL = https://github.com/AppImage/AppImageKit/releases/download/13/
|
||||
update: all
|
||||
# remove old package if any
|
||||
rm -f koreader-appimage-$(MACHINE)-$(VERSION).appimage
|
||||
ln -sf ../../$(APPIMAGE_DIR)/AppRun $(INSTALL_DIR)/koreader
|
||||
ln -sf ../../$(APPIMAGE_DIR)/koreader.appdata.xml $(INSTALL_DIR)/koreader
|
||||
ln -sf ../../$(APPIMAGE_DIR)/koreader.desktop $(INSTALL_DIR)/koreader
|
||||
ln -sf ../../resources/koreader.png $(INSTALL_DIR)/koreader
|
||||
$(SYMLINK) $(abspath $(APPIMAGE_DIR)/AppRun) $(INSTALL_DIR)/koreader/
|
||||
$(SYMLINK) $(abspath $(APPIMAGE_DIR)/koreader.appdata.xml) $(INSTALL_DIR)/koreader/
|
||||
$(SYMLINK) $(abspath $(APPIMAGE_DIR)/koreader.desktop) $(INSTALL_DIR)/koreader/
|
||||
$(SYMLINK) $(abspath resources/koreader.png) $(INSTALL_DIR)/koreader/
|
||||
# TODO at best this is DebUbuntu specific
|
||||
ln -sf /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 $(INSTALL_DIR)/koreader/libs/libSDL2.so
|
||||
$(SYMLINK) /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 $(INSTALL_DIR)/koreader/libs/libSDL2.so
|
||||
# required for our stock Ubuntu SDL even though we don't use sound
|
||||
# the readlink is a half-hearted attempt at being generic; the echo libsndio.so.7.0 is specific to the nightly builds
|
||||
ln -sf /usr/lib/x86_64-linux-gnu/$(shell readlink /usr/lib/x86_64-linux-gnu/libsndio.so || echo libsndio.so.7.0) $(INSTALL_DIR)/koreader/libs/
|
||||
$(SYMLINK) /usr/lib/x86_64-linux-gnu/$(shell readlink /usr/lib/x86_64-linux-gnu/libsndio.so || echo libsndio.so.7.0) $(INSTALL_DIR)/koreader/libs/
|
||||
# also copy libbsd.so.0, cf. https://github.com/koreader/koreader/issues/4627
|
||||
ln -sf /lib/x86_64-linux-gnu/libbsd.so.0 $(INSTALL_DIR)/koreader/libs/
|
||||
$(SYMLINK) /lib/x86_64-linux-gnu/libbsd.so.0 $(INSTALL_DIR)/koreader/libs/
|
||||
ifeq ("$(wildcard $(APPIMAGETOOL))","")
|
||||
# download appimagetool
|
||||
wget "$(APPIMAGETOOL_URL)"
|
||||
|
||||
@@ -14,13 +14,13 @@ update: all
|
||||
# remove old package if any
|
||||
rm -f $(KINDLE_PACKAGE)
|
||||
# Kindle launching scripts
|
||||
ln -sf ../$(KINDLE_DIR)/extensions $(INSTALL_DIR)/
|
||||
ln -sf ../$(KINDLE_DIR)/launchpad $(INSTALL_DIR)/
|
||||
ln -sf ../../$(KINDLE_DIR)/koreader.sh $(INSTALL_DIR)/koreader
|
||||
ln -sf ../../$(KINDLE_DIR)/libkohelper.sh $(INSTALL_DIR)/koreader
|
||||
ln -sf ../../../../../$(KINDLE_DIR)/libkohelper.sh $(INSTALL_DIR)/extensions/koreader/bin
|
||||
ln -sf ../../$(COMMON_DIR)/spinning_zsync $(INSTALL_DIR)/koreader
|
||||
ln -sf ../../$(KINDLE_DIR)/wmctrl $(INSTALL_DIR)/koreader
|
||||
$(SYMLINK) $(abspath $(KINDLE_DIR)/extensions) $(INSTALL_DIR)/
|
||||
$(SYMLINK) $(abspath $(KINDLE_DIR)/launchpad) $(INSTALL_DIR)/
|
||||
$(SYMLINK) $(abspath $(KINDLE_DIR)/koreader.sh) $(INSTALL_DIR)/koreader/
|
||||
$(SYMLINK) $(abspath $(KINDLE_DIR)/libkohelper.sh) $(INSTALL_DIR)/koreader/
|
||||
$(SYMLINK) $(abspath $(KINDLE_DIR)/libkohelper.sh) $(INSTALL_DIR)/extensions/koreader/bin/
|
||||
$(SYMLINK) $(abspath $(COMMON_DIR)/spinning_zsync) $(INSTALL_DIR)/koreader/
|
||||
$(SYMLINK) $(abspath $(KINDLE_DIR)/wmctrl) $(INSTALL_DIR)/koreader/
|
||||
# create new package
|
||||
cd $(INSTALL_DIR) && pwd && \
|
||||
zip -9 -r \
|
||||
|
||||
@@ -6,13 +6,13 @@ update: all
|
||||
file $(INSTALL_DIR)/koreader/luajit | grep ARM || exit 1
|
||||
# remove old package if any
|
||||
rm -f koreader-ubuntu-touch-$(MACHINE)-$(VERSION).click
|
||||
ln -sf ../../$(UBUNTUTOUCH_DIR)/koreader.sh $(INSTALL_DIR)/koreader
|
||||
ln -sf ../../$(UBUNTUTOUCH_DIR)/manifest.json $(INSTALL_DIR)/koreader
|
||||
ln -sf ../../$(UBUNTUTOUCH_DIR)/koreader.apparmor $(INSTALL_DIR)/koreader
|
||||
ln -sf ../../$(UBUNTUTOUCH_DIR)/koreader.apparmor.openstore $(INSTALL_DIR)/koreader
|
||||
ln -sf ../../$(UBUNTUTOUCH_DIR)/koreader.desktop $(INSTALL_DIR)/koreader
|
||||
ln -sf ../../$(UBUNTUTOUCH_DIR)/koreader.png $(INSTALL_DIR)/koreader
|
||||
ln -sf ../../../$(UBUNTUTOUCH_DIR)/libSDL2.so $(INSTALL_DIR)/koreader/libs
|
||||
$(SYMLINK) $(abspath $(UBUNTUTOUCH_DIR)/koreader.sh) $(INSTALL_DIR)/koreader/
|
||||
$(SYMLINK) $(abspath $(UBUNTUTOUCH_DIR)/manifest.json) $(INSTALL_DIR)/koreader/
|
||||
$(SYMLINK) $(abspath $(UBUNTUTOUCH_DIR)/koreader.apparmor) $(INSTALL_DIR)/koreader/
|
||||
$(SYMLINK) $(abspath $(UBUNTUTOUCH_DIR)/koreader.apparmor.openstore) $(INSTALL_DIR)/koreader/
|
||||
$(SYMLINK) $(abspath $(UBUNTUTOUCH_DIR)/koreader.desktop) $(INSTALL_DIR)/koreader/
|
||||
$(SYMLINK) $(abspath $(UBUNTUTOUCH_DIR)/koreader.png) $(INSTALL_DIR)/koreader/
|
||||
$(SYMLINK) $(abspath $(UBUNTUTOUCH_DIR)/libSDL2.so) $(INSTALL_DIR)/koreader/libs/
|
||||
# create new package
|
||||
cd $(INSTALL_DIR) && pwd && \
|
||||
zip -9 -r \
|
||||
|
||||
Reference in New Issue
Block a user