#!/usr/bin/make -f #!/usr/bin/make -f #SHELL := /bin/bash MAKEFILE_FILEPATH := $(abspath $(lastword $(MAKEFILE_LIST))) MAKEFILE_DIR := $(notdir $(patsubst %/,%,$(dir $(MAKEFILE_FILEPATH)))) MAKEFILE_PATH := $(dir $(MAKEFILE_FILEPATH)) CMAKE_COMMAND = cmake #CMAKE_SOURCE_DIR = $(MAKEFILE_PATH)source #CMAKE_BUILD_DIR = $(MAKEFILE_PATH)compile CMAKE_SOURCE_DIR = ./source CMAKE_BUILD_DIR = ./compile DEPENDS = cmake #PKGNAME = $(MAKEFILE_DIR) PKGNAME = ubl-settings-bootloader default_target: all all: init build init: @echo "Initialize ..."; \ version="$$(cat VERSION.md)"; \ version=$${version:8}; \ search="s/string version_application.*$&"; \ replace="string version_application = \"$${version}\";"; \ sed -i -e "$$search/$$replace/gi" source/ubl-settings-bootloader.h; \ echo "-- Build path: ${CMAKE_BUILD_DIR}" depend: @echo "Check depends ..."; \ if [ ! -f /bin/${DEPENDS} ]; then \ echo "-- Depend '${DEPENDS}' not fount !"; \ exit 1; \ fi; \ echo "Check depends: OK" # $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 debug: @echo "Debug ..." if [ ! -d ${CMAKE_BUILD_DIR} ]; then \ $(CMAKE_COMMAND) -S${CMAKE_SOURCE_DIR} -B${CMAKE_BUILD_DIR} -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="/usr"; \ fi; \ echo "Debug: OK" prepare: @echo "Prepare ..."; \ if [ ! -d ${CMAKE_BUILD_DIR} ]; then \ $(CMAKE_COMMAND) -S${CMAKE_SOURCE_DIR} -B${CMAKE_BUILD_DIR} -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr"; \ fi; \ echo "Prepare: OK" check: @echo "Check ..."; \ if [ -f ${CMAKE_BUILD_DIR}/${PKGNAME} ]; then \ echo "Check: OK"; \ else \ echo "Check: ${CMAKE_BUILD_DIR}/${PKGNAME} not fount !"; \ exit 1; \ fi build: depend prepare @echo "Build ..."; \ make --directory=${CMAKE_BUILD_DIR}; \ echo "Build: OK" 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="/usr/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \ $(RM) "/usr/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \ done # @for SIZE in 16x16 32x32 48x48 scalable; do \ $(RM) "/usr/share/icons/hicolor/$${SIZE}/apps/${PKGNAME}.svg"; \ $(RM) "/usr/share/icons/hicolor/$${SIZE}/apps/${PKGNAME}.png"; \ done # @for FILE_SVG in $(wildcard *.svg); do \ for SIZE in 16x16 32x32 48x48 scalable; do \ $(RM) "/usr/share/icons/hicolor/$${SIZE}/status/$${FILE_SVG%.*}".{svg,png,jpg}; \ done; \ done @$(RM) "/usr/bin/${PKGNAME}" @$(RM) "/usr/share/applications/${PKGNAME}.desktop" @$(RM) "/usr/share/polkit-1/actions/ru.ublinux.pkexec.${PKGNAME}.exec.policy" @$(RM) -rd "/usr/share/${PKGNAME}" @gtk-update-icon-cache -fiq /usr/share/icons/hicolor/ &>/dev/null @update-desktop-database --quiet 2>/dev/null @touch /usr/share/applications @echo "Uninstall: OK" install: check uninstall @echo "Install ..." @for FILE_PO in $(wildcard *.po); do \ LANG=$${FILE_PO##*_};LANG=$${LANG%.*}; \ install -dm755 /usr/share/locale/$${LANG}/LC_MESSAGES; \ FILE_MO=$${FILE_PO##*/}; FILE_MO="$${FILE_MO%_*.po}.mo"; \ PATH_FILE_MO="/usr/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \ echo $${FILE_PO}; \ msgfmt "$${FILE_PO}" -v -f -o "$${PATH_FILE_MO}"; \ done @for SIZE in 16 32 48; do \ install -dm755 /usr/share/icons/hicolor/$${SIZE}x$${SIZE}/apps; \ # rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data ${PKGNAME}.svg -o "/usr/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/${PKGNAME}.svg"; \ done @install -dm755 /usr/share/icons/hicolor/scalable/apps # @install -Dm644 -t /usr/share/icons/hicolor/scalable/apps/ ${PKGNAME}.svg @install -Dm755 -t /usr/bin/ ${CMAKE_BUILD_DIR}/${PKGNAME} @install -Dm644 -t /usr/share/applications/ ${PKGNAME}.desktop @install -Dm644 -t /usr/share/polkit-1/actions/ org.ublinux.pkexec.${PKGNAME}.exec.policy @install -dm755 /usr/share/${PKGNAME}/{ui,css,images} @install -Dm644 -t /usr/share/${PKGNAME}/ui/ ${PKGNAME}.glade @install -Dm644 -t /usr/share/${PKGNAME}/css/ style.css @install -Dm644 -t /usr/share/${PKGNAME}/images/ bg_top.png # @install -Dm644 -t /usr/share/${PKGNAME}/images/ ${PKGNAME}.svg # @install -Dm644 -t /usr/share/${PKGNAME}/images/ ${PKGNAME}.png @install -Dm644 -t "${pkgdir}/usr/share/icons/hicolor/scalable/status/" "ru.ublinux.ubl-settings-bootloader.checked.svg" @install -Dm644 -t "${pkgdir}/usr/share/icons/hicolor/scalable/status/" "ru.ublinux.ubl-settings-bootloader.warning.svg" @gtk-update-icon-cache -fiq /usr/share/icons/hicolor/ @update-desktop-database --quiet 2>/dev/null @touch /usr/share/applications @echo "Install: OK" clean: @echo "Clean ..." @$(RM) -rd ${CMAKE_BUILD_DIR} @if [ -d ${CMAKE_BUILD_DIR} ]; then \ echo "Clean: error, compile directory exist ${CMAKE_BUILD_DIR}"; \ else \ echo "Clean: OK"; \ fi 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 "... install" @echo "... uninstall" @echo "... clean"