Commit graph

1,608 commits

Author SHA1 Message Date
2594143b1f make: Improvements to a couple of makefiles
- Depend.mk, ldlibpath.mk:
  add multiple inclusion guards
- Flex-bison.mk
  some dependency fiddling
- Py-defs.mk:
  remove *.pyc on clean

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-10-30 12:02:43 +00:00
9d4ffcee94 defs.mk: Fix libsystemd ldflags typo
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-09-29 18:53:30 +00:00
7e18e754db dirs.mk: Make dirs-all.done depend on headers, not BUILD_HDRDIR
BUILD_HDRDIR changes its timestamp also on accessing it, so the headers are a
better choice to prevent misfires.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-09-19 13:10:01 +00:00
28b56b9c8c fc-mod-cpp.mk: Move fc-mod-cpp.mk into jw-freecad
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-09-07 10:48:45 +00:00
352a850476 fc-mod-cpp.mk: Code beautification
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-09-07 10:28:43 +00:00
ccfc979bd0 make: Make use of $(SYSTEM_LIBDIR) variable more concise
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-09-07 10:13:03 +00:00
7f2983b3a5 rules.mk: Add --relative --no-prefix to diff target
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-09-07 10:04:27 +00:00
c949075c48 defs.mk: Add -iquote . instead of -I .
force use of double quotes, allow header namespaces

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-09-02 21:44:44 +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
172f7fac01 defs.mk: Use double quote includes for local headers
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-09-02 19:04:47 +00:00
d4581f488a defs.mk, rules.mk: Add MAKEFLAGS += -r
This disables implicit rules and should speed up the build a tad.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-09-02 14:44:18 +00:00
6d8ae11087 projects-dir.mk: Rename target init-project-% to pkg-init-%
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-09-02 08:26:55 +00:00
92040c66e7 make, scripts: Preserve modification time on installation
Implemented -p switch on pkg.sh log-install and used it on standard
installation rules.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-31 19:40:39 +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
7a2f317c38 dirs.mk: Re-add dirs-all.done dependency on BUILD_HDRDIR
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-31 18:56:20 +00:00
43c09fa8b9 defs.mk: Swap CFLAGS order (PROJECT <-> LOCAL)
LOCAL_XXXFLAGS should override PROJECT_XXXFLAGS, so it's now fed later to
compiler and linker.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-31 18:56:17 +00:00
ae1d180975 defs.mk: Fix IGNORE_SUBDDIRS
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-30 08:26:34 +00:00
e6075b0cf7 flex-bison.mk: Clean report-*.xml
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-22 11:08:51 +00:00
587b1ccfb6 ldlibpath.mk: Minimal code beautification
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-20 09:00:05 +00:00
fdf4b7f5e1 flex-bison.mk: Add support for C++
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-20 09:00:03 +00:00
44cdc0d109 dirs.mk: Don't make dirs-all.done depend on BUILD_HDRDIR, as this breaks make clean all
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-20 09:00:00 +00:00
705b97541d debugger.mk: Fix executable detection from core file
The executable which gdb was launched with is extracted from a core file and
then transformed into an absolute path with "which". The latter failed, as by
the time it's executed, PATH has not yet been expanded. Solved by using the
executable name only, which then gets searched in the PATH by gdb.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-20 08:59:59 +00:00
37c11af458 rules.mk: Add lots of targets to .PHONY
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-20 08:51:57 +00:00
25e107b876 flex-bison.mk: Add flex-bison.mk
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-16 11:41:04 +00:00
f1ff08368c dirs.mk: Improve directory ordering
- Add ORDERED_SUBDIRS variable
- Reverse clean target order

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-16 11:40:20 +00:00
e113cddfe9 lib-deps.mk: Remove lib-deps.mk (finally)
With jw-build, it is now unnecessary to maintain any packages' dependency
information outside of its own directory. To integrate a package into the
central build and versioning system, it suffices to keep it in a directory
next to all other project directories. Within a package, a small,
self-explaining, ini-file can be used to define packages required for building
and installing it.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-09 18:53:32 +00:00
db1e6097fa ldlibpath.mk, py-defs.mk, rules.mk: Add ldlibpath.mk to py-defs.mk
Since python might need bound C libraries, too, this
looks like a good idea.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-01 21:53:36 +00:00
ad2c1da54a py-defs.mk: Add (disabled) support for python3
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-26 09:45:54 +00:00
3f782d3f3f py-defs/py-mod.mk: Fix __init__.py generation
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-25 15:04:44 +00:00
79d0eddbe5 fc-mod-cpp.mk: Add fc-mod-cpp.mk
Still contains lots of cruft, but already works against FreeCAD-devel package

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-25 15:03:32 +00:00
55f9b50562 py-defs.mk, py-mod.mk, python-tools.sh: Improve python module handling
- Fix superflous dots in module names
- Generate PYTHONPATH in projects.py
- Add support for __init__.py.tmpl

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-24 10:59:08 +00:00
cdabaad7ef py-*.mk: Fill PYTHONPATH from build dependencies
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-22 18:16:08 +00:00
c5be183a73 projects.mk: Add variable proj_query_cmd
proj_query_command is not a callable function, as opposed to proj_query, which
now uses it. This adds the possibilty to use it multiple times in pipes.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-22 18:14:58 +00:00
f8747fcdbd py-defs.mk, py-mod.mk: Add exports to __init__.py
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-22 14:34:23 +00:00
d49340917b make: Add py-defs.mk py-mod.mk py-run.mk
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-21 15:34:16 +00:00
00af05abf1 defs.mk: Now use pkg.sh log-install -WA instead of -LA for target link-in
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-21 15:33:55 +00:00
7e85c87c16 cleandirs.mk: Add support for SUBDIRS_ALL and SUBDIRS_INSTALL
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-09 17:31:10 +00:00
0562bc310f defs.mk: Fix LIBFLAGS for some projects without lib
LIBFLAGS was broken for projects with USE_PROJECT_LIB = false and
PREREQ_BUILD non-empty

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-03 10:49:26 +00:00
2c28a9ccfd projects-dir.mk: Exclude emscren-v8 from build
Building V8 is a major PITA.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-30 12:23:52 +00:00
79278ea8bd defs.mk, projects.py: Fix PREREQ_BUILD ignored in LIBFLAGS
PREREQ_BUILD doesn\'t make it into linker flags. This patch hopefully
fixes that.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-29 19:46:07 +00:00
488ffa1e3c yapp.mk: Add support for automatic detection off App.h header
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-29 19:44:06 +00:00
bb84b0b6b5 Fix commit 1.14: $(CONF_D) installation owner and mode
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-28 18:48:59 +00:00
a645be36cb projects-dir.mk: Make target pkg-exclude-built-today add projects
Make target pkg-exclude-built-today add projects to exclude.txt,
rather than replace exclude.txt

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-28 15:36:46 +00:00
14298c3493 projects-dir.mk: Add target pkg-release-all
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-28 11:18:47 +00:00
9b1ae176f5 target refresh: Run pkg-manger.sh with option -y
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-28 09:27:39 +00:00
07ebe479e6 Follow change in projects.py: Required-pkg -> requires-pkg
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-28 08:30:26 +00:00
dc2353c918 projects-dir.mk: Add SHELL = -o pipefail
The target pkg-install-prereq-release ignored errors from the package manager,
this fixes it. Presumably many other ignored pipe errors, let's see what this
turns up.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-28 08:15:48 +00:00
e70f7a1c5c rpmdist.mk: Add target ssh-remote
This target runs ssh -l root $(TARGET_HOST), with TARGET_HOST typically defined in
$(MODDIR)/make/local.mk. Seems a bit out-of-place, everything, but anyway.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-26 12:56:50 +00:00
231c5a4dae subtree.mk: Assign SUBTREE_FILES/DIRS with += instead of =
Allow to modify them later

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-26 12:55:34 +00:00
c42e386c76 doc, make, scripts: Add support for [pkg.conflicts.xxx]
Since the packaging machinery is pretty complicated, the information about
conflicting packages had to be passed through many APIs. The last commit
contained a patch which is left in the tree to have it in one file, it actually
is identical to this commit's diff, though. Git would save me that quirk.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-26 10:34:22 +00:00