summaryrefslogtreecommitdiff
path: root/Makeconf
AgeCommit message (Collapse)Author
2020-03-22build: Fix cross build on Guix.Jan Nieuwenhuizen
As discussed in https://lists.gnu.org/archive/html/bug-hurd/2020-03/msg00018.html. * Makeconf (lpath): Add -Wl,-rpath-link=<dir> next to -L<dir>.
2018-04-22Fix DESTDIR supportSamuel Thibault
Adding $(DESTDIR) to paths in config.make.in brings redundant additions when e.g. datarootdir is "${datadir}". The viable way is to just fix the installation rules. * Makeconf (install, install-headers): Prepend $(DESTDIR) to dependencies. ($(DESTDIR)$(installationdir)): New rule. ($(addprefix $(installationdir)/,$(installable))): Prepend $(DESTDIR). ($($(includedir)/$(installhdrsubdir))): Likewise. ($(addprefix $(libdir)/$(libname),_p.a .a _pic.a)): Likewise. ($(libdir)/$(libname).so.$(hurd-version)): Likewise. ($(libdir)/$(libname).so): Likewise. ($(addprefix $(includedir)/$(installhdrsubdir)/,$(installhdrs))): Likewise. ($(installationdirlist)): Likewise. * config.make.in (hurddir, libdir, bindir, sbindir, includedir, libexecdir, bootdir, infodir, sysconfdir, localstatedir, sharedstatedir, datadir, datarootdir): Remove $(DESTDIR). * config/Makefile (install): Prepend $(DESTDIR) to dependencies. ($(sysconfdir)/login): Prepend $(DESTDIR). ($(installed_logins)): Likewise. ($(installed_conf)): Likewise. * console-client/Makefile (install): Prepend $(DESTDIR) to dependencies. ($(module-dir)): Prepend $(DESTDIR). ($(module-dir)/%): Likewise. ($(XKB_BASE)): Likewise. ($(XKB_BASE)/%): Likewise. * hurd/Makefile (install-headers, install-msgids): Prepend $(DESTDIR) to dependencies. ($(includedir)/hurd/%): Prepend $(DESTDIR). ($(datadir)/msgids, $(includedir)/hurd): Prepend $(DESTDIR). * include/Makefile (install): Prepend $(DESTDIR) to dependencies. ($(includedir)/%): Prepend $(DESTDIR). * libstore/Makefile (install): Prepend $(DESTDIR) to dependencies. ($(store-types:%=$(libdir)/libstore_%.a): Prepend $(DESTDIR). * sutils/Makefile (install): Prepend $(DESTDIR) to dependencies. ($(prefix)/dev/MAKEDEV): Prepent $(DESTDIR). ($(prefix)/dev): Likewise.
2017-08-06Make build system more robust.Justus Winter
* Makeconf: Use '#' instead of '/' in the sed command to avoid clashing with the path separator '/'.
2017-01-06Disable strict aliasing optimizationsRichard Braun
The code base largely predates strict aliasing rules, and lots of potential violations can be found. Makeconf (CFLAGS): Add -fno-strict-aliasing option.
2015-12-31Drop OTHERLIBS and use LDLIBS exclusivelyFlavio Cruz
When cross-compiling, OTHERLIBS magically turns -lpthread into the path to the host libpthread.so file, resulting in build issues. LDLIBS does not suffer from this problem and it seems that is already being used in other Makefiles. This patch removes OTHERLIBS entirely from the build system. * Makeconf: Remove references to OTHERLIBS * auth/Makefile: Replace OTHERLIBS with LDLIBS. * boot/Makefile: Likewise. * console/Makefile: Likewise. * exec/Makefile: Likewise. * ext2fs/Makefile: Likewise. * fatfs/Makefile: Likewise. * ftpfs/Makefile: Likewise. * hostmux/Makefile: Likewise. * isofs/Makefile: Likewise. * libhurd-slab/Makefile: Likewise. * nfs/Makefile: Likewise. * nfsd/Makefile: Likewise. * pfinet/Makefile: Likewise. * proc/Makefile: Likewise. * procfs/Makefile: Likewise. * random/Makefile: Likewise. * storeio/Makefile: Likewise. * term/Makefile: Likewise. * tmpfs/Makefile: Likewise. * usermux/Makefile: Likewise.
2015-11-29Use -L instead of -Wl,-rpath-linkSamuel Thibault
The latter does not work for libpthread.a which passes -lihash, which would find the installed libihash.a instead of the just-compiled one. * Makeconf (rpath): Remove, replaced by... (lpath): ... new variable. (link-executable, $(libname).so.$(hurd-version)): Use $(lpath) instead of $(rpath).
2015-08-31Fix build against glibc 2.21Samuel Thibault
* Makeconf (CPPFLAGS): Remove -D_IO_MTSAFE_IO. * libthreads/lockfile.c (_IO_MTSAFE_IO): Define macro. (IS_IN): Define macro to 0.
2014-12-12hurd: make the protected payload changes less intrusiveJustus Winter
The changes to `hurd_types.defs' caused the glibc build to fail. Guard the problematic parts with `HURD_SERVER' similar how it is done in GNU Mach. * Makeconf: Define `HURD_SERVER' when preprocessing the RPC definitions for the server side. * hurd/hurd_types.defs: Guard problematic parts with `HURD_SERVER'.
2014-12-10Makeconf: handle the task_notify protocolJustus Winter
* Makeconf (mach_defs_names): Add `task_notify'.
2014-11-21Makeconf: handle the gnumach protocolJustus Winter
* Makeconf (mach_defs_names): Add `gnumach'.
2014-06-17Add mach_debug defs rulesDavid Michael
* Makeconf (mach_debug_defs_names,mach_debug_defs): New variables. * Makeconf: Add rule to generate local $(mach_debug_defs) files. * procfs/Makefile: Remove vpath for mach_debug defs.
2013-09-27Decouple the Hurd version from the package version.Thomas Schwinge
* config.make.in (package-version): New variable. (hurd-version): Set to 0.3. * Makeconf (%: %.sh): Use package-version instead of hurd-version. * Makefile (stamp-version): Likewise. * doc/Makefile (stamp-version): Likewise.
2013-05-13Revert "utils/vmstat: Use gnumach.defs from gnumach"Samuel Thibault
This reverts commit 202339d49461ce6dcffd3a5b3690537daea5ef38.
2013-05-05utils/vmstat: Use gnumach.defs from gnumachDavid Michael
The gnumach installation provides the include file mach/gnumach.defs instead of mach/gnumach.h. This runs the defs file through MIG and builds the result for vmstat. * utils/vmstat.c: Replace <mach/gnumach.h> with "gnumach_U.h". * utils/Makefile (vmstat): Add rule to depend on gnumach_U.o. * Makeconf (mach_defs_names): Add gnumach.
2012-04-10dist: Remove redundant "./" for top-level $(DISTFILES)Ludovic Courtès
* Makeconf (dist.tar): When $(dir) is ".", avoid adding "./" to the resulting file name.
2012-04-10dist: Set the owner/group of $(DISTFILES) to UID/GID 0.Ludovic Courtès
* Makeconf (dist.tar): Invoke `tar' with `--owner=0 --group=0'.
2012-04-08Replace fragile manual »make dist« system with one based on »git archive«.Thomas Schwinge
* Makeconf (lndist): Remove target. (dist-hook, dist.tar): New targets. * Makefile (dist): Rewrite this target's as well as accompanying rules. (%-lndist, cp-linked-files, $(lf-inst)): Remove targets. (%.bz2, %.gz, %/dist-hook): New targets. (DISTFILES): Set. * doc/Makefile (DISTFILES): Set. * doc/Makefile (lndist, lndist-info-targets): Remove targets. * include/Makefile (lndist): Remove target. * libthreads/Makefile (lndist, lndist-i386-files, lndist-map-file): Remove targets. * pfinet/Makefile (lndist, lndist-linux-src-net-core-files) (lndist-linux-src-net-ethernet-files, lndist-linux-src-net-ipv4-files) (lndist-linux-src-net-ipv6-files, lndist-linux-src-asm-files) (lndist-linux-src-include-linux-files, lndist-linux-src-include-net-files) (lndist-linux-src-include-asm-files, lndist-glue-include-linux-files) (lndist-glue-include-asm-files): Remove targets. * auth/Makefile (LCLHDRS): Don't set. * boot/Makefile (LCLHDRS, DIST_FILES): Likewise. * bsdfsck/Makefile (LCLHDRS): Likewise. * config/Makefile (DIST_FILES): Likewise. * console-client/Makefile (LCLHDRS): Likewise. * console/Makefile (LCLHDRS, DIST_FILES): Likewise. * doc/Makefile (DIST_FILES): Likewise. * exec/Makefile (LCLHDRS, DIST_FILES): Likewise. * ext2fs/Makefile (LCLHDRS): Likewise. * fatfs/Makefile (LCLHDRS): Likewise. * ftpfs/Makefile (LCLHDRS): Likewise. * hostmux/Makefile (LCLHDRS): Likewise. * hurd/Makefile (DIST_FILES): Likewise. * include/Makefile (LCLHDRS): Likewise. * isofs/Makefile (LCLHDRS, DIST_FILES): Likewise. * libcons/Makefile (LCLHDRS): Likewise. * libdirmgt/Makefile (LCLHDRS): Likewise. * libdiskfs/Makefile (LCLHDRS): Likewise. * libfshelp/Makefile (LCLHDRS): Likewise. * libftpconn/Makefile (LCLHDRS): Likewise. * libihash/Makefile (LCLHDRS): Likewise. * libiohelp/Makefile (LCLHDRS): Likewise. * libnetfs/Makefile (LCLHDRS): Likewise. * libpager/Makefile (LCLHDRS): Likewise. * libpipe/Makefile (LCLHDRS): Likewise. * libports/Makefile (LCLHDRS): Likewise. * libps/Makefile (LCLHDRS): Likewise. * libshouldbeinlibc/Makefile (LCLHDRS): Likewise. * libstore/Makefile (LCLHDRS, DIST_FILES): Likewise. * libthreads/Makefile (LCLHDRS): Likewise. * libtreefs/Makefile (LCLHDRS): Likewise. * libtrivfs/Makefile (LCLHDRS): Likewise. * mach-defpager/Makefile (LCLHDRS): Likewise. * nfs/Makefile (LCLHDRS): Likewise. * nfsd/Makefile (LCLHDRS): Likewise. * pfinet/Makefile (LCLHDRS): Likewise. * pflocal/Makefile (LCLHDRS): Likewise. * proc/Makefile (LCLHDRS, DIST_FILES): Likewise. * release/Makefile (DIST_FILES): Likewise. * storeio/Makefile (LCLHDRS): Likewise. * sutils/Makefile (LCLHDRS): Likewise. * term/Makefile (LCLHDRS, DIST_FILES): Likewise. * tmpfs/Makefile (LCLHDRS): Likewise. * ufs-fsck/Makefile (LCLHDRS): Likewise. * ufs/Makefile (LCLHDRS): Likewise. * usermux/Makefile (LCLHDRS): Likewise. * utils/Makefile (LCLHDRS): Likewise.
2012-04-08Automatically regenerate files that depend on $(hurd-version).Thomas Schwinge
Follow-up to 05f5cc229323a61799388fbb52da84ca8cb502c9 (»configure: Use modern `AC_INIT' invocation.«). * Makeconf (%: %.sh): Depend on config.make. * Makefile (version.h): Use a stamp file. (stamp-version): Depend on config.make. * doc/Makefile (stamp-version): Likewise. * Makeconf (make-deps): Take additional target-specific dependencies, $*-DEPS. * console-client/Makefile (driver-DEPS): Depend on config.make. * libstore/Makefile (module-DEPS): Likewise.
2012-04-08Avoid recreating the include/* files needlessly.Thomas Schwinge
* Makeconf ($(INSTALLED_LOCAL_HEADERS)): Just depend on the Makefile. The include/ hierarchy does not depend on anything but the local Makefile; especially it does not depend on how the package has been configured, which is what config.make records.
2012-04-08* Makeconf: Add copyright/licensing header.Thomas Schwinge
2011-11-20configure: Use modern `AC_INIT' invocation.Ludovic Courtès
* Makeconf (hurd-version): Move to... * config.make.in (hurd-version): ... here. Set to @PACKAGE_VERSION@. * configure.in: Change `AC_INIT' invocation to specify the package name, version number, and bug report address.
2011-10-20Populate a [build]/lib directory with links to all shared libraries.Thomas Schwinge
* Makeconf (libs): Add dependency to create these links.
2011-04-03Ship only the root ChangeLogSamuel Thibault
* Makeconf (distfiles): Remove ChangeLog. * Makefile (DIST_FILES): Add ChangeLog.
2010-08-18Fix the build system to handle part storesJeremie Koenig
Part stores are used for debian-installer, and they're considered more elegant than kernel partition devices. This patch makes sure they're included in the build unless the user disables them explicitely. * Makeconf: add $(PARTED_LIBS) to static binaries which use libstore_part.a. * configure.in: look for libparted again (see also 7c7a04eb). * libstore/Makefile (store-types): include the 'part' store type when appropriate, remove the previous attempt. Signed-off-by: Jeremie Koenig <jk@jk.fr.eu.org>
2010-05-26Fix --version in scriptsCarl Fredrik Hammar
* Makeconf (%): Don't depend on removed files. Remove excess backslashes.
2008-12-082008-12-08 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makeconf (local-installhdrsubdir): Always put files below `include/'.
2007-11-072007-11-07 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* config.make.in (gnu89-inline-CFLAGS): New variable. * Makeconf (CFLAGS): Evaluate that one instead of hard-coding. Suggested by Olaf Buddenhagen, <http://lists.gnu.org/archive/html/bug-hurd/2007-11/msg00006.html> * configure.in (libc_cv_gnu89_inline): Fill depending on a compile-time test, as per glibc HEAD, 2007-11-07.
2007-10-072007-10-07 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makeconf (CFLAGS): Add ``-fgnu89-inline''.
2007-06-142007-06-14 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makeconf (CFLAGS): Allow for appending target-specific flags.
2006-07-242006-07-24 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
[bug #17127] * Makeconf (clean): Don't remove `*.*_d' files. (%.sdefsi): Add `%.sdefs.d' to the target list. Create these files by specifying `-MD' as a flag for CPP and mangle the output as needed. Include these `*.sdefs.d' files instead of `*.migs_d' and `*.migsh_d' files. (%.udefsi): Likewise for `%.udefs.d' / `*.migu_d' and `*.miguh_d'. (%.migs_d, %.migu_d, %.migsh_d, %.miguh_d): Remove targets.
2006-03-212006-03-21 Leonardo Lopes Pereira <leonardolopespereira@gmail.com>Thomas Schwinge
* Makeconf (mach_defs_names): Remove `mach_norma' and `norma_task'.
2003-10-102003-10-09 Alfred M. Szmidt <ams@kemisten.nu>Marcus Brinkmann
* Makeconf (TAGS): Add a space between the function `strip' and its argument.
2002-09-172002-09-17 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* Makeconf (CPPFLAGS): Move -std=gnu99 option to ... (CFLAGS): ... here. pfinet/ 2002-09-17 Marcus Brinkmann <marcus@gnu.org> * Makefile: Revert last change. * glue-include/asm/spinlock.h (SPIN_LOCK_UNLOCKED): Do not use a compound literal, which is not constant.
2002-09-052002-09-05 Roland McGrath <roland@frob.com>Roland McGrath
* Makeconf (CPPFLAGS): Add -std=gnu99 option.
2002-06-142002-06-14 Roland McGrath <roland@frob.com>Roland McGrath
* Makeconf (cleantarg): Add $(libname).so.$(hurd-version). * Makeconf ($(patsubst %.o,%.d,$(filter %.o,$(OBJS)))): Give these dep files a dependency on $(INSTALLED_LOCAL_HEADERS).
2002-06-132002-06-13 Roland McGrath <roland@frob.com>Roland McGrath
* Makeconf (%_S.h %Server.c): Prepend $(mig-sheader-prefix) to stub header file name. (INSTALLED_LOCAL_HEADERS): Put them in the build directory, not the source. Make files with #include rather than symlinks. (../$(dir)/%: %): New dummy pattern rule. (INCLUDES): New variable broken out of CPPFLAGS. Add -I$(..)include. Include ..-relative dirs only if [$(dir) != .]. (CPPFLAGS): Use that.
2002-06-112002-06-11 Roland McGrath <roland@frob.com>Roland McGrath
* Makeconf (CPPFLAGS): Add -D_FILE_OFFSET_BITS=64. (hurd-version): Update to 0.3 so as to change sonames.
2002-06-112002-06-08 Roland McGrath <roland@frob.com>Roland McGrath
* Makeconf (CPPFLAGS): Add -D_FILE_OFFSET_BITS=64.
2002-03-222002-03-21 Roland McGrath <roland@frob.com>Roland McGrath
* Makeconf ($(libname).so.$(hurd-version)): Reorder link arguments so that .map files come after the -( ... -) group.
2002-03-122002-03-11 Roland McGrath <roland@frob.com>Roland McGrath
* Makeconf ($(libname).so.$(hurd-version)): Include $($(libname).so-LDLIBS) and $(LDLIBS) in the link. * configure.in (--enable-boot-store-types): Grok this arg. * config.make.in (boot-store-types): New variable, set by it. * Makeconf [$(dir) != libstore] ($(boot-store-types:%=../libstore/libstore_%.a)): Make these targets depend on ../libstore/libstore.so.
2001-12-222001-11-15 Neal H Walfield <neal@cs.uml.edu>Roland McGrath
* Makeconf (TAGS) [configured]: Create tags for MiG generated files. * Makefile (TAGS): Generate dependencies respecting broken code markers, i.e. based on $(working-prog-subdirs) and not $(prog-subdirs).
2001-12-222001-12-22 Roland McGrath <roland@frob.com>Roland McGrath
* Makeconf (MIGCOMFLAGS): New variable, set -subrprefix __ here. (%_S.h %Server.c rule, %_U.h %User.c rule): Pass that to $(MIGCOM).
2001-11-152001-11-15 Roland McGrath <roland@frob.com>Roland McGrath
* Makeconf: Typo fix in last change.
2001-11-142001-11-14 Roland McGrath <roland@frob.com>Roland McGrath
* Makeconf: Include config.make only if it exists. (configured): Set this if we included config.make. [! configured]: Set no_deps=t.
2001-08-252001-08-24 Roland McGrath <roland@frob.com>Roland McGrath
* Makeconf ($(libname).so.$(hurd-version)): Replace $($@-LDFLAGS) with $($(libname).so-LDFLAGS).
2001-06-162001-06-15 Roland McGrath <roland@frob.com>Roland McGrath
* Makeconf (CPPFLAGS, CFLAGS): Append to these before we include the config.make file.
2001-03-122001-03-11 Roland McGrath <roland@frob.com>Roland McGrath
* Makeconf (%_S.h %Server.c): Split out an intermediate rule for the cpp stage ... (%.sdefsi: %.defs): ... into this rule. (%_U.h %User.c): Likewise split ... (%.udefsi: %.defs): ... into this rule. (clean): Remove *.[su]defsi too.
2001-02-282000-12-28 Roland McGrath <roland@frob.com>Roland McGrath
* Makeconf (mach_defs_names): Remove default_pager (replaced by our own in hurd) and default_pager_helper (never used).
1999-10-031999-10-03 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* Makeconf [$(makemode) = misc]: If no installationdir and no targets, set makemode-instdir so it's not empty, to avoid expanding `$(dir)'.
1999-10-011999-10-01 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* Makeconf [Decode makemode page]: Clean up variable usage in each cases, as follows: (installationdir): Don't test and set this directly. (makemode-instdir): New variable, set instead for each makemode. (linktarg): Don't this for each program-linking makemode. (targets): Make sure this is always set, i.e. = $(target) in singular modes. [$(makemode) != library] (progtarg): New variable. [$(makemode) != library] (linktarg): Set from $(progtarg), including .static versions. (installationdir): Test and default once, using $(makemode-instdir). [linking and dep rules]: Use $(linktarg) and $(progtarg) as appropriate instead of $(targets) or $(target).