Skip to content

Commit 628e866

Browse files
authored
Merge branch 'master' into jwi-bmakelanguagestandard
2 parents e9aef16 + 6d96a69 commit 628e866

File tree

2 files changed

+35
-20
lines changed

2 files changed

+35
-20
lines changed

templates/bmake.mpd

Lines changed: 34 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ EXEFLAGS = <%exeflags%>
4242
LINKER_DLL_ARGUMENTS = <%linker_dll_arguments%>
4343
LINKER_EXE_ARGUMENTS = <%linker_exe_arguments%>
4444
DEBUG_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%>
99100
CCFLAGS = $(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)%>
103110
STARTUP_LETTER = <%if(exename)%>w<%else%><%startup_letter%><%endif%>
104111
<%else%>
@@ -217,8 +224,7 @@ CFLAGS = \
217224
OUTPUTDIR = $(EXEOUTPUTDIR)
218225
all:<%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)
232238
OUTPUTDIR = <%if(dllout)%><%dllout%><%else%><%libout%><%endif%>\\
233239
all:<%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)
248253
OUTPUTDIR = <%libout%>\\
249254
all:<%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)%> _
313317
generated: $(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%>

templates/bmakecommon.mpt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,4 +140,5 @@ exeflags = -tR
140140
object_search_path = 0
141141
linker_dll_arguments = $(DLLFLAGS) $(UC_LFLAGS) $(LFLAGS:\=/) $(OBJFILES:\=/) -o $(OUTPUTDIR:\=/)$(NAME)$(DLL_EXT) -Xlinker --out-implib -Xlinker $(OUTPUTDIR:\=/)$(NAME).lib $(LIBFILES:\=/) $(RESOURCE:\=/)
142142
linker_exe_arguments = $(EXEFLAGS) $(UC_LFLAGS) $(LFLAGS:\=/) $(OBJFILES:\=/) -o $(OUTPUTDIR:\=/)$(NAME)$(EXE_EXT) $(LIBFILES:\=/) $(RESOURCE:\=/)
143+
parallel_flags = --jobs=$(MPC_NUMBER_OF_PROCESSORS)
143144
}

0 commit comments

Comments
 (0)