|
|
|
@ -8,20 +8,29 @@ MAKEFILE_PATH := $(dir $(MAKEFILE_FILEPATH))
|
|
|
|
|
CMAKE_COMMAND = cmake
|
|
|
|
|
CMAKE_SOURCE_DIR = $(MAKEFILE_PATH)source
|
|
|
|
|
CMAKE_BUILD_DIR = $(MAKEFILE_PATH)compile
|
|
|
|
|
FILE_VERSION = VERSION.md
|
|
|
|
|
DEPENDS = /bin/cmake
|
|
|
|
|
PREFIX ?= /usr
|
|
|
|
|
PREFIX ?= /usr/local
|
|
|
|
|
PKGNAME = $(MAKEFILE_DIR)
|
|
|
|
|
FILE_VER = source/${PKGNAME}.h
|
|
|
|
|
PKGIDENT = $(subst /,-,$(subst /usr,,${PREFIX}))
|
|
|
|
|
|
|
|
|
|
default_target: all
|
|
|
|
|
|
|
|
|
|
.PHONY: all init depend debug prepare check build uninstall install clean up_ver help
|
|
|
|
|
.PHONY: all init depend debug prepare check build uninstall install clean help
|
|
|
|
|
|
|
|
|
|
all: init build
|
|
|
|
|
|
|
|
|
|
init:
|
|
|
|
|
@echo "Initialize ..."; \
|
|
|
|
|
sed -r "s/^(string version_application = ).*/\1\"$$(grep 'VERSION' ${FILE_VERSION} | cut -d" " -f2)\";/" -i source/view/${PKGNAME}.cc; \
|
|
|
|
|
if [ -d ".git" ]; then \
|
|
|
|
|
LATEST_TAG=$$(git describe --abbrev=0 --tags | sed 's/^v//'); \
|
|
|
|
|
if [ -z "$${LATEST_TAG}" ]; then \
|
|
|
|
|
LATEST_TAG="0.0"; \
|
|
|
|
|
fi; \
|
|
|
|
|
else \
|
|
|
|
|
LATEST_TAG="Development"; \
|
|
|
|
|
fi; \
|
|
|
|
|
sed -r "s/^(string version_application).*/\1 = \"$${LATEST_TAG}\";/" -i ${FILE_VER}; \
|
|
|
|
|
echo "-- Build path: ${CMAKE_BUILD_DIR}"
|
|
|
|
|
|
|
|
|
|
depend:
|
|
|
|
@ -60,7 +69,8 @@ check:
|
|
|
|
|
|
|
|
|
|
build: depend prepare
|
|
|
|
|
@echo "Build ..."; \
|
|
|
|
|
make --directory=${CMAKE_BUILD_DIR}; \
|
|
|
|
|
$(MAKE_COMMAND) --directory=${CMAKE_BUILD_DIR}; \
|
|
|
|
|
sed -r "s/^(string version_application).*/\1;/" -i ${FILE_VER}; \
|
|
|
|
|
echo "Build: OK"
|
|
|
|
|
|
|
|
|
|
uninstall:
|
|
|
|
@ -68,7 +78,7 @@ uninstall:
|
|
|
|
|
@for FILE_PO in $(wildcard *.po); do \
|
|
|
|
|
LANG=$${FILE_PO##*_};LANG=$${LANG%.*}; \
|
|
|
|
|
FILE_MO=$${FILE_PO##*/}; FILE_MO="$${FILE_MO%_*.po}.mo"; \
|
|
|
|
|
PATH_FILE_MO="${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \
|
|
|
|
|
PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \
|
|
|
|
|
$(RM) "$${PATH_FILE_MO}"; \
|
|
|
|
|
done
|
|
|
|
|
@for SIZE in 16x16 32x32 48x48 scalable; do \
|
|
|
|
@ -82,10 +92,8 @@ uninstall:
|
|
|
|
|
done
|
|
|
|
|
@$(RM) "${DESTDIR}${PREFIX}/bin/${PKGNAME}"
|
|
|
|
|
@$(RM) "${DESTDIR}${PREFIX}/share/applications/${PKGNAME}.desktop"
|
|
|
|
|
@$(RM) "${DESTDIR}${PREFIX}/share/${PKGNAME}/images/logo-background.png"
|
|
|
|
|
@$(RM) "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}.policy"
|
|
|
|
|
@$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/com.ublinux.${PKGNAME}.svg"
|
|
|
|
|
@$(RM) -rd "${DESTDIR}${PREFIX}/share/${PKGNAME}"
|
|
|
|
|
@$(RM) "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
|
|
|
|
|
@if [ -z ${DESTDIR} ]; then \
|
|
|
|
|
[ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \
|
|
|
|
|
update-desktop-database --quiet &>/dev/null || true; \
|
|
|
|
@ -97,9 +105,9 @@ install: check uninstall
|
|
|
|
|
@echo "Install ..."
|
|
|
|
|
@for FILE_PO in $(wildcard *.po); do \
|
|
|
|
|
LANG=$${FILE_PO##*_};LANG=$${LANG%.*}; \
|
|
|
|
|
install -dm755 "${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES"; \
|
|
|
|
|
install -dm755 "${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES"; \
|
|
|
|
|
FILE_MO=$${FILE_PO##*/}; FILE_MO="$${FILE_MO%_*.po}.mo"; \
|
|
|
|
|
PATH_FILE_MO="${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \
|
|
|
|
|
PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \
|
|
|
|
|
echo "$${FILE_PO}"; \
|
|
|
|
|
msgfmt "$${FILE_PO}" -v -f -o "$${PATH_FILE_MO}"; \
|
|
|
|
|
done
|
|
|
|
@ -107,19 +115,14 @@ install: check uninstall
|
|
|
|
|
install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps"; \
|
|
|
|
|
rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data "com.ublinux.${PKGNAME}.svg" -o "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \
|
|
|
|
|
done
|
|
|
|
|
@install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps"
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/" "com.ublinux.${PKGNAME}.svg"
|
|
|
|
|
@install -Dm755 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}"
|
|
|
|
|
@install -dm755 "${DESTDIR}${PREFIX}/share/applications"
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop"
|
|
|
|
|
@install -dm755 "${DESTDIR}${PREFIX}/share/polkit-1/actions"
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/polkit-1/actions/" "com.ublinux.${PKGNAME}.policy"
|
|
|
|
|
@install -dm755 "${DESTDIR}${PREFIX}/share/${PKGNAME}"/{ui,css,images}
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/${PKGNAME}/ui/" "${PKGNAME}.glade"
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/${PKGNAME}/css/" "${PKGNAME}.css"
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/${PKGNAME}/images/" "logo-background.png"
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.checked.svg"
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.warning.svg"
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.funnel-symbolic.svg"
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop"
|
|
|
|
|
@install -Dm755 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}"
|
|
|
|
|
@install -Dm644 "com.ublinux.${PKGNAME}.policy" "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
|
|
|
|
|
@sed -e '\|annotate key=|s|/usr/bin|${PREFIX}/bin|' -e '/action id=/s/\.run/${PKGIDENT}\.run/' -i ${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy
|
|
|
|
|
@if [ -z ${DESTDIR} ]; then \
|
|
|
|
|
[ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \
|
|
|
|
|
update-desktop-database --quiet &>/dev/null || true; \
|
|
|
|
@ -136,22 +139,13 @@ clean:
|
|
|
|
|
echo "Clean: OK"; \
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
up_ver:
|
|
|
|
|
@CURRENT=$$(grep 'VERSION' ${FILE_VERSION} | cut -d" " -f2); \
|
|
|
|
|
MAJOR=$$(cut -d. -f1 <<< $${CURRENT}); \
|
|
|
|
|
MINOR=$$(cut -d. -f2 <<< $${CURRENT}); \
|
|
|
|
|
VER="$${MAJOR}.$$(($${MINOR}+1))"; \
|
|
|
|
|
sed "s/VERSION *[[:digit:]]*.*/VERSION $${VER}/" -i ${FILE_VERSION}; \
|
|
|
|
|
echo "Updated version to VERSION.md: $${CURRENT} to $${VER}"
|
|
|
|
|
|
|
|
|
|
help:
|
|
|
|
|
@echo "The following are some of the valid targets for this Makefile:"; \
|
|
|
|
|
echo "... all (the default if no target is provided)"; \
|
|
|
|
|
echo "... init"; \
|
|
|
|
|
echo "... debug"; \
|
|
|
|
|
echo "... prepare"; \
|
|
|
|
|
echo "... compile"; \
|
|
|
|
|
echo "... build"; \
|
|
|
|
|
echo "... install"; \
|
|
|
|
|
echo "... uninstall"; \
|
|
|
|
|
echo "... clean"; \
|
|
|
|
|
echo "... up_ver"
|
|
|
|
|
echo "... clean"
|