Commit Graph

66 Commits

Author SHA1 Message Date
Daniel Hahler c20573e6dd
Makefile: keep cmake-build as default target (#2579)
Fixes https://github.com/awesomeWM/awesome/issues/2576.
2019-01-12 11:46:23 +01:00
Daniel Hahler 0b36da2730
Makefile: get rid of cmake-build (#2547)
* Makefile: all: only depend on cmake-build

Previously `make` would first run `cmake-build` (`make` in `build/`),
and then run `make -C build awesome` afterwards again (which gets built
by the first step already).

* Makefile: get rid of cmake-build

* Travis: testing previous commits: make distclean

Otherwise it might fail due to permission errors for existing files:

https://travis-ci.org/awesomeWM/awesome/jobs/476612117#L2785

    -- Build files have been written to: /home/travis/build/awesomeWM/awesome/build
    [  1%] Generating manpages/man1/awesome.1
    [  2%] Generating manpages/man1/awesome.1.gz
    /bin/sh: 1: cannot create /home/travis/build/awesomeWM/awesome/build/manpages/man1/awesome.1.gz: Permission denied
    make[3]: *** [manpages/man1/awesome.1.gz] Error 2
    make[2]: *** [CMakeFiles/man.dir/all] Error 2
    make[1]: *** [all] Error 2
    make: *** [cmake-build] Error 2
2019-01-11 17:04:04 +01:00
Daniel Hahler e9b5e28d15 Makefile: distclean: do not try to rm `awesome` (#2077)
Follow-up to ec51e3f93, where we stopped creating the symlink.

[ci skip]
2017-10-23 22:25:18 +02:00
Daniel Hahler 1ca3fff86c Makefile: fix invoking cmake in the build dir (#2078)
`"(@D)"` is the dir of the target, i.e. "build" for BUILDDIR=build,
which results in calling `cmake build ..`.

cmake appears to ignore the "build" in this case, and works the same way
without it.

Instead of ".." this patch uses `$(CURDIR)`, which is the absolute path
to the source dir, which is relevant in case `BUILDDIR` is not just a
direct subdirectory.
2017-10-23 22:24:58 +02:00
Daniel Hahler 7117c6a720 Makefile: add explicit rule for Makefile to not "update" it (#2071)
Typically the implicit rule below will trigger a "make -C build
Makefile" run, whenever build/Makefile is newer than our Makefile.

Ref: https://www.gnu.org/software/make/manual/html_node/Remaking-Makefiles.html
2017-10-22 15:32:37 +02:00
Daniel Hahler 140481a3e5 Makefile: do not call check-unit by default (#1931)
It should get run explicitly only.

As for Travis: we run it there initially (when just using `make`, and
later again - at least when using check-unit-coverage).
2017-07-20 01:03:33 +02:00
Daniel Hahler ec51e3f930 Makefile: remove `ln -s` for `awesome` (#1906)
It does not seem to be required by tests (anymore), and fails when the
source dir is mounted read-only (which is the case for the Docker based
builds I am working on).

I think it is clearer anyway to run it as `build/awesome`.
2017-07-04 12:25:42 +02:00
Daniel Hahler 30cbb0efe2 Fix wrapper Makefile dependency on CMake outcome (#1905)
If `cmake ..` in the build dir failed (e.g. because Lua could not be
found), a subsequent `make` will cause a strange error (this is in
non-quiet mode):

```
/src/awesome # make
echo "Running make Makefile…"
Running make Makefile…
make -C build Makefile
make[1]: Entering directory '/src/awesome/build'
make[1]: *** No rule to make target 'Makefile'.  Stop.
make[1]: Leaving directory '/src/awesome/build'
make: *** [Makefile:44: Makefile] Error 2
```

With `s` in `MAKEFLAGS` (at the top of our Makefile):
```
Running make check-unit…
make[1]: *** No rule to make target 'check-unit'.  Stop.
make: *** [Makefile:44: check-unit] Error 2
```

Therefore this patch looks for build/Makefile to be generated really.
2017-07-04 10:17:12 +02:00
Daniel Hahler 731099ba4d CMakeLists.txt: remove check-unit from ALL (#1867)
This makes "make install" not run the unit tests (again).

Instead "check-unit" is added to the top-level wrapper Makefile to be
run for its "all" task.
2017-06-25 20:04:32 +02:00
Uli Schlachter 5f92eda6bf Makefile: Run cmake less often
Previously, running make in the build/ directory depended on the "cmake"
target which was running the cmake command. This target was phony,
meaning that it was always considered to be out of date and needed to be
re-generated.

Change this so that instead things depend on the CMakeCache.txt file. If
that file is already there, we do not re-run cmake.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-05-30 11:27:30 +02:00
Uli Schlachter 82b51c2715 Makefile: Stop creating .build-* directories, use build directly
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-05-30 11:27:30 +02:00
Uli Schlachter 9bf50beab0 Makefile: Add a hint that cmake can be used directly
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-05-30 11:27:30 +02:00
Daniel Hahler a7b281294c Makefile: add "tags" to .PHONY targets
It could depend on $(shell git ls-files), but it's not worth the
overhead to get this list then always.
2015-07-11 22:50:11 +02:00
Uli Schlachter 6bc81f5a36 Makefile: distclean is a phony target
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-08-23 22:09:17 +02:00
Julien Danjou 99f763d833 build: allow to specify cmake args
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-08 19:54:38 +02:00
Julien Danjou 7dbb02adf3 awesome-client: remove socket code
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-08 17:56:25 +02:00
Julien Danjou 6e4db19e30 build: do not do build link if it exists
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-29 16:21:36 +02:00
Julien Danjou 64b09bdb02 build: any target need cmake first
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-04 11:51:11 +02:00
Pierre Habouzit 16bc2a8de8 Add a tags target, cmake already knows install needs build.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 22:19:44 +02:00
Pierre Habouzit 91656b0b29 Revamp the toplevel Makefile.
This fixes among things:
* cmake has a clean target that doesn't redo cmake, use it, implement
  distclean for what clean did.
* cmake is aware that it has to reconfigure, let id be clever about that
  instead of being half clever ourselves.
* Don't have a *build* symlink and a *build* target, this is confusing.
* Forward things we don't know about to cmake.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 22:02:24 +02:00
Pierre Habouzit 49466fa385 Build system improvements.
Add missing -f so that ln doesn't complain about target existing.
Be sure that the toplevel makefile is silent instead of custom @'s.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 21:22:04 +02:00
Julien Danjou 885ea9cb89 build: rework makefile
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 17:07:51 +02:00
Julien Danjou eae75c8cef build: fix mode
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 09:17:22 +02:00
Julien Danjou 84373e6513 build: add a Makefile to run cmake automagically
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 08:25:40 +02:00
Hans Ulrich Niedermann ec09073087 switch to autotools as build system 2008-01-04 20:49:49 +01:00
Julien Danjou 4293eb0de0 fix widget and icons layouts installation 2008-01-03 13:22:37 +01:00
Julien Danjou 437bc5c22c add 2008 copyright notice 2008-01-02 16:59:43 +01:00
Julien Danjou 9255946d9f remove common.h 2008-01-01 17:38:27 +01:00
Julien Danjou 73691143af externalize EWMH handling 2007-12-27 17:27:20 +01:00
Julien Danjou 849e7c1a70 install shared data (icons) in /usr/local/share 2007-12-27 16:58:09 +01:00
Aldo Cortesi 76ddf235ac Widget-ise the statusbar.
We now have the beginnings of a flexible widget structure for the statusbar.
For now, there is no behavioural change, and the interface is a bit crude, but
watch this space!
2007-12-15 10:15:42 +01:00
marco candrian 0d2c1557e6 awesomerc man page 2007-12-15 07:39:55 +01:00
Julien Danjou df2a8e1b1d add a focus history 2007-12-14 21:51:54 +01:00
Julien Danjou b9320be372 add spiral and dwindle layouts (fibonacci) 2007-12-14 17:05:29 +01:00
Julien Danjou 425f89bada remove dual-config: awesomerc is now preprocessed and compiled in awesome 2007-12-13 11:16:43 +01:00
Julien Danjou 6f995ad3a5 add awesome-client.1 manpage and modify Makefile for this 2007-12-02 15:43:40 +01:00
Julien Danjou 4144ee13fc include manpage in dist tarball 2007-11-29 18:34:17 +01:00
MATSUU Takuto a991759ccb fix parallel make install 2007-11-25 20:43:27 +01:00
Julien Danjou 2693631447 split doc and binary build 2007-11-22 09:09:58 +01:00
Nikos Ntarmos 22655a20b2 manpage generation more BSD friendly 2007-11-22 09:03:57 +01:00
Nikos Ntarmos 7c361ab884 change echo -e lines to be BSD friendly 2007-11-22 09:03:54 +01:00
Nikos Ntarmos c824915f9e remove awesome manpage on clean target 2007-11-22 09:02:41 +01:00
Julien Danjou 63a2bfb7a3 use asciidoc to render man page 2007-11-21 14:29:16 +01:00
Julien Danjou 9bdf2b6fc2 rename raw to unstrip 2007-11-21 14:17:27 +01:00
Nikos Ntarmos ac188235ed Split x-related util functions to a separate xutil.{c,h} file pair.
Hi there.

awesome-client is now linked against the whole hog of x-related libs
that awesome depends on. These get pulled in by awesome-client using the
same LDFLAGS as awesome. Removing x-related libs from the LDFLAGS for
awesome-client is only half of the story, as it also depends on util.c
which now has a couple of x-related functions. The attached patch also
splits these functions into a separate xutil.{c,h} file pair and teaches
the rest of the files to use them. Apart from the small difference in
file size (I see a 3-3.5% decrease in file size, both for a stripped and
a non-stripped awesome-client binary), this should also somewhat reduce
the startup time (since awesome-client won't have to map all of these
libraries).

Cheers...

\n\n
2007-11-19 20:45:21 +01:00
Julien Danjou 7808e2f8b0 ignore cp errors 2007-11-16 20:23:28 +01:00
Julien Danjou cfa31c399d introduce mouse.[ch] files and move uicb_mouse*() to them 2007-11-13 22:57:57 +01:00
Julien Danjou 06dc3ba221 add new rules.c file with new functions for using Rule-s struct 2007-11-13 21:41:57 +01:00
Julien Danjou 1004cefa2f Remove current tab support
We will add a real new one later.
2007-11-10 10:45:32 +01:00
Julien Danjou 96430ced33 split install and strip to allow unstripped install 2007-10-29 20:19:14 +01:00