Not sure how can add deprecation message here - so adding this message to 'changes' doc
https://gitlab.com/petsc/petsc/-/merge_requests/6382 Satish On Wed, 26 Apr 2023, Satish Balay via petsc-dev wrote: > On Wed, 26 Apr 2023, Barry Smith wrote: > > > > > > > Urg, so user makefiles that worked for 25+ years suddenly don't work and > > that is ok? No deprecation message as Jed would have liked? > > I think I raised this issue when 'CFLAGS = ' stuff was removed from all > makefiles. > > You can view this change as a necessary fix for above cleanup change.. > > Don't know if there is gnumake syntax where the reset in > PETSC_ARCH/lib/conf/petscvaribales can selectively reset only on env variable > - but not prior make variable > > Right now the fix is to move the 'CFLAGS' line after the the 'include' line > > Satish > > > > > So it is from > > # Avoid picking CFLAGS etc from env - but support 'make CFLAGS=-Werror' > > etc.. > > self.addMakeMacro('CFLAGS','') > > self.addMakeMacro('CPPFLAGS','') > > self.addMakeMacro('CXXFLAGS','') > > self.addMakeMacro('CXXPPFLAGS','') > > self.addMakeMacro('FFLAGS','') > > self.addMakeMacro('FPPFLAGS','') > > self.addMakeMacro('CUDAFLAGS','') > > self.addMakeMacro('CUDAPPFLAGS','') > > self.addMakeMacro('HIPFLAGS','') > > self.addMakeMacro('HIPPPFLAGS','') > > self.addMakeMacro('SYCLFLAGS','') > > self.addMakeMacro('SYCLPPFLAGS','') > > self.addMakeMacro('LDFLAGS','') > > > > What was "from env" suppose to mean? You mean environmental variables? > > > > Is there some other way of not automatically using the environmental > > variables that doesn't break 25 years of user makefile? Since these things > > all require GNUmake is there some GNUmake-ish way to hand this without > > breaking current makefiles? > > > > > > > > > > > On Apr 26, 2023, at 5:34 PM, Satish Balay <ba...@mcs.anl.gov> wrote: > > > > > > Well we wanted to always have CFLAGS initialized by configure [to ignore > > > stuff from env]. > > > > > > So now - if we are setting in makefile - it has to be set after this > > > default is set - i.e after the line: > > > > > > include ${PETSC_DIR}/lib/petsc/conf/variables > > > > > > Or do: > > > > > > make CFLAGS=garbase ex1 > > > > > > There might be a different bug lurking here.. > > > > > > -PETSC_CCOMPILE_SINGLE = ${CC} -o $*.o -c ${CC_FLAGS} ${FLAGS} > > > ${CPPFLAGS} > > > +PETSC_CCOMPILE_SINGLE = ${CC} -o $*.o -c ${CC_FLAGS} ${CFLAGS} > > > ${CPPFLAGS} > > > > > > Satish > > > > > > On Wed, 26 Apr 2023, Barry Smith wrote: > > > > > >> > > >> $ make ex1 > > >> mpicc -Wl,-bind_at_load -Wl,-multiply_defined,suppress > > >> -Wl,-multiply_defined -Wl,suppress -Wl,-commons,use_dylibs > > >> -Wl,-search_paths_first -Wl,-no_compact_unwind -Wall -Wwrite-strings > > >> -Wno-unknown-pragmas -Wno-lto-type-mismatch -Wno-stringop-overflow > > >> -fvisibility=hidden -g3 -O0 -I/Users/barrysmith/Src/petsc/include > > >> -I/Users/barrysmith/Src/petsc/arch-release/include -I/opt/X11/include > > >> ex1.c -Wl,-rpath,/Users/barrysmith/Src/petsc/arch-release/lib > > >> -L/Users/barrysmith/Src/petsc/arch-release/lib -Wl,-rpath,/opt/X11/lib > > >> -L/opt/X11/lib > > >> -Wl,-rpath,/Users/barrysmith/soft/mpich-clang-gfortran-opt/lib > > >> -L/Users/barrysmith/soft/mpich-clang-gfortran-opt/lib > > >> -Wl,-rpath,/opt/homebrew/Cellar/gcc/12.2.0/lib/gcc/current/gcc/aarch64-apple-darwin22/12 > > >> > > >> -L/opt/homebrew/Cellar/gcc/12.2.0/lib/gcc/current/gcc/aarch64-apple-darwin22/12 > > >> -Wl,-rpath,/opt/homebrew/Cellar/gcc/12.2.0/lib/gcc/current/gcc > > >> -L/opt/homebrew/Cellar/gcc/12.2.0/lib/gcc/current/gcc > > >> -Wl,-rpath,/opt/homebrew/Cellar/gcc/12 .2 > .0/lib/g > cc/current -L/opt/homebrew/Cellar/gcc/12.2.0/lib/gcc/current -lpetsc > -llapack -lblas -lX11 -lmpifort -lmpi -lpmpi -lgfortran -lemutls_w -lquadmath > -lstdc++ -lquadmath -o ex1 > > >> ~/Src/petsc/src/snes/tutorials (release *=) arch-release > > >> $ more makefile > > >> -include ../../../petscdir.mk > > >> > > >> MANSEC = SNES > > >> EXAMPLESMATLAB = ex5m.m ex29view.m > > >> DIRS = ex10d network > > >> CLEANFILES = ex5f90t > > >> CFLAGS = garbage > > >> > > >> > > >> The new stuff in variables PETSC_COMPILE_SINGLE = ${PCC} -o $*.o -c > > >> ${PCC_FLAGS} ${${CLANGUAGE}FLAGS} ${CCPPFLAGS} with the recursive use > > >> of $ doesn't work? This is on my Mac but Get also has the problem on > > >> Polaris > > >