When we generate multiple files, install the correct one first before linking.
Otherwise, the final install step is confused and one of the files ends up
missing (overwritten).
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
When installing in a distribution, we need the config.system-setup.mk to point
to the right directory (e.g. /usr/share/make-it-quick/config) to fetch the
sources while building.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Since `.install` has directory dependencies on the install directories, this
results in attempts to create directories even if you don't install.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Normally, the `config` installables are intended for configuration files.
For `make-it-quick`, we override it for `.c` files that we will place under the
`config/` directory under `make-it-quick`.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
This is very similar to the problem with headers, except that in this case,
the variables for installation override were missing.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
The values that are passed to the `configure` script and not immediately used by
`make-it-quick` may still be useful to someone writing a derived makefile.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
The major changes in this release are the renaming of the various configuration
variables for improved consistency, e.g. `PREFIX_LIB` becomes `PREFIX.lib`.
Hence the version number bump.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
When installing a shared library, make sure we actually create the symbolic
links for major and minor versions.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
When running `make install COLORIZE=`, unwanted colorization would show up.
I'm not entirely sure when this regression appeared, since I used to do that.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
By default, headers, share, doc, license, config and var go into a per-package
subdirectory, i.e. install in `/usr/include/my-package` or
`/usr/local/share/my-ackage`.
Binaries and libraries go at the top of the corresponding directory by default.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Since DYLD_LIBRARY_PATH does not work on Big Sur, it is necessary to use a
heavier hammer. So for development targets, we set the rpath to include testing
paths, which make it "work". A bit ugly.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
- Avoid installing files that are already installed
- Use the .ext conventions for the variables names
- Only create install targets for things to install
- Create a new `INSTALLABLE` variable
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Changes since release 0.2.6
- Add configuration check for long double
- config: Add tests for _Float80 and _Float128
- Add configuration check for _Float16
- Merge pull request #3 from FreedomBen/FreedomBen-typo-fix
- Fix simple typo avaiable -> available
- More renaming using the .ext convention
- Repair installation of DLLs
- Rename MIQ_COMPILE to COMPILE-lt (for libtool)
- Replace [BUILD] with [LINK] in the output
- Make the COMPILE and LINK build steps more generic
- Rename OBJFILES to BUILD
- Replace OBJ_EXT with EXT.obj and similar for other extensions
- Add a test printout for the count-characters test
- Fix name fo test executable in example makefie
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Changed more variables with the convention to use .ext rather than _EXT.
For example, replace PREFIX_DLL with PREFIX.dll.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
This is part of the ongoing effort to clarify the variable names.
These variables could be modifed by the environment.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
By using names like COMPILE.c and LINK.lib, this will make it easier to
generate build rules more easily based on extensions
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
This is more consistent with having simple names for variables. Also, this
contains all the build intermediate products, not just object files.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
This fixes the output of the test from
Output has 0 characters, should be 35
to
Output has 35 characters, should be 35
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Discovered that while compiling on a machine where some package had
installed a header file in `/usr/local/include` with the same name as
a header in the project.
With the old rules, the command line looked like:
-I/usr/local/include ... -I/project/include
where the first option came from some pkg-config output.
This caused compilation-errors, since the `/usr/local/include` header
was preferred over the project's.
- Copyright header adjustments
- Improve determination of linker when some C++ files are generated
- Add configuration check for setlinebuf
- Avoid rebuilding target product everytime
- Add feature to disable testing in specific subdirectories
- Fix rpath option to address macOS / Linux usage difference