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