@ -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" ; \