diff --git a/gcc/cobol/.gitignore b/gcc/cobol/.gitignore index 4c805d51bb19943e856904329ed2d078d304c0ce..514f368b30a94778a18659e0ab9bbbc981741298 100644 --- a/gcc/cobol/.gitignore +++ b/gcc/cobol/.gitignore @@ -10,3 +10,5 @@ nist/obj dump.txt .gawk_history .gawkrc +charmaps-copy.cc +valconv-copy.cc diff --git a/gcc/cobol/Make-lang.in b/gcc/cobol/Make-lang.in index 6a57585a729a5bbd1fda4528f749b9c5d7bbae2e..57ef7a460db2ae937f61891a614c3aab5317b139 100644 --- a/gcc/cobol/Make-lang.in +++ b/gcc/cobol/Make-lang.in @@ -91,11 +91,27 @@ cobol_one_OBJS = \ cobol/symbols.o \ cobol/symfind.o \ cobol/util.o \ - cobol/valconv.o \ - cobol/charmaps.o \ + cobol/charmaps-copy.o \ + cobol/valconv-copy.o \ $(END) -# cobol/charutf8.o \ +cobol_OBJS_FROM_LIBGCOBOL = \ + cobol/charmaps-copy.o \ + cobol/valconv-copy.o \ + $(END) + +# +# There is source code in libgcobol/charmaps.cc and libgcobol/valconv.cc +# that needs to be compiled, as well, into cobol1. The following recipes +# make copies of those two source code files into the gcc/cobol tree: +# +../../gcc/cobol/charmaps-copy.cc: ../libgcobol/charmaps.cc + echo "// DO NOT EDIT THIS FILE. It was copied from the libgcobol directory." > $@ + cat $< >> $@ + +../../gcc/cobol/valconv-copy.cc: ../libgcobol/valconv.cc + echo "// DO NOT EDIT THIS FILE. It was copied from the libgcobol directory." > $@ + cat $< >> $@ # # These are the object files for creating the gcobol.exe "driver" @@ -110,6 +126,7 @@ GCOBOL_D_OBJS = $(GCC_OBJS) cobol/gcobolspec.o # cobol_OBJS = \ + $(cobol_OBJS_FROM_LIBGCOBOL) \ $(cobol_one_OBJS) \ cobol/gcobolspec.o \ $(END) @@ -127,6 +144,7 @@ CFLAGS-cobol/gcobolspec.o += $(DRIVER_DEFINES) gcobol$(exeext): \ $(GCOBOL_D_OBJS) \ $(EXTRA_GCC_OBJS) \ + $(cobol_OBJS_FROM_LIBGCOBOL) \ libcommon-target.a \ $(LIBDEPS) +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \ @@ -155,7 +173,8 @@ cobol/scan.o: cobol/parse.c # cobol/parse.h # parse.h gets built along with pars # And the cobol1.exe front end -cobol1$(exeext): $(cobol_one_OBJS) $(BACKEND) $(LIBDEPS) attribs.o +cobol1$(exeext): $(cobol_one_OBJS) $(cobol_OBJS_FROM_LIBGCOBOL) \ + $(BACKEND) $(LIBDEPS) attribs.o +$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) attribs.o -o $@ \ $(cobol_one_OBJS) $(BACKEND) $(LIBS) $(BACKENDLIBS) @@ -209,7 +228,10 @@ cobol.man: cobol.mostlyclean: cobol.clean: - rm -fr cobol1 cobol/* ../*/libgcobol/* + rm -fr cobol1 cobol/* \ + ../*/libgcobol/* \ + ../../gcc/cobol/charmaps-copy.cc \ + ../../gcc/cobol/valconv-copy.cc \ cobol.distclean: diff --git a/libgcobol/Makefile.in b/libgcobol/Makefile.in index 22d7479b9427f6374ab3d1e37425ba2bfee5c1cb..270fac24c188b237b8e8f3c0ab2d40febacf08ef 100644 --- a/libgcobol/Makefile.in +++ b/libgcobol/Makefile.in @@ -129,8 +129,8 @@ C_SOURCE_FILES = \ io.cc \ libgcobol.cc \ constants.cc \ - ../gcc/cobol/charmaps.cc \ - ../gcc/cobol/valconv.cc \ + charmaps.cc \ + valconv.cc \ $(END) # Object files to link (when the library is linked with no GC (Garbage diff --git a/gcc/cobol/charmaps.cc b/libgcobol/charmaps.cc similarity index 100% rename from gcc/cobol/charmaps.cc rename to libgcobol/charmaps.cc diff --git a/gcc/cobol/valconv.cc b/libgcobol/valconv.cc similarity index 100% rename from gcc/cobol/valconv.cc rename to libgcobol/valconv.cc