1@echo off 2rem Copyright (C) 1998-2020 Free Software Foundation, Inc. 3rem This file is part of GNU Make. 4rem 5rem GNU Make is free software; you can redistribute it and/or modify it under 6rem the terms of the GNU General Public License as published by the Free 7rem Software Foundation; either version 3 of the License, or (at your option) 8rem any later version. 9rem 10rem GNU Make is distributed in the hope that it will be useful, but WITHOUT 11rem ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12rem FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for. 13rem more details. 14rem 15rem You should have received a copy of the GNU General Public License along 16rem with this program. If not, see <http://www.gnu.org/licenses/>. 17 18echo Building Make for MSDOS with DJGPP 19 20rem The SmallEnv trick protects against too small environment block, 21rem in which case the values will be truncated and the whole thing 22rem goes awry. COMMAND.COM will say "Out of environment space", but 23rem many people don't care, so we force them to care by refusing to go. 24 25rem Where is the srcdir? 26set XSRC=. 27if not "%XSRC%"=="." goto SmallEnv 28if "%1%"=="" goto SrcDone 29if "%1%"=="." goto SrcDone 30set XSRC=%1 31 32if not "%XSRC%"=="%1" goto SmallEnv 33 34:SrcDone 35 36if not exist src mkdir src 37if not exist lib mkdir lib 38 39copy /Y %XSRC%\src\configh.dos .\src\config.h 40 41copy /Y %XSRC%\lib\glob.in.h .\lib\glob.h 42copy /Y %XSRC%\lib\fnmatch.in.h .\lib\fnmatch.h 43 44rem Echo ON so they will see what is going on. 45@echo on 46gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/commands.c -o commands.o 47gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/output.c -o output.o 48gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/job.c -o job.o 49gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/dir.c -o dir.o 50gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/file.c -o file.o 51gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/misc.c -o misc.o 52gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/main.c -o main.o 53gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -DINCLUDEDIR=\"c:/djgpp/include\" -O2 -g %XSRC%/src/read.c -o read.o 54gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -DLIBDIR=\"c:/djgpp/lib\" -O2 -g %XSRC%/src/remake.c -o remake.o 55gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/rule.c -o rule.o 56gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/implicit.c -o implicit.o 57gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/default.c -o default.o 58gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/variable.c -o variable.o 59gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/expand.c -o eyxpand.o 60gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/function.c -o function.o 61gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/vpath.c -o vpath.o 62gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/hash.c -o hash.o 63gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/strcache.c -o strcache.o 64gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/version.c -o version.o 65gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/ar.c -o ar.o 66gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/arscan.c -o arscan.o 67gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/signame.c -o signame.o 68gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/remote-stub.c -o remote-stub.o 69gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/getopt.c -o getopt.o 70gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/getopt1.c -o getopt1.o 71gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/lib/glob.c -o lib/glob.o 72gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/lib/fnmatch.c -o lib/fnmatch.o 73@echo off 74echo commands.o > respf.$$$ 75for %%f in (job output dir file misc main read remake rule implicit default variable) do echo %%f.o >> respf.$$$ 76for %%f in (expand function vpath hash strcache version ar arscan signame remote-stub getopt getopt1) do echo %%f.o >> respf.$$$ 77for %%f in (lib\glob lib\fnmatch) do echo %%f.o >> respf.$$$ 78rem gcc -c -I./src -I%XSRC% -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/guile.c -o guile.o 79rem echo guile.o >> respf.$$$ 80@echo Linking... 81@echo on 82gcc -o make.exe @respf.$$$ 83@echo off 84if not exist make.exe echo Make.exe build failed... 85if exist make.exe echo make.exe is now built! 86if exist make.exe del respf.$$$ 87if exist make.exe copy /Y Basic.mk Makefile 88goto End 89 90:SmallEnv 91echo Your environment is too small. Please enlarge it and run me again. 92 93:End 94set XRSC= 95@echo on 96