qmake is a build automation tool, which is shipped with Qt framework. It does similar job to tools such as CMake or GNU Autotools, but it is designed to be used specifically with Qt. As such it is well integrated with Qt ecosystem, notably Qt Creator IDE.
If you start Qt Creator and select File -> New File or Project -> Application -> Qt Widgets
application, Qt Creator will generate a project skeleton for you along with a "pro" file. The "pro" file is processed by qmake in order to generate files, which are in turn processed by underlying build systems (for example GNU Make or nmake).
If you named your project "myapp", then "myapp.pro" file will appear. Here's how such default file looks like, with comments, that describe each qmake variable, added.
# Tells build system that project uses Qt Core and Qt GUI modules.
QT += core gui
# Prior to Qt 5 widgets were part of Qt GUI module. In Qt 5 we need to add Qt Widgets module.
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
# Specifies name of the binary.
TARGET = myapp
# Denotes that project is an application.
TEMPLATE = app
# List of source files (note: Qt Creator will take care about this list, you don't need to update is manually).
SOURCES += main.cpp\
mainwindow.cpp
# List of header files (note: Qt Creator will take care about this list).
HEADERS += mainwindow.h
# List of "ui" files for a tool called Qt Designer, which is embedded into Qt Creator in newer versions of IDE (note: Qt Creator will take care about this list).
FORMS += mainwindow.ui