Hello Tom and all

A big thanks for the automatic dependencies patch.

I want to merge the current trunk into the MELT branch, and I have some trouble 
understanding how one should add new files into GCC (i.e. into a branch)

For the MELT branch, I just want to add gcc/melt-runtime.cc [which requires 
melt/generated/meltrunsup.h and melt-runtime.h and melt-predef.h headers); 
until now, 
I had the following rules in its gcc/Makefile.in i.e. in
http://gcc.gnu.org/viewcvs/gcc/branches/melt-branch/gcc/Makefile.in

#########
MELT_H= $(srcdir)/melt/generated/meltrunsup.h \
    $(srcdir)/melt-runtime.h \
    melt-predef.h 

MELT_RUNTIME_C= $(srcdir)/melt-runtime.cc

## file melt-runtime-params-inc.c is generated and #include-d in melt-runtime.cc
melt-runtime-params-inc.c: build/melt-make-string$(build_exeext) Makefile
        ./build/melt-make-string$(build_exeext) \
             melt_source_dir '$(melt_source_dir)' \
             melt_header_dir '$(melt_header_dir)' \
             melt_module_dir '$(melt_module_dir)' \
             melt_module_make_command '$(MAKE)' \
             melt_module_makefile '$(melt_installed_module_makefile)' \
             melt_module_cflags '$(melt_installed_cflags)' \
             melt_revision '$(shell echo -n $(REVISION_c) | tr -s [:space:] _)' 
\
             melt_default_probe '$(melt_default_probe)' \
             melt_default_modlis '$(melt_default_modules_list)' > $@-tmp
        mv $@-tmp $@


MELT_REVISION_STR := $(shell echo -n $(REVISION_c) | sed "s/ /_/g")

MELT_RUNTIME_CPPDEFS= \
          -DMELT_REVISION='\"$(MELT_REVISION_STR)\"' \
          -DMELT_GCC_VERSION=$(shell cat $(BASEVER) | $(AWK) 
'{split($$0,vertab,"."); printf "%d", vertab[1]*1000+vertab[2]}')

melt-runtime.args:  $(MELT_RUNTIME_C) melt-run-md5.h melt-runtime-params-inc.c 
$(C_COMMON_H) \
    $(CONFIG_H) $(SYSTEM_H) $(TIMEVAR_H) $(TM_H) $(TREE_H) \
    $(GGC_H) $(BASIC_BLOCK_H) $(GIMPLE_H) $(CFGLOOP_H) \
    tree-pass.h $(MELT_H) \
    $(srcdir)/melt/generated/meltrunsup.h \
    $(srcdir)/melt/generated/meltrunsup-inc.cc \
    gt-melt-runtime.h $(PLUGIN_H) $(TOPLEV_H) $(VERSION_H) \
     Makefile
        @echo '@@**@@' building melt-runtime.args
        @echo $(ALL_CFLAGS) $(ALL_CPPFLAGS) -I $(srcdir)/melt/generated/ \
          $(MELT_RUNTIME_CPPDEFS) > melt-runtime.args-tmp
        @echo " -I" $(realpath .) >> melt-runtime.args-tmp
        @echo " -I" $(realpath include) >> melt-runtime.args-tmp
        @echo " -I" $(realpath include-fixed) >> melt-runtime.args-tmp
        @echo $(realpath $(MELT_RUNTIME_C))  >> melt-runtime.args-tmp
        $(melt_move_if_change) melt-runtime.args-tmp melt-runtime.args
        @echo -n '@@**@@' melt-runtime.args: ; cat melt-runtime.args ; echo

melt-runtime.o:  $(MELT_RUNTIME_C) melt-run-md5.h melt-runtime-params-inc.c  
$(C_COMMON_H) \
    $(CONFIG_H) $(SYSTEM_H) $(TIMEVAR_H) $(TM_H) $(TREE_H) \
    $(GGC_H) $(BASIC_BLOCK_H) $(GIMPLE_H) $(CFGLOOP_H) \
    tree-pass.h $(MELT_H) \
    $(srcdir)/melt/generated/meltrunsup.h \
    $(srcdir)/melt/generated/meltrunsup-inc.cc \
    gt-melt-runtime.h $(PLUGIN_H) $(TOPLEV_H) $(VERSION_H) \
        | melt-runtime.args
        ls -l melt-runtime.args
        $(COMPILER) -c $(shell cat melt-runtime.args)  $(OUTPUT_OPTION)

#######

But I cannot figure out easily how to adapt these rules to the new Makefile.in 
infrastructure.

Do you have any insights, in particular hints generic enough to be valuable 
for other branches?

Perhaps adding a comment in the trunk's Makefile.in might be helpful too....

Regards.
-- 
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***

Reply via email to