2023-01-01 21:25:39 +00:00
|
|
|
# GNU -*-Makefile-*- to build GNU Make on VMS
|
Rework directory structure to use GNU-recommended "src" directory.
Move the source code (other than glob) into the "src" subdirectory.
Update all scripting and recommendations to support this change.
* *.c, *.h, w32/*: Move to src/
* configure.ac, Makefile.am, maintMakefile: Locate new source files.
* Basic.mk.template, mk/*: Update for new source file locations.
* NEWS, README.DOS.template: Update for new locations.
* build.template, build_w32.bat, builddos.bat: Ditto.
* po/POTFILES.in: Ditto
* tests/run_make_tests.pl, tests/scripts/features/load*: Ditto.
* make.1: Move to doc.
* mk/VMS.mk: Add support for building on VMS (hopefully).
* makefile.vms, prepare_w32.bat: Remove.
* SCOPTIONS: Update to define HAVE_CONFIG_H
2017-11-19 18:49:26 +00:00
|
|
|
#
|
|
|
|
# VMS overrides for use with Basic.mk.
|
|
|
|
#
|
2024-01-06 22:55:04 +00:00
|
|
|
# Copyright (C) 2017-2024 Free Software Foundation, Inc.
|
Rework directory structure to use GNU-recommended "src" directory.
Move the source code (other than glob) into the "src" subdirectory.
Update all scripting and recommendations to support this change.
* *.c, *.h, w32/*: Move to src/
* configure.ac, Makefile.am, maintMakefile: Locate new source files.
* Basic.mk.template, mk/*: Update for new source file locations.
* NEWS, README.DOS.template: Update for new locations.
* build.template, build_w32.bat, builddos.bat: Ditto.
* po/POTFILES.in: Ditto
* tests/run_make_tests.pl, tests/scripts/features/load*: Ditto.
* make.1: Move to doc.
* mk/VMS.mk: Add support for building on VMS (hopefully).
* makefile.vms, prepare_w32.bat: Remove.
* SCOPTIONS: Update to define HAVE_CONFIG_H
2017-11-19 18:49:26 +00:00
|
|
|
# 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
|
2022-10-18 18:36:40 +00:00
|
|
|
# this program. If not, see <https://www.gnu.org/licenses/>.
|
Rework directory structure to use GNU-recommended "src" directory.
Move the source code (other than glob) into the "src" subdirectory.
Update all scripting and recommendations to support this change.
* *.c, *.h, w32/*: Move to src/
* configure.ac, Makefile.am, maintMakefile: Locate new source files.
* Basic.mk.template, mk/*: Update for new source file locations.
* NEWS, README.DOS.template: Update for new locations.
* build.template, build_w32.bat, builddos.bat: Ditto.
* po/POTFILES.in: Ditto
* tests/run_make_tests.pl, tests/scripts/features/load*: Ditto.
* make.1: Move to doc.
* mk/VMS.mk: Add support for building on VMS (hopefully).
* makefile.vms, prepare_w32.bat: Remove.
* SCOPTIONS: Update to define HAVE_CONFIG_H
2017-11-19 18:49:26 +00:00
|
|
|
|
|
|
|
src = [.src]
|
2018-07-01 16:28:25 +00:00
|
|
|
lib = [.lib]
|
Rework directory structure to use GNU-recommended "src" directory.
Move the source code (other than glob) into the "src" subdirectory.
Update all scripting and recommendations to support this change.
* *.c, *.h, w32/*: Move to src/
* configure.ac, Makefile.am, maintMakefile: Locate new source files.
* Basic.mk.template, mk/*: Update for new source file locations.
* NEWS, README.DOS.template: Update for new locations.
* build.template, build_w32.bat, builddos.bat: Ditto.
* po/POTFILES.in: Ditto
* tests/run_make_tests.pl, tests/scripts/features/load*: Ditto.
* make.1: Move to doc.
* mk/VMS.mk: Add support for building on VMS (hopefully).
* makefile.vms, prepare_w32.bat: Remove.
* SCOPTIONS: Update to define HAVE_CONFIG_H
2017-11-19 18:49:26 +00:00
|
|
|
SRCDIR = []
|
|
|
|
|
|
|
|
OBJEXT = .obj
|
|
|
|
EXEEXT = .exe
|
|
|
|
|
|
|
|
e =
|
|
|
|
s = $e $e
|
|
|
|
c = ,
|
|
|
|
|
|
|
|
defs = HAVE_CONFIG_H
|
|
|
|
|
|
|
|
ifeq ($(CC),cc)
|
|
|
|
defs += VMS unlink=remove allocated_variable_expand_for_file=alloc_var_expand_for_file
|
|
|
|
else
|
|
|
|
defs += GCC_IS_NATIVE
|
|
|
|
ifeq ($(ARCH),VAX)
|
|
|
|
defs += VAX
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
extra_CPPFLAGS = /define=($(subst $s,$c,$(patsubst %,"%",$(defs))))
|
|
|
|
|
2018-07-01 16:28:25 +00:00
|
|
|
cinclude = /nested=none/include=($(src),$(lib))
|
Rework directory structure to use GNU-recommended "src" directory.
Move the source code (other than glob) into the "src" subdirectory.
Update all scripting and recommendations to support this change.
* *.c, *.h, w32/*: Move to src/
* configure.ac, Makefile.am, maintMakefile: Locate new source files.
* Basic.mk.template, mk/*: Update for new source file locations.
* NEWS, README.DOS.template: Update for new locations.
* build.template, build_w32.bat, builddos.bat: Ditto.
* po/POTFILES.in: Ditto
* tests/run_make_tests.pl, tests/scripts/features/load*: Ditto.
* make.1: Move to doc.
* mk/VMS.mk: Add support for building on VMS (hopefully).
* makefile.vms, prepare_w32.bat: Remove.
* SCOPTIONS: Update to define HAVE_CONFIG_H
2017-11-19 18:49:26 +00:00
|
|
|
ifeq ($(CC),cc)
|
|
|
|
cprefix = /prefix=(all,except=(glob,globfree))
|
|
|
|
cwarn = /standard=relaxed/warn=(disable=questcompare)
|
|
|
|
endif
|
|
|
|
|
|
|
|
extra_CFLAGS = $(cinclude)$(cprefix)$(cwarn)
|
|
|
|
|
|
|
|
#extra_LDFLAGS = /deb
|
|
|
|
extra_LDFLAGS =
|
|
|
|
|
|
|
|
# If your system needs extra libraries loaded in, define them here.
|
|
|
|
# System V probably need -lPW for alloca.
|
|
|
|
# if on vax, uncomment the following line
|
|
|
|
#LDLIBS = ,c.opt/opt
|
|
|
|
ifeq ($(CC),cc)
|
|
|
|
#LDLIBS =,sys$$library:vaxcrtl.olb/lib
|
|
|
|
else
|
|
|
|
LDLIBS =,gnu_cc_library:libgcc.olb/lib
|
|
|
|
endif
|
|
|
|
|
|
|
|
# If your system doesn't have alloca, or the one provided is bad,
|
|
|
|
# uncomment this
|
|
|
|
#ALLOCA = $(alloca_SOURCES)
|
|
|
|
|
2018-07-01 16:28:25 +00:00
|
|
|
# If your system doesn't have alloca.h, or the one provided is bad,
|
|
|
|
# uncomment this
|
|
|
|
#BUILT_SOURCES += $(lib)alloca.h
|
|
|
|
|
Rework directory structure to use GNU-recommended "src" directory.
Move the source code (other than glob) into the "src" subdirectory.
Update all scripting and recommendations to support this change.
* *.c, *.h, w32/*: Move to src/
* configure.ac, Makefile.am, maintMakefile: Locate new source files.
* Basic.mk.template, mk/*: Update for new source file locations.
* NEWS, README.DOS.template: Update for new locations.
* build.template, build_w32.bat, builddos.bat: Ditto.
* po/POTFILES.in: Ditto
* tests/run_make_tests.pl, tests/scripts/features/load*: Ditto.
* make.1: Move to doc.
* mk/VMS.mk: Add support for building on VMS (hopefully).
* makefile.vms, prepare_w32.bat: Remove.
* SCOPTIONS: Update to define HAVE_CONFIG_H
2017-11-19 18:49:26 +00:00
|
|
|
prog_SOURCES += $(ALLOCA) $(glob_SOURCES) $(vms_SOURCES)
|
|
|
|
|
2018-07-01 16:28:25 +00:00
|
|
|
BUILT_SOURCES += $(lib)fnmatch.h $(lib)glob.h
|
|
|
|
|
2018-08-03 00:51:11 +00:00
|
|
|
COMPILE.cmd = $(CC) $(extra_CFLAGS)$(CFLAGS)/obj=$@ $(extra_CPPFLAGS)$(CPPFLAGS) $1
|
Rework directory structure to use GNU-recommended "src" directory.
Move the source code (other than glob) into the "src" subdirectory.
Update all scripting and recommendations to support this change.
* *.c, *.h, w32/*: Move to src/
* configure.ac, Makefile.am, maintMakefile: Locate new source files.
* Basic.mk.template, mk/*: Update for new source file locations.
* NEWS, README.DOS.template: Update for new locations.
* build.template, build_w32.bat, builddos.bat: Ditto.
* po/POTFILES.in: Ditto
* tests/run_make_tests.pl, tests/scripts/features/load*: Ditto.
* make.1: Move to doc.
* mk/VMS.mk: Add support for building on VMS (hopefully).
* makefile.vms, prepare_w32.bat: Remove.
* SCOPTIONS: Update to define HAVE_CONFIG_H
2017-11-19 18:49:26 +00:00
|
|
|
|
2018-08-03 00:51:11 +00:00
|
|
|
LINK.cmd = $(LD)$(extra_LDFLAGS)$(LDFLAGS)/exe=$@ $(subst $s,$c,$1)$(LDLIBS)
|
Rework directory structure to use GNU-recommended "src" directory.
Move the source code (other than glob) into the "src" subdirectory.
Update all scripting and recommendations to support this change.
* *.c, *.h, w32/*: Move to src/
* configure.ac, Makefile.am, maintMakefile: Locate new source files.
* Basic.mk.template, mk/*: Update for new source file locations.
* NEWS, README.DOS.template: Update for new locations.
* build.template, build_w32.bat, builddos.bat: Ditto.
* po/POTFILES.in: Ditto
* tests/run_make_tests.pl, tests/scripts/features/load*: Ditto.
* make.1: Move to doc.
* mk/VMS.mk: Add support for building on VMS (hopefully).
* makefile.vms, prepare_w32.bat: Remove.
* SCOPTIONS: Update to define HAVE_CONFIG_H
2017-11-19 18:49:26 +00:00
|
|
|
|
|
|
|
# Don't know how to do this
|
|
|
|
CHECK.cmd =
|
|
|
|
|
2018-08-03 00:51:11 +00:00
|
|
|
MKDIR.cmd = create/dir $1
|
|
|
|
RM.cmd = delete $1
|
|
|
|
CP.cmd = copy $1 $2
|
|
|
|
|
|
|
|
define CLEANSPACE
|
Rework directory structure to use GNU-recommended "src" directory.
Move the source code (other than glob) into the "src" subdirectory.
Update all scripting and recommendations to support this change.
* *.c, *.h, w32/*: Move to src/
* configure.ac, Makefile.am, maintMakefile: Locate new source files.
* Basic.mk.template, mk/*: Update for new source file locations.
* NEWS, README.DOS.template: Update for new locations.
* build.template, build_w32.bat, builddos.bat: Ditto.
* po/POTFILES.in: Ditto
* tests/run_make_tests.pl, tests/scripts/features/load*: Ditto.
* make.1: Move to doc.
* mk/VMS.mk: Add support for building on VMS (hopefully).
* makefile.vms, prepare_w32.bat: Remove.
* SCOPTIONS: Update to define HAVE_CONFIG_H
2017-11-19 18:49:26 +00:00
|
|
|
-purge [...]
|
2018-08-03 00:51:11 +00:00
|
|
|
-delete $(PROG);
|
|
|
|
-delete $(src)*.$(OBJEXT);
|
Rework directory structure to use GNU-recommended "src" directory.
Move the source code (other than glob) into the "src" subdirectory.
Update all scripting and recommendations to support this change.
* *.c, *.h, w32/*: Move to src/
* configure.ac, Makefile.am, maintMakefile: Locate new source files.
* Basic.mk.template, mk/*: Update for new source file locations.
* NEWS, README.DOS.template: Update for new locations.
* build.template, build_w32.bat, builddos.bat: Ditto.
* po/POTFILES.in: Ditto
* tests/run_make_tests.pl, tests/scripts/features/load*: Ditto.
* make.1: Move to doc.
* mk/VMS.mk: Add support for building on VMS (hopefully).
* makefile.vms, prepare_w32.bat: Remove.
* SCOPTIONS: Update to define HAVE_CONFIG_H
2017-11-19 18:49:26 +00:00
|
|
|
endef
|
|
|
|
|
|
|
|
|
2022-10-16 19:13:41 +00:00
|
|
|
$(OUTDIR)$(src)config.h: $(SRCDIR)$(src)config.h-vms
|
2018-08-03 00:51:11 +00:00
|
|
|
$(call CP.cmd,$<,$@)
|