aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAge
* build: enhance MakefileEisuke Kawashima2021-09-21
| | | | | | | - fix regression where `-j` is not passed to ninja (39c886551bf8323b63938f5dee5beb650c61f02b, #15708) - enable to pass `-l` (load) to ninja as well - s/BUILD_TYPE/CMAKE_GENERATOR/
* build(lint): commit linterJustin M. Keyes2021-09-19
|
* refactor(Makefile): use built-in make commands #15708kylo2522021-09-19
| | | | | | | | | | | | | | | | | | | Changes to the main Makefile: - add `MAKEFILE_PATH` and `MAKEFILE_DIR` that are set with native commands - add `NVIM_PRG` - rename `BUILD_TYPE` to `CMAKE_GENERATOR` to align with CMake naming - remove the misleading `BUILD_CMD` and use `BUILD_TOOL` instead Add the following phony target to quickly test the changes ```make debug-print: @echo makefile path: $(MAKEFILE_PATH) @echo makefile dir: $(MAKEFILE_DIR) @echo build dir: $(BUILD_DIR) @echo cmake generator tool: $(CMAKE_GENERATOR) @echo build-tool: $(BUILD_TOOL) @echo nvim-prg: $(NVIM_PRG) ```
* build(lint): commit linter #15620dundargoc2021-09-19
|
* build: Inherit -n and -jN flags if Ninja #12219Eisuke Kawashima2020-05-01
|
* oldtest: support for running by filename (#11473)Daniel Hahler2019-12-02
| | | | | | | | | | | | Follow-up to 8969efca8 (Vim patch 8.1.0723) NOTE: This changes the main entrypoint for running single oldtest files to not use/require the ".res" extension anymore. But it is handled for B/C. Adds a phony rule to run oldtest by filename. Not going through "$(MAKE)" avoids GNUmakefile being used then (which I use for WIP things), and it seems like SINGLE_MAKE should be used anyway probably.
* vim-patch:8.1.0723: cannot easily run specific test when in src/testdirJan Edmund Lazo2019-11-22
| | | | | | | | | | | | Problem: Cannot run specific test when in src/testdir the same was as in the src directory. Solution: Move build rule to src/testdir/Makefile. https://github.com/vim/vim/commit/ec50401e1e1357a1340b3c92109fd4860e38a8ac Developer can omit '.res' suffix now. TEST_FILE=test_syntax make oldtest or make -C src/nvim/testdir test_syntax
* build: add shlint target for shellcheck (#11350)Jan Edmund Lazo2019-11-09
|
* vim-patch:8.1.1213: "make clean" in top dir does not cleanup indent test outputDaniel Hahler2019-09-18
| | | | | | | Problem: "make clean" in top dir does not cleanup indent test output. Solution: Clean the indent test output. Do not rely on the vim executable for that. (closes vim/vim#4307) https://github.com/vim/vim/commit/e13a3901cae0afb4d2af30d497696af08029fd81
* tests: use runtime from build for doc/tags with :help (#10479)Daniel Hahler2019-08-28
| | | | | | | | | | | | This is better practice in general, and allows to remove the "helptags ALL" hacks. Ref: https://github.com/neovim/neovim/issues/8824 Ref: https://github.com/neovim/neovim/commit/f1b67c3453c * Makefile: fix dependencies with regard to helptags - use the file as the main target to avoid unnecessary triggering - use "make oldtest" on Travis to ensure it gets built
* build: Makefile: use _opt_pylint [ci skip] (#10720)Daniel Hahler2019-08-08
| | | | | | A separate rule it clearer, and allows for `make --keep-going lint` in general later. Ref: https://github.com/neovim/neovim/pull/10714
* build: lint: fix exit with optional pylintDaniel Hahler2019-08-07
| | | | Ref: https://github.com/neovim/neovim/pull/10714#issuecomment-518932355
* build: move pylint to Makefile, optional with "make lint" (#10714)Daniel Hahler2019-08-06
| | | | | This avoids errors when using "make lint", but "flake8" is not available. We do not want to install it then via third-party. On CI "make pylint" is used explicitly.
* Makefile: only use pattern rules with BUILD_TYPE=Ninja (#10687)Daniel Hahler2019-08-04
| | | | | | While not doing any harm with "Unix Makefiles", they do not work there as-is. Therefore just do not use them then. Followup to #10366 (7f6ff829a).
* Makefile: use pattern rules for build/.deps [ci skip] (#10366)Daniel Hahler2019-07-30
| | | | This allows for `make build/bin/nvim`, `make build/src/nvim/auto/funcs.generated.h` etc.
* ci: pylint target via flake8Daniel Hahler2019-07-29
| | | | Ref: https://github.com/neovim/neovim/pull/10631#issuecomment-515756591
* build: fix handling of install prefix with CMAKE_EXTRA_FLAGS (#10530)Daniel Hahler2019-07-17
| | | | | | | Append `CMAKE_INSTALL_PREFIX` to any given `CMAKE_EXTRA_FLAGS` always. Regressed in 5031e3298. Fixes https://github.com/neovim/neovim/issues/10524.
* Improve luacheck setup [skip appveyor]Daniel Hahler2019-07-04
| | | | | | | | - Move .luacheckrc to root, add read_globals=vim - Simplify lualint target, run it on all lua files - Lint preload.lua, but ignore W211 - Remove testlint target, included in lualint (and lint) - Clean up .luacheckrc
* build: Fix rule of `build/.ran-third-party-cmake` #10402Eisuke Kawashima2019-07-03
| | | In order that `$(DEPS_BUILD_DIR)/Makefile` exists under parallel make
* Makefile: CMAKE_INSTALL_PREFIX: skip parsing CMAKE_EXTRA_FLAGS if set (#10374)Daniel Hahler2019-06-30
| | | | | Fixes: > Recursive variable 'CMAKE_EXTRA_FLAGS' references itself (eventually). Stop.
* Makefile: move `all` target to the top [ci skip] #10375Daniel Hahler2019-06-30
| | | Fixes "make: Nothing to be done for 'checkprefix'." after 5031e3298.
* Makefile: revisit/improve checkprefix handling (#10348)Daniel Hahler2019-06-29
| | | | | | | | | | | | | | Main improvement: do not error out, but re-run CMake in case CMAKE_INSTALL_PREFIX changed, and only check it for "install". - only look at CMAKE_EXTRA_FLAGS via shell if not empty - add CMAKE_INSTALL_PREFIX to CMAKE_EXTRA_FLAGS (not CMAKE_FLAGS), to override it being set in CMAKE_EXTRA_FLAGS from local.mk - use an empty "checkprefix" target if CMAKE_INSTALL_PREFIX is not provided - skip checking of cached value without build/.ran-cmake; it will be run then anyway - only use it with "install" target; it is only relevant there - do not error, but re-run CMake (by removing the stamp file)
* Makefile: fix regression with "make functionaltest-lua" (#10346)Daniel Hahler2019-06-26
| | | Regressed in 69eb4fa0c.
* build: Makefile: fix distclean [ci skip] (#10336)Daniel Hahler2019-06-25
| | | | | | | | Do not run CMake in build before deleting it unnecessarily: % make distclean test -d build && ninja -C build clean || true ninja: Entering directory `build' [0/1] Re-running CMake...
* build: Makefile: handle "rm -rf .deps" (#10305)Daniel Hahler2019-06-24
| | | | | | | | | | - make `build/.ran-third-party-cmake` depend on `$(DEPS_BUILD_DIR)`. It still creates `build` there as a side-effect, which does not belong there really, but is OK for now. - add an explicit target for `$(DEPS_BUILD_DIR)` (".deps"), only with USE_BUNDLED=1 (the default). This makes it easier to rebuild deps cleanly, by using `rm -rf .deps; make`.
* Makefile: fix trailing space in BUILD_CMD #10312Daniel Hahler2019-06-23
| | | | | Only append flag for verbosity with ninja if non-empty. Fixes the trailing space with `ninja -C .deps`.
* build: do not pass empty CMAKE_INSTALL_PREFIXJustin M. Keyes2019-03-19
| | | | | ref #9748 ref #9743
* build: pass CMAKE_INSTALL_PREFIX explicitly #9748Justin M. Keyes2019-03-17
| | | | | On some (but not all) systems this works implicitly. fixes #9743
* build: checkprefix: skip if empty #9624Daniel Hahler2019-02-17
| | | | | | | | | | | | | | | This regressed in 3b473bb14f9f452461016c7042949a23499df629: ``` % make 'CMAKE_BUILD_TYPE=RelWithDebInfo' 'CMAKE_EXTRA_FLAGS=-DCMAKE_INSTALL_PREFIX=/vim-build/neovim/neovim/master -DENABLE_JEMALLOC=OFF' 'DEPS_CMAKE_FLAGS=-DUSE_BUNDLED=OFF' error: CMAKE_INSTALL_PREFIX '/vim-build/neovim/neovim/master' does not match cached value '' Run this command, then try again: cmake build -DCMAKE_INSTALL_PREFIX=/vim-build/neovim/neovim/master make: *** [Makefile:169: checkprefix] Error 1 ``` It was checking before for non-empty also [1]. 1: https://github.com/neovim/neovim/pull/9621/files#diff-b67911656ef5d18c4ae36cb6741b7965L22
* build/Makefile: validate prefix for specific targets (#9621)Justin M. Keyes2019-02-17
| | | | | | `clean` and `distclean` should not check CMAKE_INSTALL_PREFIX. ref #9615 Helped-by: bruce-hill
* build/Makefile: check CMAKE_INSTALL_PREFIXJustin M. Keyes2019-02-16
| | | | closes #9615
* build: fix `doc_html` targetJustin M. Keyes2019-01-04
| | | | ref 24f2cc55a83d #9430
* build: `make helphtml`Justin M. Keyes2018-11-05
|
* build: Unify USE_BUNDLED, USE_BUNDLED_DEPS (#9046)Justin M. Keyes2018-09-24
| | | It's confusing that the Makefile uses a different name than CMake.
* cmake: add "generated-sources" targetBjörn Linse2018-09-06
| | | | | | | This is intended to be used with source introspection tools like clangd, where it would useful to regenerate headers and source files, which introspection results depend on, without making a full rebuild which takes much longer time than just generating headers.
* build: respect $DEPS_BUILD_DIRJustin M. Keyes2018-03-11
| | | | | Without this, the CI_TARGET=lint travis job cant't find the cached deps (in $HOME/nvim-deps), nor can it update the cache.
* ci/travis: use ninja instead of makeJustin M. Keyes2018-03-11
|
* genappimage: Include update information for releases/nightliesJames McCoy2018-03-09
| | | | | | This will allow users to use AppImageUpdate to update their AppImage. It requires publishing the created zsync file alongside the appimage file for the releases.
* ci: Also lint lua code in src/nvim/luaZyX2017-05-25
|
* dist: AppImage #6638AdnoC2017-05-04
| | | | | | | scripts/genappimage.sh produces an executable: nvim-${NVIM_VERSION}-glibc${GLIBC_VERSION}-${ARCHITECTURE}.AppImage Closes #6083
* makefile: Make `lint` target depend on `clint`ZyX2017-03-31
|
* cmake: Replace RunLint.cmake with code in src/nvim/CMakeLists.txtZyX2017-03-31
| | | | | | This also removes LINT_FILE environment variable, other then that functionality is kept. It is expected that developers needing partial linting will use `make lint`, touching interesting file before (if not done already by writing to them).
* ci: Run check-single-includes in "lint" build onlyJustin M. Keyes2017-03-29
|
* ci: Check that `#include "*.h"` works as a single includeEiichi NISHINA2017-03-27
| | | | | | | | | | | Lesser form of include-what-you-use: at least guarantees that header file did not forget to include something through some other included file. Activate run_single_includes_tests on CI. Fix some IWYU violations. References #5321
* build: Makefile: Try other cmake names, or override. #6163Christian Stigen Larsen2017-02-27
| | | | | | Distributions like RHEL7 (yum) install CMake as `cmake3`. Closes #6163
* build: `oldtest` target: TEST_FILE, NVIM_PRG (#6098)Justin M. Keyes2017-02-12
| | | | | | | | | | | | | | | | | | | | | | - Add support for TEST_FILE to the `oldtest` target, for consistency with the busted/lua tests. Caveat: with the busted/lua tests TEST_FILE takes a full path, whereas for `oldtest` it must be "test_foo.res". - Add support for NVIM_PRG, again so that all test-related targets are consistent. - Use consistent name for NVIM_PRG. But still need to support NVIM_PROG for QuickBuild CI. Note: The `oldtest` target is driven by the top-level Makefile, because it requires a TTY. CMake 3.2 added a USES_TERMINAL flag to add_custom_target(). But we support CMake 2.8... add_custom_target(oldtest COMMAND make clean COMMAND make NVIM_PRG=$<TARGET_FILE:nvim> $ENV{MAKEOVERRIDES} DEPENDS nvim WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/src/nvim/testdir" USES_TERMINAL true )
* build: Make clean targets more thoroughJames McCoy2016-12-02
|
* Revert "Makefile: add PREFIX variable"Marco Hinz2016-10-16
| | | | | | This reverts commit c13f72ee0a6600963a10e57155d2e814d56599e2. References #5447.
* Makefile: add PREFIX variableMarco Hinz2016-10-08
| | | | | | | | | | | | We use a Makefile which in turn uses cmake. If we wanted to set the install prefix for cmake, we had to do this so far: make CMAKE_FLAGS="-DCMAKE_INSTALL_PREFIX=/tmp/nvim" That's long and hard to remember. Following the conventions of other Makefiles, this now works as well and is equivalent: make PREFIX=/tmp/nvim
* Travis: Fix accidental building of 3rd-party dependencies.Florian Walch2016-07-30
| | | | | Running tests from the top-level Makefile will use the third-party dependencies from .deps instead of the ones from the Travis cache.