Rename CFLAGS and friends to follow the conventions of the implicit rules
defined by GNU Make:
- $(CPPFLAGS) is passed to both C++ and C compiler
- $(CXXFLAGS) is passed to C++ compiler only
- $(CFLAGS) is passed to C compiler only
- C++ compiler is in $(CXX)
Signed-off-by: Jan Lindemann <jan@janware.com>
C++ definitions are numerous, and they shouldn't pollute variable space and
performance outside of directories containing C++ files. This commit pushes
them into a defs-cpp.mk file.
Signed-off-by: Jan Lindemann <jan@janware.com>
The warning was the following:
make: Warning: Archive 'liblocal.a' seems to have been created in deterministic
mode. 'WSlider.o' will always be updated. Please consider passing the U flag to
ar to avoid the problem.
Signed-off-by: Jan Lindemann <jan@janware.com>
Most notably, this allows to define OTHER_CPP to the empty string. Which
effectively speeds up the build by not creating a local.a, and disabling symbol
sharing in that directory by means of the library. With local.a, all other .so
files have to be relinked and installed to BUILD_LIB_DIR after a change in a
single source file.
Signed-off-by: Jan Lindemann <jan@janware.com>
Re-use LOCAL_CPP in lo.mk, because that's the variable which decides
which header dependency files are built.
Signed-off-by: Jan Lindemann <jan@janware.com>
Fix missing symbols from .cpp files via introducing liblocal.a. This
is the only way I found to make ld ignore object-files unnecessary
for resolving symbols.
The last commit doesn\'t work with TOOLS_DIR != .
Fix this by always also linking against $(TOOLS_DIR)/$(CPP_PREFIX)/$*.o.
Symbols sometimes duplicates to those in the project lib in case
TOOLS_DIR != ., hence not very nice. But seems to work.
- Clean up indentation
- Don't generate SO_PREFIX anylonger, since that's incompatible
with not having a .cpp file to parse when linking against
ytools.rpm