@@ -42,6 +42,7 @@ EXEFLAGS = <%exeflags%>
4242LINKER_DLL_ARGUMENTS = <%linker_dll_arguments%>
4343LINKER_EXE_ARGUMENTS = <%linker_exe_arguments%>
4444DEBUG_EXT = <%debug_ext%>
45+ <%if(parallel_flags)%>PARALLEL_CFLAGS = <%parallel_flags%><%endif%>
4546!else
4647<%endfor%>
4748!error You must select one of these compilers:<%foreach(compilers)%> <%normalize(uc(compiler))%><%endfor%>
@@ -99,6 +100,12 @@ LIBFLAGS = <%libflags%>
99100CCFLAGS = $(CC_CFLAGS)<%if(type_is_binary)%> $(BINARY_FLAGS)<%endif%><%if(compile_flags)%> <%compile_flags%><%endif%><%if(languagestandard)%> -std=<%languagestandard%><%endif%>
100101
101102
103+ !ifndef MPC_NUMBER_OF_PROCESSORS
104+ MPC_NUMBER_OF_PROCESSORS = 0
105+ !endif
106+
107+ .nosilent
108+
102109<%if(use_vcl)%>
103110STARTUP_LETTER = <%if(exename)%>w<%else%><%startup_letter%><%endif%>
104111<%else%>
@@ -217,8 +224,7 @@ CFLAGS = \
217224OUTPUTDIR = $(EXEOUTPUTDIR)
218225all:<%if(prebuild)%> __prebuild__<%endif%> $(OUTPUTDIR)$(NAME)$(EXE_EXT)<%if(postbuild)%> __postbuild__<%endif%>
219226
220- $(OUTPUTDIR)$(NAME)$(EXE_EXT): $(OBJFILES) $(RESOURCE)
221- @if not exist "$(OUTPUTDIR)" mkdir "$(OUTPUTDIR)"
227+ $(OUTPUTDIR)$(NAME)$(EXE_EXT): $(INTERMEDIATE) $(OUTPUTDIR) $(OBJFILES) $(RESOURCE)
222228<%if(prelink)%>
223229 <%eval(prelink)%>
224230<%endif%>
@@ -232,8 +238,7 @@ $(OUTPUTDIR)$(NAME)$(EXE_EXT): $(OBJFILES) $(RESOURCE)
232238OUTPUTDIR = <%if(dllout)%><%dllout%><%else%><%libout%><%endif%>\\
233239all:<%if(prebuild)%> __prebuild__<%endif%> $(OUTPUTDIR)$(NAME)$(DLL_EXT)<%if(postbuild)%> __postbuild__<%endif%>
234240
235- $(OUTPUTDIR)$(NAME)$(DLL_EXT): $(OBJFILES) $(RESOURCE)
236- @if not exist "$(OUTPUTDIR)" mkdir "$(OUTPUTDIR)"
241+ $(OUTPUTDIR)$(NAME)$(DLL_EXT): $(INTERMEDIATE) $(OUTPUTDIR) $(OBJFILES) $(RESOURCE)
237242<%if(prelink)%>
238243 <%eval(prelink)%>
239244<%endif%>
@@ -248,8 +253,7 @@ $(OUTPUTDIR)$(NAME)$(DLL_EXT): $(OBJFILES) $(RESOURCE)
248253OUTPUTDIR = <%libout%>\\
249254all:<%if(prebuild)%> __prebuild__<%endif%> $(OUTPUTDIR)$(NAME)$(LIB_EXT)<%if(postbuild)%> __postbuild__<%endif%>
250255
251- $(OUTPUTDIR)$(NAME)$(LIB_EXT): $(OBJFILES)
252- @if not exist "$(OUTPUTDIR)" mkdir "$(OUTPUTDIR)"
256+ $(OUTPUTDIR)$(NAME)$(LIB_EXT): $(INTERMEDIATE) $(OUTPUTDIR) $(OBJFILES)
253257 $(TLIB) $(LIBFLAGS) $(OUTPUTDIR)$(NAME)$(LIB_EXT) @&&!
254258+ $(**: = &^
255259+ )
@@ -313,37 +317,47 @@ all:<%if(prebuild)%> __prebuild__<%endif%> $(GENERATED_DIRTY)<%if(postbuild)%> _
313317generated: $(GENERATED_DIRTY)
314318 @-rem
315319
320+ $(INTERMEDIATE):
321+ @if not exist "$(INTERMEDIATE)" mkdir "$(INTERMEDIATE)"
322+
323+ <%if(exename || sharedname || staticname)%>
324+ $(OUTPUTDIR):
325+ @if not exist "$(OUTPUTDIR)" mkdir "$(OUTPUTDIR)"
326+ <%endif%>
327+
316328.path$(OBJ_EXT) = $(INTERMEDIATE)
317329
330+ !ifdef PARALLEL_CFLAGS
318331.path.cpp = $(CPPDIR)
319332.cpp$(OBJ_EXT):
320- @if not exist "$(INTERMEDIATE)" mkdir "$(INTERMEDIATE)"
321- $(CC) $(DYN_FLAGS) $(STATIC_FLAGS) $(OCFLAGS) $(CG_CFLAGS) $(UC_CFLAGS) $(THREAD_FLAGS) $(CCFLAGS) $(CFLAGS) $(WARN_FLAGS) -c -o $(@D)\$(@F) $<
333+ $(CC) $(PARALLEL_CFLAGS) $(DYN_FLAGS) $(STATIC_FLAGS) $(OCFLAGS) $(CG_CFLAGS) $(UC_CFLAGS) $(THREAD_FLAGS) $(CCFLAGS) $(CFLAGS) $(WARN_FLAGS) -output-dir $(@D) -c {$? }
334+
335+ !else
336+ .path.cpp = $(CPPDIR)
337+ .cpp$(OBJ_EXT):
338+ $(CC) $(DYN_FLAGS) $(STATIC_FLAGS) $(OCFLAGS) $(CG_CFLAGS) $(UC_CFLAGS) $(THREAD_FLAGS) $(CCFLAGS) $(CFLAGS) $(WARN_FLAGS) -c -o $(@D)\$(@F) $<
339+ !endif
322340
323341.path.cxx = $(CPPDIR)
324342.cxx$(OBJ_EXT):
325- @if not exist "$(INTERMEDIATE)" mkdir "$(INTERMEDIATE)"
326- $(CC) $(DYN_FLAGS) $(STATIC_FLAGS) $(OCFLAGS) $(CG_CFLAGS) $(UC_CFLAGS) $(THREAD_FLAGS) $(CCFLAGS) $(CFLAGS) $(WARN_FLAGS) -c -o $(@D)\$(@F) $<
343+ $(CC) $(DYN_FLAGS) $(STATIC_FLAGS) $(OCFLAGS) $(CG_CFLAGS) $(UC_CFLAGS) $(THREAD_FLAGS) $(CCFLAGS) $(CFLAGS) $(WARN_FLAGS) -c -o $(@D)\$(@F) $<
327344
328345.path.cc = $(CPPDIR)
329346.cc$(OBJ_EXT):
330- @if not exist "$(INTERMEDIATE)" mkdir "$(INTERMEDIATE)"
331- $(CC) $(DYN_FLAGS) $(STATIC_FLAGS) $(OCFLAGS) $(CG_CFLAGS) $(UC_CFLAGS) $(THREAD_FLAGS) $(CCFLAGS) $(CFLAGS) $(WARN_FLAGS) -c -o $(@D)\$(@F) $<
347+ $(CC) $(DYN_FLAGS) $(STATIC_FLAGS) $(OCFLAGS) $(CG_CFLAGS) $(UC_CFLAGS) $(THREAD_FLAGS) $(CCFLAGS) $(CFLAGS) $(WARN_FLAGS) -c -o $(@D)\$(@F) $<
332348
333349.path.C = $(CPPDIR)
334350.C$(OBJ_EXT):
335- @if not exist "$(INTERMEDIATE)" mkdir "$(INTERMEDIATE)"
336- $(CC) $(DYN_FLAGS) $(STATIC_FLAGS) $(OCFLAGS) $(CG_CFLAGS) $(UC_CFLAGS) $(THREAD_FLAGS) $(CCFLAGS) $(CFLAGS) $(WARN_FLAGS) -c -o $(@D)\$(@F) $<
351+ $(CC) $(DYN_FLAGS) $(STATIC_FLAGS) $(OCFLAGS) $(CG_CFLAGS) $(UC_CFLAGS) $(THREAD_FLAGS) $(CCFLAGS) $(CFLAGS) $(WARN_FLAGS) -c -o $(@D)\$(@F) $<
337352
338353.path.c = $(CPPDIR)
339354.c$(OBJ_EXT):
340- @if not exist "$(INTERMEDIATE)" mkdir "$(INTERMEDIATE)"
341- $(CC) $(DYN_FLAGS) $(STATIC_FLAGS) $(OCFLAGS) $(CG_CFLAGS) $(UC_CFLAGS) $(THREAD_FLAGS) $(CCFLAGS) $(CFLAGS) $(WARN_FLAGS) -c -o $(@D)\$(@F) $<
355+ $(CC) $(DYN_FLAGS) $(STATIC_FLAGS) $(OCFLAGS) $(CG_CFLAGS) $(UC_CFLAGS) $(THREAD_FLAGS) $(CCFLAGS) $(CFLAGS) $(WARN_FLAGS) -c -o $(@D)\$(@F) $<
342356
343357<%foreach(source_files)%>
344358<%if(transdir(source_file) || flag_overrides(source_file, buildflags))%>
345359"$(INTERMEDIATE)\<%transdir(source_file)%><%basenoextension(source_file)%>$(OBJ_EXT)":
346- @ if not exist "$(INTERMEDIATE)\<%transdir(source_file)%>" mkdir "$(INTERMEDIATE)\<%transdir(source_file)%>"
360+ if not exist "$(INTERMEDIATE)\<%transdir(source_file)%>" mkdir "$(INTERMEDIATE)\<%transdir(source_file)%>"
347361 $(CC) <%if(flag_overrides(source_file, buildflags))%><%flag_overrides(source_file, buildflags)%> <%endif%>$(DYN_FLAGS) $(STATIC_FLAGS) $(OCFLAGS) $(CG_CFLAGS) $(UC_CFLAGS) $(THREAD_FLAGS) $(CCFLAGS) $(CFLAGS) $(WARN_FLAGS) -c -o $(@D)\$(@F) <%source_file%>
348362<%endif%>
349363<%endfor%>
@@ -352,12 +366,12 @@ generated: $(GENERATED_DIRTY)
352366.path.res = $(INTERMEDIATE)
353367.path.rc = $(RESDIR)
354368.rc.res:
355- @ if not exist "$(INTERMEDIATE)" mkdir "$(INTERMEDIATE)"
356- $(RC) $(RC_FLAGS) -fo$@ $<
369+ if not exist "$(INTERMEDIATE)" mkdir "$(INTERMEDIATE)"
370+ $(RC) $(RC_FLAGS) -fo$@ $<
357371<%foreach(resource_files)%>
358372<%if(transdir(resource_file))%>
359373"$(INTERMEDIATE)\<%transdir(resource_file)%><%basenoextension(resource_file)%>.res":
360- @ if not exist "$(INTERMEDIATE)\<%transdir(resource_file)%>" mkdir "$(INTERMEDIATE)\<%transdir(resource_file)%>"
374+ if not exist "$(INTERMEDIATE)\<%transdir(resource_file)%>" mkdir "$(INTERMEDIATE)\<%transdir(resource_file)%>"
361375 $(RC) -fo$@ <%resource_file%>
362376<%endif%>
363377<%endfor%>
0 commit comments