@@ -67,7 +67,6 @@ def __init__(self, srcdir: str, builddir: str, opts: Sequence[str]) -> None:
67
67
self .srcdir = srcdir
68
68
self .builddir = builddir
69
69
self .opts = [* opts ]
70
- self .makecmd = os .environ .get ('MAKE' , 'make' ) # refer $MAKE to determine make command
71
70
72
71
def builddir_join (self , * comps : str ) -> str :
73
72
return path .join (self .builddir , * comps )
@@ -105,10 +104,11 @@ def build_latexpdf(self) -> int:
105
104
if self .run_generic_build ('latex' ) > 0 :
106
105
return 1
107
106
108
- if sys .platform == 'win32' :
109
- makecmd = os .environ .get ('MAKE' , 'make.bat' )
110
- else :
111
- makecmd = self .makecmd
107
+ # Use $MAKE to determine the make command
108
+ make_fallback = 'make.bat' if sys .platform == 'win32' else 'make'
109
+ makecmd = os .environ .get ('MAKE' , make_fallback )
110
+ if not makecmd .lower ().startswith ('make' ):
111
+ raise RuntimeError ('Invalid $MAKE command: %r' % makecmd )
112
112
try :
113
113
with chdir (self .builddir_join ('latex' )):
114
114
return subprocess .call ([makecmd , 'all-pdf' ])
@@ -120,10 +120,11 @@ def build_latexpdfja(self) -> int:
120
120
if self .run_generic_build ('latex' ) > 0 :
121
121
return 1
122
122
123
- if sys .platform == 'win32' :
124
- makecmd = os .environ .get ('MAKE' , 'make.bat' )
125
- else :
126
- makecmd = self .makecmd
123
+ # Use $MAKE to determine the make command
124
+ make_fallback = 'make.bat' if sys .platform == 'win32' else 'make'
125
+ makecmd = os .environ .get ('MAKE' , make_fallback )
126
+ if not makecmd .lower ().startswith ('make' ):
127
+ raise RuntimeError ('Invalid $MAKE command: %r' % makecmd )
127
128
try :
128
129
with chdir (self .builddir_join ('latex' )):
129
130
return subprocess .call ([makecmd , 'all-pdf' ])
@@ -134,11 +135,16 @@ def build_latexpdfja(self) -> int:
134
135
def build_info (self ) -> int :
135
136
if self .run_generic_build ('texinfo' ) > 0 :
136
137
return 1
138
+
139
+ # Use $MAKE to determine the make command
140
+ makecmd = os .environ .get ('MAKE' , 'make' )
141
+ if not makecmd .lower ().startswith ('make' ):
142
+ raise RuntimeError ('Invalid $MAKE command: %r' % makecmd )
137
143
try :
138
144
with chdir (self .builddir_join ('texinfo' )):
139
- return subprocess .call ([self . makecmd , 'info' ])
145
+ return subprocess .call ([makecmd , 'info' ])
140
146
except OSError :
141
- print ('Error: Failed to run: %s' % self . makecmd )
147
+ print ('Error: Failed to run: %s' % makecmd )
142
148
return 1
143
149
144
150
def build_gettext (self ) -> int :
0 commit comments