COMP: WM_SCHEDULER breaks compilation (fixes #2439)

- only wrap compiler calls (not things like flex/bison)
- avoid single quoted '&&' (causes syntax errors)

STYLE: report WM_COMPILE_CONTROL value in top-level Allwmake
This commit is contained in:
Bernhard Gschaider 2022-04-12 15:27:20 +02:00 committed by Mark Olesen
parent ebc634a425
commit 762c095f4e
12 changed files with 51 additions and 56 deletions

View File

@ -37,7 +37,7 @@ echo
echo ========================================
date "+%Y-%m-%d %H:%M:%S %z" 2>/dev/null || echo "date is unknown"
echo "Starting compile ${WM_PROJECT_DIR##*/} ${0##*/}"
echo " $WM_COMPILER ${WM_COMPILER_TYPE:-system} compiler"
echo " $WM_COMPILER ${WM_COMPILER_TYPE:-system} compiler [${WM_COMPILE_CONTROL}]"
echo " ${WM_OPTIONS}, with ${WM_MPLIB} ${FOAM_MPI}"
echo ========================================
echo

View File

@ -1,26 +1,24 @@
SUFFIXES += .Y .y .yy .yy-m4
ytoo = $E $(call QUIET_MESSAGE,bison,$(<F)) \
$(WM_SCHEDULER) bison -v -d -y $< $(AND) \
mv y.tab.c $(@D)/$(<F).c $(AND) \
mv y.tab.h $(@D)/$(<F).h $(AND) \
$(cc) $(cFLAGS) -c $(@D)/$(<F).c -o $@
bison -v -d -y $< && \
mv y.tab.c $(@D)/$(<F).c && \
mv y.tab.h $(@D)/$(<F).h && \
$(WM_SCHEDULER) $(cc) $(cFLAGS) -c $(@D)/$(<F).c -o $@
Ytoo = $E $(call QUIET_MESSAGE,bison,$(<F)) \
$(WM_SCHEDULER) bison -v -d -y $< $(AND) \
mv y.tab.c $(@D)/$(<F).C $(AND) \
mv y.tab.h $(@D)/$(<F).H $(AND) \
$(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
bison -v -d -y $< && \
mv y.tab.c $(@D)/$(<F).C && \
mv y.tab.h $(@D)/$(<F).H && \
$(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
yytoo = $E $(call QUIET_MESSAGE,bison,$(<F)) \
$(WM_SCHEDULER) $(WM_SCRIPTS)/wrap-bison \
-output=$(@D)/$(*F).tab.cc -v -d $< $(AND) \
$(CC) $(c++FLAGS) -c $(@D)/$(*F).tab.cc -o $@
$(WM_SCRIPTS)/wrap-bison -output=$(@D)/$(*F).tab.cc -v -d $< && \
$(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $(@D)/$(*F).tab.cc -o $@
# Retains intermediate m4-filtered files (-no-tmp to suppress)
yy-m4too = $E $(call QUIET_MESSAGE,bison-m4,$(<F)) \
$(WM_SCHEDULER) $(WM_SCRIPTS)/wrap-bison \
-output=$(@D)/$(*F).tab.cc -v -d $< $(AND) \
$(CC) $(c++FLAGS) -c $(@D)/$(*F).tab.cc -o $@
$(WM_SCRIPTS)/wrap-bison -output=$(@D)/$(*F).tab.cc -v -d $< && \
$(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $(@D)/$(*F).tab.cc -o $@
#------------------------------------------------------------------------------

View File

@ -1,7 +1,7 @@
SUFFIXES += .y
ytoo = $E $(call QUIET_MESSAGE,btyacc,$(<F)) \
$(WM_SCHEDULER) btyacc -v -d $(SKELETON) $< $(AND) \
mv y_tab.c $(@D)/$(<F).C $(AND) \
mv y_tab.h $(@D)/$(<F).H $(AND) \
$(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
btyacc -v -d $(SKELETON) $< && \
mv y_tab.c $(@D)/$(<F).C && \
mv y_tab.h $(@D)/$(<F).H && \
$(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@

View File

@ -1,7 +1,7 @@
SUFFIXES += .Y
Ytoo = $E $(call QUIET_MESSAGE,btyacc++,$(<F)) \
$(WM_SCHEDULER) btyacc++ -v -d $(SKELETON) $< $(AND) \
mv y_tab.c $(@D)/$(<F).C $(AND) \
mv y_tab.h $(@D)/$(<F).H $(AND) \
$(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
btyacc++ -v -d $(SKELETON) $< && \
mv y_tab.c $(@D)/$(<F).C && \
mv y_tab.h $(@D)/$(<F).H && \
$(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@

View File

@ -1,7 +1,7 @@
SUFFIXES += .y
ytoo = $E $(call QUIET_MESSAGE,byacc,$(<F)) \
$(WM_SCHEDULER) byacc -v $(YYPREFIX) -d $< $(AND) \
mv y.tab.c $(@D)/$(<F).C $(AND) \
mv y.tab.h $(@D)/$(<F).H $(AND) \
$(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
byacc -v $(YYPREFIX) -d $< && \
mv y.tab.c $(@D)/$(<F).C && \
mv y.tab.h $(@D)/$(<F).H && \
$(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@

View File

@ -1,5 +1,5 @@
SUFFIXES += .l
ltoo = $E $(call QUIET_MESSAGE,flex,$(<F)) \
$(WM_SCHEDULER) flex -f -o $(@D)/$(<F).c $< $(AND) \
$(cc) $(cFLAGS) -c $(@D)/$(<F).c -o $@
flex -f -o $(@D)/$(<F).c $< && \
$(WM_SCHEDULER) $(cc) $(cFLAGS) -c $(@D)/$(<F).c -o $@

View File

@ -2,10 +2,10 @@ SUFFIXES += .L .ll
# Use C++-aware Flex
Ltoo = $E $(call QUIET_MESSAGE,flex++,$(<F)) \
$(WM_SCHEDULER) flex -+ -f -o $(@D)/$(<F).C $< $(AND) \
$(CC) $(c++FLAGS) $(c++LESSWARN) -c $(@D)/$(<F).C -o $@
flex -+ -f -o $(@D)/$(<F).C $< && \
$(WM_SCHEDULER) $(CC) $(c++FLAGS) $(c++LESSWARN) -c $(@D)/$(<F).C -o $@
# Use regular (C) Flex, but compile result as C++
lltoo = $E $(call QUIET_MESSAGE,flex,$(<F)) \
$(WM_SCHEDULER) flex -f -o $(@D)/$(<F).cc $< $(AND) \
$(CC) $(c++FLAGS) $(c++LESSWARN) -c $(@D)/$(<F).cc -o $@
flex -f -o $(@D)/$(<F).cc $< && \
$(WM_SCHEDULER) $(CC) $(c++FLAGS) $(c++LESSWARN) -c $(@D)/$(<F).cc -o $@

View File

@ -37,11 +37,8 @@ ifeq (,$(WM_COMPILE_OPTION))
WM_COMPILE_OPTION = Opt
endif
ifeq (,$(WM_SCHEDULER))
AND = &&
else
AND = '&&'
endif
# Older macro for (shell) branching
AND := &&
include $(DEFAULT_RULES)/general
sinclude $(DEFAULT_RULES)/override

View File

@ -1,16 +1,16 @@
SUFFIXES += .ly .lyy .lyy-m4
lytoo = $E $(call QUIET_MESSAGE,lemon,$(<F)) \
$(WM_SCHEDULER) $(WM_SCRIPTS)/wrap-lemon -d$(@D) $< $(AND) \
$(cc) $(cFLAGS) -c $(@D)/$(*F).c -o $@
$(WM_SCRIPTS)/wrap-lemon -d$(@D) $< && \
$(WM_SCHEDULER) $(cc) $(cFLAGS) -c $(@D)/$(*F).c -o $@
lyytoo = $E $(call QUIET_MESSAGE,lemon,$(<F)) \
$(WM_SCHEDULER) $(WM_SCRIPTS)/wrap-lemon -d$(@D) -ecc $< $(AND) \
$(CC) $(c++FLAGS) -c $(@D)/$(*F).cc -o $@
$(WM_SCRIPTS)/wrap-lemon -d$(@D) -ecc $< && \
$(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $(@D)/$(*F).cc -o $@
# Retains intermediate m4-filtered files (-no-tmp to suppress)
lyy-m4too = $E $(call QUIET_MESSAGE,lemon-m4,$(<F)) \
$(WM_SCHEDULER) $(WM_SCRIPTS)/wrap-lemon -d$(@D) -ecc $< $(AND) \
$(CC) $(c++FLAGS) -c $(@D)/$(*F).cc -o $@
$(WM_SCRIPTS)/wrap-lemon -d$(@D) -ecc $< && \
$(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $(@D)/$(*F).cc -o $@
#------------------------------------------------------------------------------

View File

@ -1,5 +1,5 @@
SUFFIXES += .qt
qttoo = $E $(call QUIET_MESSAGE,moc,$(<F)) \
$(WM_SCHEDULER) $(QTDIR)/bin/moc -f $< $< -o $(@D)/$(<F).C $(AND) \
$(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
$(QTDIR)/bin/moc -f $< $< -o $(@D)/$(<F).C && \
$(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@

View File

@ -1,5 +1,5 @@
SUFFIXES += .rl
rltoo = $E $(call QUIET_MESSAGE,ragel,$(<F)) \
$(WM_SCHEDULER) ragel -G2 -o$(@D)/$(<F).cc $< $(AND) \
$(CC) $(c++FLAGS) $(c++LESSWARN) -c $(@D)/$(<F).cc -o $@
ragel -G2 -o$(@D)/$(<F).cc $< && \
$(WM_SCHEDULER) $(CC) $(c++FLAGS) $(c++LESSWARN) -c $(@D)/$(<F).cc -o $@

View File

@ -1,13 +1,13 @@
SUFFIXES += .y .Y
ytoo = $E $(call QUIET_MESSAGE,yacc,$(<F)) \
$(WM_SCHEDULER) yacc -v -d $< $(AND) \
mv y.tab.c $(@D)/$(<F).c $(AND) \
mv y.tab.h $(@D)/parser.h $(AND) \
$(CC) $(c++FLAGS) -c $(@D)/$(<F).c -o $@
yacc -v -d $< && \
mv y.tab.c $(@D)/$(<F).c && \
mv y.tab.h $(@D)/parser.h && \
$(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $(@D)/$(<F).c -o $@
Ytoo = $E $(call QUIET_MESSAGE,yacc,$(<F)) \
$(WM_SCHEDULER) yacc -v -d $< $(AND) \
mv y.tab.c $(@D)/$(<F).C $(AND) \
mv y.tab.h $(@D)/parser.H $(AND) \
$(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
yacc -v -d $< && \
mv y.tab.c $(@D)/$(<F).C && \
mv y.tab.h $(@D)/parser.H && \
$(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@