# Basic GNU -*-Makefile-*- to build GNU make # # NOTE: # If you have no 'make' program at all to process this makefile: # * On Windows, run ".\buildw32.bat" to bootstrap one. # * On MS-DOS, run ".\builddos.bat" to bootstrap one. # # Once you have a GNU make program created, you can use it with this makefile # to keep it up to date if you make changes, as: # # make.exe -f Makew32.mk # # Copyright (C) 2017-2018 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software # Foundation; either version 3 of the License, or (at your option) any later # version. # # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more # details. # # You should have received a copy of the GNU General Public License along with # this program. If not, see . all: src = src/ glob = glob/ make_SOURCES = %make_SOURCES% glob_SOURCES = %glob_SOURCES% loadavg_SOURCES = %loadavg_SOURCES% alloca_SOURCES = %alloca_SOURCES% w32_SOURCES = %w32_SOURCES% vms_SOURCES = %vms_SOURCES% amiga_SOURCES = %amiga_SOURCES% posix_SOURCES = $(src)posixos.c remote_SOURCES = $(src)remote-stub.c OUTDIR = SRCDIR = . OBJEXT = o EXEEXT = PREFIX = /usr/local INCLUDEDIR = $(PREFIX)/include LIBDIR = $(PREFIX)/lib LOCALEDIR = $(PREFIX)/share PROG = $(OUTDIR)make$(EXEEXT) prog_SOURCES = $(make_SOURCES) $(remote_SOURCES) OBJECTS = $(patsubst %.c,$(OUTDIR)%.$(OBJEXT),$(prog_SOURCES)) OBJDIRS = $(addsuffix .,$(sort $(dir $(OBJECTS)))) # Use the default value of CC LD = $(CC) # Reserved for command-line override CPPFLAGS = CFLAGS = -g -O2 LDFLAGS = extra_CPPFLAGS = -DHAVE_CONFIG_H -I$(OUTDIR)src -I$(SRCDIR)/src \ -DLIBDIR=\"$(LIBDIR)\" -DINCLUDEDIR=\"$(INCLUDEDIR)\" -DLOCALEDIR=\"$(LOCALDIR)\" extra_CFLAGS = extra_LDFLAGS = $(extra_CFLAGS) $(CFLAGS) C_SOURCE = -c OUTPUT_OPTION = -o $@ LINK_OUTPUT = -o $@ # Command lines COMPILE.cmd = $(CC) $(extra_CFLAGS) $(CFLAGS) $(extra_CPPFLAGS) $(CPPFLAGS) $(TARGET_ARCH) $(OUTPUT_OPTION) $(C_SOURCE) $< LINK.cmd = $(LD) $(extra_LDFLAGS) $(LDFLAGS) $(TARGET_ARCH) $^ $(LDLIBS) $(LINK_OUTPUT) CHECK.cmd = cd $(SRCDIR)/tests && ./run_make_tests -make $(shell cd $(