Recommend building with -disable-job-server

Until and if we implement a job server scheme for Fuchsia,
we should disable it so we can build with -j, even if there
is no global load balancing.

Change-Id: Iad558e9b5b0850b2d00a6017072586d94016d3c0
1 file changed
tree: cda259d14a26a934712d337a9e9f0b4a6bf57793
  1. .gitignore
  2. .purify
  3. ABOUT-NLS
  4. AUTHORS
  5. COPYING
  6. ChangeLog.1
  7. ChangeLog.2
  8. ChangeLog.3
  9. INSTALL
  10. Makefile.DOS.template
  11. Makefile.am
  12. Makefile.ami
  13. Makefile.in
  14. NEWS
  15. NMakefile.template
  16. README.Amiga
  17. README.DOS.template
  18. README.OS2.template
  19. README.VMS
  20. README.W32.template
  21. README.customs
  22. README.git
  23. README.md
  24. README.template
  25. SCOPTIONS
  26. SMakefile.template
  27. TODO.private
  28. acinclude.m4
  29. aclocal.m4
  30. alloca.c
  31. amiga.c
  32. amiga.h
  33. ar.c
  34. arscan.c
  35. build.template
  36. build_w32.bat
  37. commands.c
  38. commands.h
  39. config.ami.template
  40. config.h-vms.template
  41. config.h.W32.template
  42. config.h.in
  43. config/
  44. configh.dos.template
  45. configure
  46. configure.ac
  47. configure.bat
  48. debug.h
  49. default.c
  50. dep.h
  51. dir.c
  52. doc/
  53. dosbuild.bat
  54. expand.c
  55. file.c
  56. filedef.h
  57. function.c
  58. getloadavg.c
  59. getopt.c
  60. getopt.h
  61. getopt1.c
  62. gettext.h
  63. glob/
  64. gmk-default.scm
  65. gnumake.h
  66. guile.c
  67. hash.c
  68. hash.h
  69. implicit.c
  70. job.c
  71. job.h
  72. load.c
  73. loadapi.c
  74. main.c
  75. maintMakefile
  76. make.1
  77. make.lnk
  78. make_msvc_net2003.sln
  79. make_msvc_net2003.vcproj
  80. makefile.com
  81. makefile.vms
  82. makeint.h
  83. misc.c
  84. os.h
  85. output.c
  86. output.h
  87. po/
  88. posixos.c
  89. prepare_vms.com
  90. prepare_w32.bat
  91. read.c
  92. remake.c
  93. remote-cstms.c
  94. remote-stub.c
  95. rule.c
  96. rule.h
  97. signame.c
  98. strcache.c
  99. subproc.bat
  100. tests/
  101. variable.c
  102. variable.h
  103. version.c
  104. vms_exit.c
  105. vms_export_symbol.c
  106. vms_export_symbol_test.com
  107. vms_progname.c
  108. vmsdir.h
  109. vmsfunctions.c
  110. vmsify.c
  111. vmsjobs.c
  112. vpath.c
  113. w32/
README.md

GNU Make

This is a fork of GNU Make, with support for running on Fuchsia.

Building

To build a native version of GNU Make for fuchsia, configure in a new directory with:

  $ <path-to-make>/configure \
          --host=<arch>-fuchsia \
          --disable-job-server \
          CC=<path-to-compiler>/<arch>-fuchsia-gcc

(where <arch> is one of: x86_64, aarch64, or arm)

And then simply invoke ‘make’:

  $ make

Rebasing GNU Make

When merging upstream changes, there are a number of files that must be regenerated. Here are the steps to follow to regenerate the files from a virgin git repo (all commands shown should be run from within the source directory):

  1. Install the following packages:
  • automake 1.15
  • autoconf 2.69
  • gettext 0.19.8
  • pkg-config 0.29.1

These can mostly be installed into a user-specific directory to avoid updating the default versions of these utilities. However, if pkg-config is installed in a user-specific directory, you will need to set the environment variable ACLOCAL_PATH to reference the local “share” subdirectory to avoid getting undefined m4 macro errors for PKG_PROG_PKG_CONFIG. For example, if pkg-config is installed in /my/usr/local, ACLOCAL_PATH should be set to /my/usr/local/share.

  1. Configure the make source directory.
  $ autoreconf -i
  1. Run configure (we need a Makefile to download the latest versions of some external files):
  $ ./configure
  1. Download the necessary external files:
  $ make scm-update
  1. Clean up our configure artifacts:
  $ make distclean
  $ rm -fr autom4te.cache

After these steps, the source tree should be in a state where it can be configured/built as needed. Some of these steps are derived from (but differ slightly from) those given in README.git.