[SailfishDevel] qmake / Makefile - rules missing

Putze Sven sailfish.os at hardcodes.de
Sat Nov 30 12:12:17 UTC 2013


Hi there,

after I changed the structure inside of a test project, some of the rules in the resulting Makefile are missing. The structure is now as follows:

TestSailfishOS/
├── Makefile
├── TestSailfishOS
├── TestSailfishOS.pro
├── TestSailfishOS.pro.user
├── moc
│   └── moc_qbusinesslogic.cpp
├── model
│   ├── model.pri
│   ├── qt
│   │   ├── qbusinesslogic.cpp
│   │   └── qbusinesslogic.h
│   └── std
│       ├── businesslogic.cpp
│       └── businesslogic.h
├── obj
│   ├── TestSailfishOS.o
│   ├── businesslogic.o
│   ├── moc_qbusinesslogic.o
│   └── qbusinesslogic.o
└── sailfishos
    ├── TestSailfishOS.cpp
    ├── TestSailfishOS.desktop
    ├── TestSailfishOS.png
    ├── qml
    │   ├── TestSailfishOS.qml
    │   ├── cover
    │   │   └── CoverPage.qml
    │   └── pages
    │       ├── FirstPage.qml
    │       └── SecondPage.qml
    ├── rpm
    │   └── TestSailfishOS.yaml
    └── sailfishos.pri


The sailsihos/sailfishos.pri file is a variation of the standard template, just edited with the new path:

 # The name of your app.
# NOTICE: name defined in TARGET has a corresponding QML filename.
#         If name defined in TARGET is changed, following needs to be
#         done to match new name:
#         - corresponding QML filename must be changed
#         - desktop icon filename must be changed
#         - desktop filename must be changed
#         - icon definition filename in desktop file must be changed

CONFIG += sailfishapp

SOURCES += sailfishos/TestSailfishOS.cpp

OTHER_FILES += sailfishos/qml/TestSailfishOS.qml \
    sailfishos/qml/cover/CoverPage.qml \
    sailfishos/qml/pages/FirstPage.qml \
    sailfishos/qml/pages/SecondPage.qml \
    sailfishos/rpm/TestSailfishOS.spec \
    sailfishos/rpm/TestSailfishOS.yaml \
    sailfishos/TestSailfishOS.desktop


Compiling works just fine, the moc file, *.o files and finally the binary are built.
But there are missing some rules in the Makefile, which are quite essential for deploying and testing :-) These are missing:

install_qml: first FORCE
	@test -d $(INSTALL_ROOT)/usr/share/TestSailfishOS || mkdir -p $(INSTALL_ROOT)/usr/share/TestSailfishOS
	-$(INSTALL_DIR) /home/mersdk/QtProjects/TestSailfishOS/qml $(INSTALL_ROOT)/usr/share/TestSailfishOS/

uninstall_qml: FORCE
	-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/TestSailfishOS/qml
	-$(DEL_DIR) $(INSTALL_ROOT)/usr/share/TestSailfishOS/ 


install_desktop: first FORCE
	@test -d $(INSTALL_ROOT)/usr/share/applications || mkdir -p $(INSTALL_ROOT)/usr/share/applications
	-$(INSTALL_PROGRAM) /home/mersdk/QtProjects/TestSailfishOS/TestSailfishOS.desktop $(INSTALL_ROOT)/usr/share/applications/

uninstall_desktop: FORCE
	-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/applications/TestSailfishOS.desktop
	-$(DEL_DIR) $(INSTALL_ROOT)/usr/share/applications/ 


install_icon: first FORCE
	@test -d $(INSTALL_ROOT)/usr/share/icons/hicolor/90x90/apps || mkdir -p $(INSTALL_ROOT)/usr/share/icons/hicolor/90x90/apps
	-$(INSTALL_PROGRAM) /home/mersdk/QtProjects/TestSailfishOS/TestSailfishOS.png $(INSTALL_ROOT)/usr/share/icons/hicolor/90x90/apps/

uninstall_icon: FORCE
	-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/icons/hicolor/90x90/apps/TestSailfishOS.png
	-$(DEL_DIR) $(INSTALL_ROOT)/usr/share/icons/hicolor/90x90/apps/ 



So obviously qmake has a problem when leaving the expected path(s). Is this expected behavior? Is this a bug? Or must I now provide some extra settings in the sailfishos.pri file so that the rules in the Makefile are generated again?

Thanks,
BR.

Sven


More information about the Devel mailing list