summaryrefslogtreecommitdiff
path: root/Makefile.common
Commit message (Collapse)AuthorAgeFilesLines
...
* | Add the $(EXE) suffix to all programs at build rather than install timeSébastien Hinderer2020-06-181-1/+10
| | | | | | | | | | | | | | | | This commit touches neither boot/ocamlc nor boot/ocamllex It has the side-effect of fixing the cleanup rules which did not use the $(EXE) extension when removing a file although it was produced with the $(EXE) extension.
* | Share generation code between ocamltest and utilsDavid Allsopp2020-06-061-0/+22
|/ | | | | ocamltest/ocamltest_config.ml now generated using same make macros as utils/config.ml.
* move the REQUIRES_CONFIGURATION logic in Makefile.config_if_requiredGabriel Scherer2020-05-061-13/+1
| | | | This lets us share the logic between Makefile.common and Makefile.tools.
* build system: skip Makefile.build_config when REQUIRES_CONFIGURATION is emptyGabriel Scherer2020-05-061-3/+1
| | | | | | | | | | | | | | | | | | | | | Before we would include it if present, but support building without it. Unless I misunderstand something, this is unnecessarily complex: - If we want to support building without it, we may as well do without it all the time (in particular it makes it easier to spot bugs which occurs when it is missing). - Certain makefile rules (see config.status) work by being added as dependencies to Makefile.build_config, and requiring this file only when actually needed makes it possible to simplify those. (simplifications not included in this commit) I reviewed all 'clean' rules to check that they do not depend on variables defined in the configure. On the other hand, the main makefiles do a lot of conditional tests on those variables, so --warn-undefined-variables warns quite a bit. (This could be solved by a Makefile.no_config rule that mirrors Makefile.config with dummy definitions.)
* [minor] rename CAN_BE_UNCONFIGURED into REQUIRES_CONFIGURATIONGabriel Scherer2020-05-061-4/+4
|
* makefiles: move the inclusion of Makefile.build_config in Makefile.commonGabriel Scherer2020-05-061-1/+16
|
* Tighten dependencies for C filesDavid Allsopp2020-05-031-1/+1
| | | | | | The $(wildcard *.h) should only be there with --disable-dependency-generation, since otherwise gcc -MM will be determining exactly which header files should be checked.
* Silence CI warning for undefined variableDavid Allsopp2020-05-031-0/+1
|
* Cease committing C dependendency informationDavid Allsopp2020-04-171-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | When building for the first time, the only requirement is that generated header files have been built (jumptbl.h, version.h and opnames.h). Detailed dependency information is only required when headers have been edited. COMPUTE_DEPS in Makefile.config controls whether C dependency information should be generated on a per-file basis. This variable is controlled by a new --disable-dependency-generation in configure which is enabled for Git checkouts and disabled for tarballs (i.e. releases). The Microsoft C compiler (cl) cannot generate dependencies in a consistent way which we can consume, so for a Git checkout configure searches for an additional C compiler in order to compute dependencies. This is obviously not required for a user-build. As a result, the MSVC port can now safely run make alldepend, since only OCaml dependency information is committed to the repo after this change. CI does not need to waste time testing the dependency information, because it only tests a single build. A single Travis job has been added which tests the build system code to generate the dependency information (and provides a single `make -j` run in CI, although Inria's CI also tests parallel building continuously).
* Introduce Makefile.build_config.inDavid Allsopp2020-04-171-0/+79
| | | | | | | | | | | | This moves the configure-generated parts of Makefile.common to a separate (generated) Makefile, allowing Makefile.common to be a normal Makefile. OCaml's build system Makefile's now include Makefile.build_config (which itself includes Makefile.config) but Makefile.config is still installed as before. This allows configure to generate variables which are specific to the build process and are not intended to be exported to the installation.
* Use autoconf to generate the compiler's configuration scriptSébastien Hinderer2018-12-211-53/+0
|
* Move config/Makefile to Makefile.configSébastien Hinderer2018-09-171-1/+1
| | | | | | In order to prepare the transition to autoconf, this commit moves the configuration Makefile out of the config directory which will disappear and gives it the name it will have once intstalled, namely Makefile.config.
* Remove space from end of FLEXLINK_ENVDavid Allsopp2018-09-071-5/+15
|
* Move FLEXLINK_ENV definition to Makefile.commonDavid Allsopp2018-09-071-0/+13
|
* Makefile.common: use = instead of + in modes for clarityGabriel Scherer2018-03-291-2/+2
| | | | (suggestion from Sébastien Hinderer)
* factorize common makefile definitions in Makefile.commonGabriel Scherer2018-03-291-0/+30