|
|
|
@ -12,7 +12,6 @@ DEPENDS = /bin/cmake
|
|
|
|
|
PREFIX ?= /usr/local
|
|
|
|
|
PKGNAME = $(MAKEFILE_DIR)
|
|
|
|
|
FILE_VER = source/${PKGNAME}.h
|
|
|
|
|
PKGIDENT=$(subst /,-,${PREFIX})
|
|
|
|
|
|
|
|
|
|
default_target: all
|
|
|
|
|
|
|
|
|
@ -22,9 +21,9 @@ all: init build
|
|
|
|
|
|
|
|
|
|
init:
|
|
|
|
|
@echo "Initialize ..."; \
|
|
|
|
|
if [ -d ".git" ]; then \
|
|
|
|
|
if [[ -d ".git" ]]; then \
|
|
|
|
|
LATEST_TAG=$$(git describe --abbrev=0 --tags | sed 's/^v//'); \
|
|
|
|
|
if [ -z "$${LATEST_TAG}" ]; \
|
|
|
|
|
if [[ -z "$${LATEST_TAG}" ]]; \
|
|
|
|
|
then \
|
|
|
|
|
LATEST_TAG=$$"0.0"; \
|
|
|
|
|
echo "$${LATEST_TAG} is empty"; \
|
|
|
|
@ -38,7 +37,7 @@ init:
|
|
|
|
|
depend:
|
|
|
|
|
@echo "Check depends ..."
|
|
|
|
|
@for FILE_DEPEND in $(DEPENDS); do \
|
|
|
|
|
if [ ! -f $${FILE_DEPEND} ]; then \
|
|
|
|
|
if [[ ! -f "$${FILE_DEPEND}" ]]; then \
|
|
|
|
|
echo "ERROR: Depend '$${FILE_DEPEND}' not found !"; \
|
|
|
|
|
exit 1; \
|
|
|
|
|
fi; \
|
|
|
|
@ -48,21 +47,21 @@ depend:
|
|
|
|
|
|
|
|
|
|
debug:
|
|
|
|
|
@echo "Debug ..."
|
|
|
|
|
if [ ! -d ${CMAKE_BUILD_DIR} ]; then \
|
|
|
|
|
if [[ ! -d "${CMAKE_BUILD_DIR}" ]]; then \
|
|
|
|
|
$(CMAKE_COMMAND) -S${CMAKE_SOURCE_DIR} -B${CMAKE_BUILD_DIR} -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="${PREFIX}"; \
|
|
|
|
|
fi; \
|
|
|
|
|
echo "Debug: OK"
|
|
|
|
|
|
|
|
|
|
prepare:
|
|
|
|
|
@echo "Prepare ..."; \
|
|
|
|
|
if [ ! -d ${CMAKE_BUILD_DIR} ]; then \
|
|
|
|
|
if [[ ! -d "${CMAKE_BUILD_DIR}" ]]; then \
|
|
|
|
|
$(CMAKE_COMMAND) -S${CMAKE_SOURCE_DIR} -B${CMAKE_BUILD_DIR} -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${PREFIX}"; \
|
|
|
|
|
fi; \
|
|
|
|
|
echo "Prepare: OK"
|
|
|
|
|
|
|
|
|
|
check:
|
|
|
|
|
@echo "Check ..."; \
|
|
|
|
|
if [ -f ${CMAKE_BUILD_DIR}/${PKGNAME} ]; then \
|
|
|
|
|
if [[ -f "${CMAKE_BUILD_DIR}/${PKGNAME}" ]]; then \
|
|
|
|
|
echo "Check: OK"; \
|
|
|
|
|
else \
|
|
|
|
|
echo "Check: ${CMAKE_BUILD_DIR}/${PKGNAME} not found !"; \
|
|
|
|
@ -77,10 +76,9 @@ build: depend prepare
|
|
|
|
|
|
|
|
|
|
uninstall:
|
|
|
|
|
@echo "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}/usr/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \
|
|
|
|
|
@for LANG in $$(find ./locale -iname "*.po" -print | sed -En "s/.+_([[:alpha:]]+)\.po/\1/p" | sort -u); do \
|
|
|
|
|
# PATH_FILE_MO="${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \
|
|
|
|
|
PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \
|
|
|
|
|
$(RM) "$${PATH_FILE_MO}"; \
|
|
|
|
|
done
|
|
|
|
|
@for SIZE in 16x16 32x32 48x48 scalable; do \
|
|
|
|
@ -92,50 +90,64 @@ uninstall:
|
|
|
|
|
$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}/status/$${FILE_SVG%.*}".{svg,png,jpg}; \
|
|
|
|
|
done; \
|
|
|
|
|
done
|
|
|
|
|
@for FILE_ICON in $(wildcard icons/*/*.svg); do \
|
|
|
|
|
SUB_NAME=$${FILE_ICON#*/}; SUB_NAME=$${SUB_NAME%/*}; \
|
|
|
|
|
$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/$${SUB_NAME}/$${FILE_ICON}"; \
|
|
|
|
|
done
|
|
|
|
|
@$(RM) "${DESTDIR}${PREFIX}/bin/${PKGNAME}"
|
|
|
|
|
@$(RM) "${DESTDIR}${PREFIX}/share/applications/${PKGNAME}.desktop"
|
|
|
|
|
@$(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; \
|
|
|
|
|
@if [[ "${PREFIX}" == @("/usr"|"/usr/") ]]; then \
|
|
|
|
|
$(RM) "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}.policy"; \
|
|
|
|
|
else \
|
|
|
|
|
# $(RM) "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
|
|
|
|
|
$(RM) "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
|
|
|
|
|
fi
|
|
|
|
|
@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; \
|
|
|
|
|
[ -d "${DESTDIR}${PREFIX}/share/applications" ] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \
|
|
|
|
|
[[ -d "${DESTDIR}${PREFIX}/share/applications" ]] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \
|
|
|
|
|
fi
|
|
|
|
|
@echo "Uninstall: OK"
|
|
|
|
|
|
|
|
|
|
install: check uninstall
|
|
|
|
|
@echo "Install ..."
|
|
|
|
|
@for FILE_PO in $(wildcard *.po); do \
|
|
|
|
|
LANG=$${FILE_PO##*_};LANG=$${LANG%.*}; \
|
|
|
|
|
install -dm755 "${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES"; \
|
|
|
|
|
FILE_MO=$${FILE_PO##*/}; FILE_MO="$${FILE_MO%_*.po}.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}"; \
|
|
|
|
|
@for LANG in $$(find ./locale -iname "*.po" -print | sed -En "s/.+_([[:alpha:]]+)\.po/\1/p" | sort -u); do \
|
|
|
|
|
install -dm755 "${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES"; \
|
|
|
|
|
# PATH_FILE_MO="${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \
|
|
|
|
|
PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \
|
|
|
|
|
PKGNAME_PO="./locale/${PKGNAME}_$${LANG}.po"; [[ -f "$${PKGNAME_PO}" ]] || PKGNAME_PO= ; \
|
|
|
|
|
msgfmt --verbose --use-fuzzy --output-file "$${PATH_FILE_MO}" - < <(msgcat --use-first --no-wrap $${PKGNAME_PO} ./locale/*_$${LANG}.po); \
|
|
|
|
|
done
|
|
|
|
|
@for SIZE in 16 32 48; do \
|
|
|
|
|
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"; \
|
|
|
|
|
install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps"; \
|
|
|
|
|
rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data "icons/apps/com.ublinux.${PKGNAME}.svg" -o "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \
|
|
|
|
|
done
|
|
|
|
|
@for FILE_ICON in $(wildcard icons/*/*.svg); do \
|
|
|
|
|
SUB_NAME=$${FILE_ICON#*/}; SUB_NAME=$${SUB_NAME%/*}; \
|
|
|
|
|
install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/$${SUB_NAME}" $${FILE_ICON}; \
|
|
|
|
|
done
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/apps/" "com.ublinux.${PKGNAME}.svg"
|
|
|
|
|
@cp ./com.ublinux.${PKGNAME}.policy ./compile/com.ublinux.${PKGNAME}${PKGIDENT}.policy
|
|
|
|
|
@sed -e 's+/usr/bin+${PREFIX}/bin+' -e 's+.run+${PKGIDENT}.run+g' ./compile/com.ublinux.${PKGNAME}${PKGIDENT}.policy -i
|
|
|
|
|
@install -Dm755 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}"
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop"
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.checked.svg"
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.warning.svg"
|
|
|
|
|
@install -Dm644 -t "${DESTDIR}/usr/share/polkit-1/actions/" "${CMAKE_BUILD_DIR}/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
|
|
|
|
|
@ldconfig -n /usr/local/lib
|
|
|
|
|
@if [ -z ${DESTDIR} ]; then \
|
|
|
|
|
[ -d "${DESTDIR}/usr/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}/usr/share/icons/hicolor/" &>/dev/null || true; \
|
|
|
|
|
@if [[ "${PREFIX}" == @("/usr"|"/usr/") ]]; then \
|
|
|
|
|
install -Dm644 -t "${DESTDIR}${PREFIX}/share/polkit-1/actions/" "com.ublinux.${PKGNAME}.policy"; \
|
|
|
|
|
else \
|
|
|
|
|
# install -Dm644 "com.ublinux.${PKGNAME}.policy" "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
|
|
|
|
|
install -Dm644 "com.ublinux.${PKGNAME}.policy" "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
|
|
|
|
|
# sed -e "s+/usr/bin+${PREFIX}/bin+" -e "s+\.run+$${PREFIX//\//-}\.run+g" -i "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
|
|
|
|
|
sed -e "s+/usr/bin+${PREFIX}/bin+" -e "s+\.run+$${PREFIX//\//-}\.run+g" -i "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
|
|
|
|
|
fi
|
|
|
|
|
@if [[ -z "${DESTDIR}" ]]; then \
|
|
|
|
|
ldconfig -n ${DESTDIR}${PREFIX}/lib; \
|
|
|
|
|
[[ -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; \
|
|
|
|
|
[ -d "${DESTDIR}/usr/share/applications" ] && touch "${DESTDIR}/usr/share/applications" &>/dev/null || true; \
|
|
|
|
|
[[ -d "${DESTDIR}${PREFIX}/share/applications" ]] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \
|
|
|
|
|
fi
|
|
|
|
|
@echo "Install: OK"
|
|
|
|
|
|
|
|
|
|
clean:
|
|
|
|
|
@echo "Clean ..."
|
|
|
|
|
@$(RM) -rd ${CMAKE_BUILD_DIR}
|
|
|
|
|
@if [ -d ${CMAKE_BUILD_DIR} ]; then \
|
|
|
|
|
@if [[ -d "${CMAKE_BUILD_DIR}" ]]; then \
|
|
|
|
|
echo "Clean: error, compile directory exist ${CMAKE_BUILD_DIR}"; \
|
|
|
|
|
else \
|
|
|
|
|
echo "Clean: OK"; \
|
|
|
|
|