cobol: Fix up cobol/{charmaps,valconv}.cc rules

sed -i is not portable, it is supported by GNU sed and perhaps some BSDs,
but not elsewhere.
Furthermore, I think it is far better to always use
 #include "../../libgcobol/something.h"
paths rather than something depending on the build directory.
And because we require GNU make, we don't have to have two different
rules for those, can use just one for both.
The l variable in there is just to make it fit into 80 columns.

2025-03-28  Jakub Jelinek  <jakub@redhat.com>

	* Make-lang.in (cobol/charmaps.cc, cobol/valconv.cc): Used sed -e
	instead of cp and multiple sed -i commands.  Always prefix libgcobol
	header names in #include directives with ../../libgcobol/ rather than
	something depending on $(LIB_SOURCE).
This commit is contained in:
Jakub Jelinek 2025-03-29 00:47:57 +01:00 committed by Jakub Jelinek
parent d9b56c65a2
commit ea46ef1d21

View file

@ -87,27 +87,10 @@ cobol1_OBJS = \
# Various #includes in the files copied from gcc/libgcobol need to be modified
# so that the .h files can be found.
cobol/charmaps.cc: $(LIB_SOURCE)/charmaps.cc
cp $^ $@
sed -i "s|\"ec[.]h\"|\"$(LIB_SOURCE)/ec.h\"|g" $@
sed -i "s|\"common-defs[.]h\"|\"$(LIB_SOURCE)/common-defs.h\"|g" $@
sed -i "s|\"io[.]h\"|\"$(LIB_SOURCE)/io.h\"|g" $@
sed -i "s|\"gcobolio[.]h\"|\"$(LIB_SOURCE)/gcobolio.h\"|g" $@
sed -i "s|\"gfileio[.]h\"|\"$(LIB_SOURCE)/gfileio.h\"|g" $@
sed -i "s|\"charmaps[.]h\"|\"$(LIB_SOURCE)/charmaps.h\"|g" $@
sed -i "s|\"valconv[.]h\"|\"$(LIB_SOURCE)/valconv.h\"|g" $@
sed -i "s|\"exceptl[.]h\"|\"$(LIB_SOURCE)/exceptl.h\"|g" $@
cobol/valconv.cc: $(LIB_SOURCE)/valconv.cc
cp $^ $@
sed -i "s|\"ec[.]h\"|\"$(LIB_SOURCE)/ec.h\"|g" $@
sed -i "s|\"common-defs[.]h\"|\"$(LIB_SOURCE)/common-defs.h\"|g" $@
sed -i "s|\"io[.]h\"|\"$(LIB_SOURCE)/io.h\"|g" $@
sed -i "s|\"gcobolio[.]h\"|\"$(LIB_SOURCE)/gcobolio.h\"|g" $@
sed -i "s|\"gfileio[.]h\"|\"$(LIB_SOURCE)/gfileio.h\"|g" $@
sed -i "s|\"charmaps[.]h\"|\"$(LIB_SOURCE)/charmaps.h\"|g" $@
sed -i "s|\"valconv[.]h\"|\"$(LIB_SOURCE)/valconv.h\"|g" $@
sed -i "s|\"exceptl[.]h\"|\"$(LIB_SOURCE)/exceptl.h\"|g" $@
cobol/charmaps.cc cobol/valconv.cc: cobol/%.cc: $(LIB_SOURCE)/%.cc
-l='ec\|common-defs\|io\|gcobolio\|gfileio\|charmaps'; \
l=$$l'\|valconv\|exceptl'; \
sed -e '/^#include/s,"\('$$l'\)\.h","../../libgcobol/\1.h",' $^ > $@
LIB_SOURCE_H=$(wildcard $(LIB_SOURCE)/*.h)