Changeset 488 for CMT


Ignore:
Timestamp:
Jan 30, 2009, 1:54:39 PM (15 years ago)
Author:
rybkin
Message:

See C.L. 383

Location:
CMT/HEAD
Files:
1 added
24 edited

Legend:

Unmodified
Added
Removed
  • CMT/HEAD/ChangeLog

    r487 r488  
     12009-01-30    <rybkin@lal.in2p3.fr> 383
     2       
     3        * source/cmt_generator.h: In class CmtGenerator, introuduce member
     4        m_HASDEPENDENCIES
     5        * source/cmt_generator.cxx: idem
     6        * source/cmt_generators.cxx: Depending on whether the constituent needs
     7        the generation of dependenicies, set m_HASDEPENDENCIES appropriately and
     8        fill the makefiles fragments with the value
     9        * mgr/fragments/nmake/constituent: Implement the generation of
     10        dependenicies depending on the files modifications rather than every time
     11        NMake is run
     12        * mgr/fragments/nmake/constituent_lock: idem
     13        * mgr/fragments/nmake/dependencies: idem
     14        * mgr/fragments/nmake/cpp: idem
     15        * mgr/fragments/nmake/cpp_library: idem
     16        * mgr/fragments/nmake/c: idem
     17        * mgr/fragments/nmake/c_library: idem
     18        * mgr/fragments/nmake/fortran: idem
     19        * mgr/fragments/nmake/fortran_library: idem
     20        * mgr/fragments/nmake/yacc: idem
     21        * mgr/fragments/nmake/yacc_library: idem
     22        * mgr/fragments/nmake/lex: idem
     23        * mgr/fragments/nmake/lex_library: idem
     24        * mgr/fragments/nmake/make_header: idem
     25        * mgr/fragments/nmake/constituents_trailer: Fix a typo
     26        * mgr/fragments/nmake/cmt_action_runner: Introduce NMake version of the
     27        file
     28        * mgr/requirements: Under Windows, build the stamps files for dependencies
     29        by default (as under Linux, Darwin)
     30        * mgr/cmt_format_deps.bat: Use the type command to create the stamps files
     31        * mgr/fragments/constituents_header: Introduce the makefiles target to only
     32        build all the makefiles
     33        * mgr/fragments/constituent: idem
     34        * mgr/fragments/constituent_lock: idem
     35       
    1362009-01-08    <rybkin@lal.in2p3.fr> 382
    237       
  • CMT/HEAD/mgr/cmt_format_deps.bat

    r483 r488  
    6666  set tmp=%dep%.tmp
    6767
    68   echo "">%stamptmp%
     68  type nul >%stamptmp%
    6969  if exist %tmp% del %tmp%
    7070  if not errorlevel 0 exit /b 1
  • CMT/HEAD/mgr/fragments/constituent

    r487 r488  
    6666#endif
    6767
     68makefiles : $(cmt_local_${CONSTITUENT}_makefile)
     69
    6870$(cmt_local_${CONSTITUENT}_makefile) : $(cmt_local_tagfile_${CONSTITUENT})
    6971        $(echo) "(constituents.make) Building ${CONSTITUENT}.make"; \
  • CMT/HEAD/mgr/fragments/constituent_lock

    r487 r488  
    6666#endif
    6767
     68makefiles : $(cmt_local_${CONSTITUENT}_makefile)
     69
    6870$(cmt_local_${CONSTITUENT}_makefile) : $(cmt_local_tagfile_${CONSTITUENT})
    6971        $(echo) "(constituents.make) Building ${CONSTITUENT}.make"; \
  • CMT/HEAD/mgr/fragments/constituents_header

    r487 r488  
    9797#       $(build_library_links)
    9898
     99makefiles : ;
     100
    99101.DEFAULT ::
    100102        $(echo) "(constituents.make) $@: No rule for such target" >&2
  • CMT/HEAD/mgr/fragments/nmake/c

    r487 r488  
    77!endif
    88
    9 ${CONSTITUENT} :: $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
     9dependencies : $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
     10#${CONSTITUENT} :: $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
    1011
    1112$(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d : $(use_requirements) $(cmt_final_setup_${CONSTITUENT})
     
    1920$(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.obj : ${FULLNAME}
    2021!else
     22$(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
     23
    2124$(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
    2225!endif
  • CMT/HEAD/mgr/fragments/nmake/c_library

    r487 r488  
    77!endif
    88
    9 ${CONSTITUENT} :: $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
     9dependencies : $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
     10#${CONSTITUENT} :: $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
    1011
    1112$(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d : $(use_requirements) $(cmt_final_setup_${CONSTITUENT})
     
    1920$(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.obj : ${FULLNAME}
    2021!else
     22$(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
     23
    2124$(bin)${CONSTITUENT}/${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
    2225!endif
  • CMT/HEAD/mgr/fragments/nmake/constituent

    r487 r488  
    6464#       $(echo) (constituents.nmake) ${CONSTITUENT}.nmake done
    6565
     66cmt_${CONSTITUENT}_${HASDEPENDENCIES} = 1
     67
     68!if defined (cmt_${CONSTITUENT}_has_dependencies)
     69
     70${CONSTITUENT}dependencies : $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile) dirs
     71        @set include=$(include)
     72        @set lib=$(lib)
     73        @$(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles dependencies tag=$(tag)
     74
     75${CONSTITUENT} :: ${CONSTITUENT}dependencies
     76!else
    6677${CONSTITUENT} :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile) dirs
     78!endif
    6779        $(echo) (constituents.nmake) Starting ${CONSTITUENT}
    6880        @set include=$(include)
  • CMT/HEAD/mgr/fragments/nmake/constituent_lock

    r487 r488  
    6464#       $(echo) (constituents.nmake) ${CONSTITUENT}.nmake done
    6565
     66cmt_${CONSTITUENT}_${HASDEPENDENCIES} = 1
     67
     68!if defined (cmt_${CONSTITUENT}_has_dependencies)
     69
     70${CONSTITUENT}dependencies : $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile) dirs
     71        @set include=$(include)
     72        @set lib=$(lib)
     73        @$(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles dependencies tag=$(tag)
     74
     75${CONSTITUENT} :: ${CONSTITUENT}dependencies
     76!else
    6677${CONSTITUENT} :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile) dirs
     78!endif
    6779        $(echo) (constituents.nmake) Creating ${CONSTITUENT}$(lock_suffix)
    6880        @$(lock_command) ${CONSTITUENT}$(lock_suffix)
  • CMT/HEAD/mgr/fragments/nmake/constituents_trailer

    r487 r488  
    44
    55remove_library_links ::
    6         $(echo) "(constituents.make) Removing library links"
     6        $(echo) "(constituents.nmake) Removing library links"
    77        @$(remove_library_links)
    88
     
    1616#binclean :: clean
    1717binclean ::
    18         $(echo) (constituents.make) Removing binary directory $(bin)
     18        $(echo) (constituents.nmake) Removing binary directory $(bin)
    1919        $(cleanup_silent)if not "$(bin)"==".\" (if exist $(bin) rmdir /S /Q $(bin))
    2020#       @del /Q $(bin)\*
  • CMT/HEAD/mgr/fragments/nmake/cpp

    r487 r488  
    77!endif
    88
    9 ${CONSTITUENT} :: $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
     9dependencies : $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
     10#${CONSTITUENT} :: $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
    1011
    1112$(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d : $(use_requirements) $(cmt_final_setup_${CONSTITUENT})
     
    1920$(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.obj : ${FULLNAME}
    2021!else
     22$(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
     23
    2124$(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
    2225!endif
  • CMT/HEAD/mgr/fragments/nmake/cpp_library

    r487 r488  
    77!endif
    88
    9 ${CONSTITUENT} :: $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
     9dependencies : $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
     10#${CONSTITUENT} :: $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
    1011
    1112$(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d : $(use_requirements) $(cmt_final_setup_${CONSTITUENT})
     
    1920$(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.obj : ${FULLNAME}
    2021!else
     22$(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
     23
    2124$(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
    2225!endif
  • CMT/HEAD/mgr/fragments/nmake/dependencies

    r487 r488  
    33!if "$(QUICK)" == ""
    44
    5 !if exist ("$(CMTROOT)/$(CMTBIN)/cmt.exe")
    6 !if [$(build_dependencies) ${CONSTITUENT} -all_sources -out:$(bin)${CONSTITUENT}_dependencies.nmake ${LINE}] == 0
    7 !endif
    8 !else
    9 !if [echo no cmt $(CMTROOT)/$(CMTBIN)/cmt.exe] == 0
    10 !endif
    11 !endif
     5#!if exist ("$(CMTROOT)/$(CMTBIN)/cmt.exe")
     6#!if [$(build_dependencies) ${CONSTITUENT} -all_sources -out:$(bin)${CONSTITUENT}_dependencies.nmake ${LINE}] == 0
     7#!endif
     8#!else
     9#!if [echo no cmt $(CMTROOT)/$(CMTBIN)/cmt.exe] == 0
     10#!endif
     11#!endif
     12
     13dependencies : $(bin)${CONSTITUENT}_dependencies.nmake
     14
     15$(bin)${CONSTITUENT}_dependencies.nmake : ${LINE} $(use_requirements) $(cmt_final_setup_${CONSTITUENT})
     16        $(echo) (${CONSTITUENT}.nmake) Rebuilding $@
     17        $(build_dependencies) ${CONSTITUENT} -all_sources -out:$@ ${LINE}
    1218
    1319!endif
  • CMT/HEAD/mgr/fragments/nmake/fortran

    r445 r488  
    11#-- start of fortran ------
     2
     3$(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
    24
    35$(bin)${CONSTITUENT}/${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
  • CMT/HEAD/mgr/fragments/nmake/fortran_library

    r445 r488  
    11#-- start of fortran_library ------
     2
     3$(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
    24
    35$(bin)${CONSTITUENT}/${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
  • CMT/HEAD/mgr/fragments/nmake/lex

    r459 r488  
    11#-- start of lex ------
     2
     3$(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
    24
    35$(bin)${CONSTITUENT}/${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
  • CMT/HEAD/mgr/fragments/nmake/lex_library

    r459 r488  
    11#-- start of lex_library ------
     2
     3$(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
    24
    35$(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
  • CMT/HEAD/mgr/fragments/nmake/make_header

    r487 r488  
    4848!if defined (cmt_${CONSTITUENT}_has_target_tag)
    4949
    50 cmt_final_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}.make
    51 #cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.make
     50cmt_final_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}.nmake
     51#cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.nmake
    5252
    5353!else
    5454
    55 cmt_final_setup_${CONSTITUENT} = $(bin)setup.make
    56 #cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.make
     55cmt_final_setup_${CONSTITUENT} = $(bin)setup.nmake
     56#cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.nmake
    5757
    5858!endif
    5959
    60 #cmt_final_setup = $(bin)setup.make
     60#cmt_final_setup = $(bin)setup.nmake
    6161
    6262#${CONSTITUENT} ::
     
    7979!endif
    8080
     81cmt_${CONSTITUENT}_${HASDEPENDENCIES} = 1
     82
     83!if defined (cmt_${CONSTITUENT}_has_dependencies)
     84
     85dependencies : ;
     86
     87!endif
    8188#-- end of make_header ------------------
  • CMT/HEAD/mgr/fragments/nmake/yacc

    r459 r488  
    11#-- start of yacc ------
     2
     3$(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
    24
    35$(bin)${CONSTITUENT}/${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
  • CMT/HEAD/mgr/fragments/nmake/yacc_library

    r459 r488  
    11#-- start of yacc_library ------
     2
     3$(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
    24
    35$(bin)${CONSTITUENT}/${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
  • CMT/HEAD/mgr/requirements

    r483 r488  
    433433      Linux        "${CMTROOT}/mgr/cmt_format_deps.sh" \
    434434      Darwin       "${CMTROOT}/mgr/cmt_format_deps.sh" \
    435       VisualC      "%CMTROOT%\mgr\cmt_format_deps.bat /no_stamps"
     435      VisualC      "%CMTROOT%\mgr\cmt_format_deps.bat"
    436436
    437437macro implied_library_prefix "-l" \
  • CMT/HEAD/source/cmt_generator.cxx

    r486 r488  
    8484  m_USEINCLUDES.set ("USEINCLUDES");
    8585  m_HASTARGETTAG.set ("HASTARGETTAG");
     86  m_HASDEPENDENCIES.set ("HASDEPENDENCIES");
    8687}
    8788
     
    122123  m_USEINCLUDES = "";
    123124  m_HASTARGETTAG = "";
     125  m_HASDEPENDENCIES = "";
    124126  m_PACKINCLUDES = "";
    125127  m_PACKOS9      = false;
  • CMT/HEAD/source/cmt_generator.h

    r483 r488  
    135135  Variable m_USEINCLUDES;
    136136  Variable m_HASTARGETTAG;
     137  Variable m_HASDEPENDENCIES;
    137138};
    138139
  • CMT/HEAD/source/cmt_generators.cxx

    r486 r488  
    528528    }
    529529   
     530  m_HASDEPENDENCIES = "has_dependencies";
     531
    530532  m_STRUCTURED_OUTPUT = "STRUCTURED_OUTPUT";
    531533
    532   make_header_fragment.copy (m_output_file, constituent.variables, 8,
     534  make_header_fragment.copy (m_output_file, constituent.variables, 9,
    533535                             &m_TITLE,
    534536                             &m_CONSTITUENT,
     
    538540                             &m_PACKAGE,
    539541                             &m_HASTARGETTAG,
     542                             &m_HASDEPENDENCIES,
    540543                             &m_STRUCTURED_OUTPUT
    541544                             );
     
    10211024    }
    10221025
    1023   make_header_fragment.copy (m_output_file, constituent.variables, 7,
     1026  m_HASDEPENDENCIES = fragment.need_dependencies () ? "has_dependencies" : "has_no_dependencies" ;
     1027
     1028  make_header_fragment.copy (m_output_file, constituent.variables, 8,
    10241029                             &m_TITLE,
    10251030                             &m_CONSTITUENT,
     
    10281033                             &m_DATE,
    10291034                             &m_PACKAGE,
    1030                              &m_HASTARGETTAG);
     1035                             &m_HASTARGETTAG,
     1036                             &m_HASDEPENDENCIES
     1037                             );
    10311038
    10321039  const cmt_string& header = fragment.header ();
     
    25822589            }
    25832590
     2591          switch (constituent.type)
     2592            {
     2593            case Application:
     2594              m_HASDEPENDENCIES = "has_dependencies";
     2595              break;
     2596            case Library:
     2597              m_HASDEPENDENCIES = "has_dependencies";
     2598              break;
     2599            case Document:
     2600              m_HASDEPENDENCIES = FragmentHandle (constituent.generator).need_dependencies () ? "has_dependencies" : "has_no_dependencies" ;
     2601              break;
     2602            }
     2603
    25842604          if (constituent.type == Document && lock == true)
    25852605            {
    25862606              constituent_lock_fragment.copy (m_output_file, constituent.variables,
    2587                                               5,
     2607                                              6,
    25882608                                              &m_PACKAGE,
    25892609                                              &m_CONSTITUENT,
    25902610                                              &m_CONSTITUENTSUFFIX,
    25912611                                              &m_LINE,
     2612                                              &m_HASDEPENDENCIES,
    25922613                                              &m_HASTARGETTAG);
    25932614            }
     
    25952616            {
    25962617              constituent_fragment.copy (m_output_file, constituent.variables,
    2597                                          5,
     2618                                         6,
    25982619                                         &m_PACKAGE,
    25992620                                         &m_CONSTITUENT,
    26002621                                         &m_CONSTITUENTSUFFIX,
    26012622                                         &m_LINE,
     2623                                         &m_HASDEPENDENCIES,
    26022624                                         &m_HASTARGETTAG);
    26032625            }
Note: See TracChangeset for help on using the changeset viewer.