summaryrefslogtreecommitdiffstats
path: root/Rules.mk
AgeCommit message (Collapse)Author
2013-05-09Add a make rule (creator-files) that creates files for using Qt CreatorGravatar Thiago Macieira
Qt Creator cannot import Subsurface directly because our buildsystem is not any of the three that it understands (qmake, cmake, autotools). So, instead, we can create the files Creator uses for "Other Project" projects. The files are: - subsurface.config: the #defines from the command line (-D args) - subsurface.creator: an XDG Desktop-style file with Creator settings - subsurface.files: the list of source and header files - subsurface.includes: the include paths (-I args) They are also added to .gitignore, alongside the *.user file that Creator uses to store per-user settings (editor configuration). Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-09Add a "distclean" target to make.Gravatar Thiago Macieira
Right now, it does the same as confclean Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-04-23Clean up the moc intermediates too in make cleanGravatar Thiago Macieira
Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-04-23Don't hardcode the paths for mkdir: just get them from the targetGravatar Thiago Macieira
The $(@D) (equivalent to $(dir $@)) tells us what the directory the target is in. We could also have used the one for the source. They're equivalent there. Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-04-23Add support for Qt resources in SubsurfaceGravatar Thiago Macieira
Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-04-23Prettify the msgfmt and linking argumentsGravatar Thiago Macieira
Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-04-23Make the "silent mode" compilation be optional only.Gravatar Thiago Macieira
If you run make V=1 Then we'll output the full command-line. It's useful for debugging problems with the build. Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-04-23Generate the C++ dependencies at configure-timeGravatar Thiago Macieira
We use the -MG preprocessor option to the compiler to ask it to check all #includes and tell us what's missing. Then our own rules will generate the moc and uic files that the .cpp #include. Unfortunately, our rules make uic generate output in qt-ui/ for qt-ui/*.ui, while the compiler generates rules for no directory. We need to fake it by forcing the generation. Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-04-23Get the list of dependency includes from the SOURCES listGravatar Thiago Macieira
Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-04-23Add a SOURCES variable to the Makefile, replacing OBJSGravatar Thiago Macieira
Instead of listing objects, let's list sources. This matches also what qmake and most other buildsystems do. The notable exception is the kernel. The reason that listing the sources will be interesting is because I'm about to add rules to create the dependency files. Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-04-23Add a HEADERS variable to the MakefileGravatar Thiago Macieira
Similar to the qmake variable of the same name, this lists (at least) the headers that may need moc to be run on. Adding more headers is not a problem. Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-04-23Introduce a cache of the configurationGravatar Thiago Macieira
You may have noticed that running make is a little slow. Every time that it is loaded, it will try to detect everything again. So, instead, save the output and reload it the next time. This is implemented by adding a rule that (re-)creates the config.cache file, which is included by make. If the file doesn't exist yet, make will first run the rule which creates it, then reload itself. You can also cause it to reconfigure by running "make configure". Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-04-23Trim Makefile, Configure.mk and Rules.mkGravatar Thiago Macieira
Configure.mk contains the detection rules, whereas Rules.mk contains the rules to actually build Subsurface. This simplifies Makefile greatly, which is the file that should be actually modified during regular updates to the codebase. Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-04-23Create Rules.mk and Configure.mk by copying the MakefileGravatar Thiago Macieira
This is to help Git know that the two files are the same content as the Makefile. The next commit will trim the files to what they need to be.