Commit graph

41 commits

Author SHA1 Message Date
bf16c6714b make, scripts: Re-add files necessary for building ytools
Re-add everthing needed for building and packaging ytools. This is a
big commit, 2002 lines of code. It mostly consists of C/C++ machinery,
plus some documentation-related stuff.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-14 15:59:49 +01:00
bc883deed4 Everywhere: Remove everything non-essential for "make clean all"
This commit removes everything not strictly necessary for running
"make clean all" inside jw-build.

packaging jw-devtest. This cuts the repo down from 24077 to 4725
lines of code.

The idea is to

1) Further remove bloat from the remaining bits

2) Re-add what's necessary to build and package other essential repos.

   The decision should be based on whether or not jw-build can also be
   useful in a non-janware context.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-14 15:02:56 +01:00
d36ec44d5e lo.mk: Fix support for LOADABLE_OBJ_IGNORE
LOADABLE_OBJ_IGNORE still had stuff rebuilt that should have been ignored, this
commit fixes that.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-07-06 14:33:36 +00:00
b2d6e6f554 Everywhere: Rename MODDIR -> JWBDIR
Rename the omnipresent MODDIR variable to JWBDIR, since that's more to the
point.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-29 21:34:18 +00:00
3365aa3db6 make: Replace BUILD_XXX make flag variables by FINAL_XXX
The following BUILD_XXX variables are renamed to their respective FINAL_XXX
counterparts, as that name is more expressive:

  BUILD_CFLAGS, BUILD_CPPFLAGS, BUILD_CXXFLAGS, BUILD_EXTRA_DEBUG_FLAGS,
  BUILD_INCLUDE, BUILD_LDFLAGS, BUILD_LIBFLAGS, BUILD_LPPFLAGS

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-24 12:58:53 +00:00
58ab619f0b make: Rename CFLAGS, CXXFLAGS and CPPFLAGS variables
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>
2019-03-19 07:07:00 +00:00
aa85417a17 Everywhere: Purge spaces in text files
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-03-06 12:38:20 +00:00
0eaef0c326 conf/jcs, make, tmpl/doxygen: Align equal signs in makefiles to column 30
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-03-03 18:12:28 +00:00
316435bb78 $(MODDIR)/make/defs.mk: Split off defs-cpp.mk with C++ definitions
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>
2019-02-27 20:46:54 +00:00
68aab5227c lo.mk: Add dev-utils.mk to lo.mk
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-11-30 13:42:38 +00:00
98c39336be lo.mk: Add U flag to ar to avoid ranlib warning on Debian
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>
2017-12-28 21:20:07 +00:00
51b88d618e make: Split up profiler.mk into profiler-defs.mk and profiler-rules-run.mk
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-12-11 14:07:06 +00:00
8632a6cc60 make: Add profiler.mk
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-12-10 14:00:12 +00:00
f5c43f706a make: Replace some executables by absolute paths to improve performance
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-09-02 19:26:52 +00:00
b26d6c943f lo.mk: Remove last empty line
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-31 18:56:22 +00:00
6395fa892c lo.mk: Make OTHER_CPP default assignment a ?=
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>
2017-06-10 11:36:03 +00:00
383ecd6834 lo.mk: Add LOADABLE_OBJS_HEADER to lo.mk
Signed-off-by: Jan Lindemann <jan@janware.com>
2014-11-16 19:18:46 +00:00
6d22479fc2 lo.mk: Add TOOLS_INCLUDE_DIR variable
Signed-off-by: Jan Lindemann <jan@janware.com>
2014-09-14 19:09:33 +00:00
678202b105 lo.mk, topdir.mk: Add target description
Signed-off-by: Jan Lindemann <jan@janware.com>
2014-08-02 14:09:00 +00:00
bd973fd84f lo.mk: LOADABLE_OBJS_CPP -> LOCAL_CPP
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>
2014-07-23 18:09:28 +00:00
Jan Lindemann
634992f447 *.mk: Prefix non-env C/C++ flags with BUILD_
Prefix all CFLAGS / CPPFLAGS / LDFLAGS with BUILD_ to distinguish
them from flags read from the environment (and getting longer and
longer with +=).
2012-02-04 16:48:58 +00:00
Jan Lindemann
d1857e8d77 $(TOPDIR), make, scripts: Merged changes from V_1_1_31_6_POST_ACCEPTANCE 2011-05-15 18:28:19 +00:00
Jan Lindemann
6d812014a1 lo.mk: Only use OTHER_LIB when it's needed
Make the whole OTHER_LIB acrobatics optional, depending on
ifneq ($(OTHER_CPP),).
2009-06-29 23:32:43 +00:00
Jan Lindemann
b9f453a207 lo.mk: Use liblocal.a to reduce plugin size
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.
2009-06-29 18:43:47 +00:00
Jan Lindemann
66b5289897 lo.mk: Fix SO_PREFIX collision
Fix SO_PREFIX collision, see https://jannet.de/cvs/proj/ytools/make/rules.mk.diff?r1=1.120&r2=1.121
2009-06-29 15:07:19 +00:00
Jan Lindemann
0b0fe7167d lo.mk: Add support for LO_NAMESPACE 2009-06-19 15:43:30 +00:00
Jan Lindemann
2785226e36 lo.mk: Next effort into the same direction as the previous commits 2009-05-15 11:34:33 +00:00
Jan Lindemann
c73eaa3015 lo.mk: Link against $(TOOLS_DIR)/$(CPP_PREFIX)/$*.o
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.
2009-05-15 10:47:44 +00:00
Jan Lindemann
4e1a05a90f lo.mk: Now not baking all objects from LOADABLE_OBJS_O into shared object anymore 2009-05-14 19:58:36 +00:00
Jan Lindemann
0c9d55e233 lo.mk: Add support for LOADABLE_OBJ_IGNORE 2009-04-29 15:38:23 +00:00
Jan Lindemann
58d117caf0 lo.mk: Compiael possibly present $(CPP_PREFIX)*.cpp into loadable object, too 2009-04-29 15:09:39 +00:00
Jan Lindemann
d56e9c204f lo.mk: Now not deleting YLo*.cpp anymore on clean target 2009-04-26 21:23:17 +00:00
Jan Lindemann
77c146286e make: Add profclean to clean target 2007-12-01 22:43:17 +00:00
Jan Lindemann
a53f2466cf lo.mk: Make SO_PREFIX externally definable (bugfix) 2007-08-21 19:56:22 +00:00
Jan Lindemann
1924377731 make: Renamed LIBDIR to BUILD_LIBDIR 2007-08-21 16:20:19 +00:00
Jan Lindemann
4c2a0c721b lo.mk: Don't generate SO_PREFIX anylonger
- 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
2007-08-18 20:32:41 +00:00
Jan Lindemann
e32da4e6fd lo.mk: Hard-coded SO_PREFIX 2007-08-17 10:41:30 +00:00
Jan Lindemann
df0c270d38 lo.mk: Add install target 2007-07-20 08:51:52 +00:00
Jan Lindemann
1c812446e6 make: MinGW port 2007-07-16 15:15:16 +00:00
Jan Lindemann
f71bd0281d lo.mk: Add rules for .dll plugins (TARGET = mingw) 2007-07-14 16:45:15 +00:00
Jan Lindemann
306cd22267 lo.mk: Add file 2007-07-02 13:28:06 +00:00