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