source: CMT/HEAD/mgr/requirements @ 522

Last change on this file since 522 was 522, checked in by rybkin, 15 years ago

See C.L. 409

  • Property svn:eol-style set to native
File size: 22.7 KB
Line 
1package CMT
2
3author arnault@lal.in2p3.fr
4
5tag CMTr15 CMTr14
6tag CMTr16 CMTr14
7tag CMTr18 CMTr16
8tag CMTr0  CMTr18
9
10#
11#  Automatic detection of some system features.
12#
13
14
15# Getting info on the hardware
16macro cmt_hardware_query_command "uname -m" \
17      Darwin "uname -p" \
18      SunOS "uname -p" \
19      HP-UX "uname -m | sed -e 's#/##g'"
20
21macro cmt_hardware `$(cmt_hardware_query_command)` WIN32 "WIN32"
22
23apply_tag $(cmt_hardware)
24
25
26# Getting info about the OS
27macro cmt_system_version_query_command "uname -r " \
28      Linux "${CMTROOT}/mgr/cmt_linux_version.sh" \
29      SunOS "uname -r | sed -e 's#^#sunos#'" \
30      OSF1  "uname -r | sed -e 's#^#OSF#'" \
31      Darwin "${CMTROOT}/mgr/cmt_mac_version.sh" \
32      HP-UX "uname -r | sed -e 's#^#hpux#'" \
33      CYGWIN "uname -r | sed -e 's#[(].*##' -e 's#^#Cygwin#'" \
34      LynxOS "uname -r | sed -e 's#^#LynxOS#'"
35
36macro_append cmt_system_version_query_command " | ${CMTROOT}/mgr/cmt_filter_version.sh" \
37             Linux " | ${CMTROOT}/mgr/cmt_filter1_version.sh" \
38             WIN32 ""
39
40macro cmt_system_version   `$(cmt_system_version_query_command)`   WIN32 "XP"
41
42apply_tag $(cmt_system_version)
43
44
45# Getting info about the C++ compiler
46macro cmt_compiler_version_query_command "${CMTROOT}/mgr/cmt_gcc_version.sh | grep '^gcc'" \
47      Linux "${CMTROOT}/mgr/cmt_gcc_version.sh" \
48      SunOS "${CMTROOT}/mgr/cmt_CC_version.sh" \
49      OSF1  "${CMTROOT}/mgr/cmt_cxx_version.sh" \
50      Darwin "${CMTROOT}/mgr/cmt_dcc_version.sh" \
51      HP-UX "echo aCC" \
52      LynxOS "${CMTROOT}/mgr/cmt_gcc_version.sh"
53
54macro_append cmt_compiler_version_query_command " | ${CMTROOT}/mgr/cmt_filter3_version.sh" \
55             Linux " | ${CMTROOT}/mgr/cmt_filter_version.sh" \
56             Darwin " | ${CMTROOT}/mgr/cmt_filter_version.sh" \
57             LynxOS " | ${CMTROOT}/mgr/cmt_filter_version.sh" \
58             WIN32 ""
59
60macro cmt_compiler_version `$(cmt_compiler_version_query_command)` WIN32 "cl"
61
62apply_tag $(cmt_compiler_version)
63
64tag OSF1           Unix
65tag Linux          Unix
66tag HP-UX          Unix
67tag Darwin         Unix
68tag LynxOS         Unix
69tag AIX            Unix
70tag SunOS          Unix
71
72tag CYGWIN_NT-5.1  Unix CYGWIN
73
74tag alpha          OSF1
75tag alpha_dux40    alpha
76tag alpha-debug    alpha debug
77
78tag LynxOS-VGPW2   LynxOS
79tag LynxOS-PowerPC LynxOS
80tag RIO806X        LynxOS
81tag VMTR2X         LynxOS
82
83tag hp9000s780     HP-UX
84tag hp9000s700     HP-UX
85tag hp700_ux101    HP-UX
86tag hp_ux102       HP-UX
87
88tag Linux-i686     Linux
89tag i386_redhat51  Linux
90tag i386_linux22   Linux
91
92tag rs_aix42       AIX
93
94tag sun4u          SunOS
95tag sun4x_57       SunOS
96
97tag rhel3          Linux
98tag cel3           Linux
99tag slc3           Linux
100
101# Alternate possible tags for VisualC
102tag VisualC        WIN32
103tag VisualC        Win32
104tag WIN32          VisualC
105
106# Some alternate definitions for debug on VisualC
107tag VisualCdbg     WIN32 windebug
108tag VisualD        WIN32 windebug
109tag VisualDbg      WIN32 windebug
110tag VisualDebug    WIN32 windebug
111tag VisualD        VisualC windebug
112tag VisualDbg      VisualC windebug
113tag Win32Debug     VisualC windebug
114
115# VSNET tags #
116tag VC7            vsnet
117tag VC7debug       vsnet windebug
118
119tag_exclude WIN32 Unix
120tag_exclude Win32 Unix
121
122#
123#  Global PATH variables management
124#
125
126path_remove  PATH      "CMT/v" \
127             WIN32     "CMT\v"
128
129path_prepend PATH      "${CMTROOT}/${CMTBIN}" \
130             WIN32     "%CMTROOT%\%CMTBIN%"
131
132path_remove  CLASSPATH  "CMT"
133path_append  CLASSPATH  "${CMTROOT}/java" \
134             WIN32      "%CMTROOT%\java"
135
136path_append include    ""
137path_append lib        ""
138
139macro debug_option "-g" \
140      SunOS        "-G" \
141      WIN32        "/G"
142
143#
144#  C environment
145#
146
147macro cc              "gcc" \
148      insure          "insure" \
149      alpha           "cc" \
150      alphat          "cc" \
151      HP-UX           "aCC" \
152      hp700_ux101     "gcc" \
153      AIX             "xlc" \
154      SunOS           "cc" \
155      VisualC         "cl.exe" \
156      Darwin          "cc"
157
158macro cdebugflags     "" \
159      debug           "$(debug_option)"
160
161macro cflags          "" \
162      LynxOS-VGPW2    "-X" \
163      insure          "-std1" \
164      HP-UX           "+Z" \
165      hp700_ux101     "-fpic -ansi" \
166      alpha           "-std1" \
167      alphat          "-std1" \
168      SunOS           "-KPIC" \
169      VisualC         '/nologo /DWIN32 /MD /W3 $(includes) /c'
170
171macro pp_cflags       "" \
172      LynxOS-VGPW2    "-DVGPW2" \
173      HP-UX           "-D_HPUX_SOURCE" \
174      alphat          "-DCTHREADS" \
175      AIX             "-D_ALL_SOURCE -D_BSD"
176
177macro ccomp           "$(cc) -c $(includes) $(cdebugflags) $(cflags) $(pp_cflags)" \
178      VisualC         "cl.exe $(cdebugflags) $(cflags) $(pp_cflags)"
179
180macro clinkflags      ""
181
182macro clink           "$(cc) $(clinkflags) $(cdebugflags)" \
183      VisualC         "link.exe /nologo /machine:IX86 "
184
185macro cdepflags "" \
186      c_native_dependencies&Linux       "-MM" \
187      c_native_dependencies&Darwin      "-MM" \
188      c_native_dependencies&VisualC     "/showIncludes /E"
189
190#
191#  Developper Studio environment
192#
193
194macro msdevdll          "" \
195      VisualC           "/dll"
196
197macro msdevdllflags   "" \
198      VisualC         '/MT /D "_USRDLL" /D "WDLL_EXPORTS"' \
199      VisualD         '/MTd /D "_USRDLL" /D "WDLL_EXPORTS"'
200
201macro vsCONFIG        "" \
202      VC7             "Release" \
203      VC7debug        "Debug"
204
205macro vsOptimize      "" \
206      VC7             "2" \
207      VC7debug        "0"
208
209macro devenv_command      "" \
210      VS&WIN32            "devenv /?"
211
212#
213#  C++ environment
214#
215
216macro ppcmd           "-I" \
217      rs_aix41        "-WF,-I" \
218      VisualC         "/I "
219
220macro preproc         "g++ -MD -c " \
221      insure          "insure" \
222      alpha           "cxx" \
223      OSF1            "g++" \
224      HP-UX           "aCC" \
225      hp700_ux101     "g++" \
226      hp_ux102        "aCC" \
227      AIX             "xlC" \
228      Linux           "c++ -MD -c " \
229      SunOS           "CC" \
230      VisualC         "cl.exe" \
231      Darwin          "c++"
232
233macro cpp             "g++" \
234      insure          "insure" \
235      alpha           "cxx" \
236      OSF1            "g++" \
237      HP-UX           "aCC" \
238      hp700_ux101     "g++" \
239      hp_ux102        "aCC" \
240      AIX             "xlC" \
241      Linux           "c++" \
242      SunOS           "CC" \
243      VisualC         "cl.exe" \
244      Darwin          "c++"
245
246macro cppdebugflags   "" \
247      debug           "$(debug_option)"
248
249macro cppflags        "" \
250      alpha           "-nocompress -std arm -msg_quiet" \
251      OSF1            "-fpic" \
252      hp9000s780      "+Z" \
253      hp700_ux101     "-fpic" \
254      HP-UX           "+Z -Wc,-ansi_for_scope,on" \
255      hp_ux102        "-z +p -Wc,-ansi_for_scope,on +O2 +Onoinitcheck" \
256      Linux           "-pipe -ansi -pedantic -W -Wall -Wwrite-strings -Wpointer-arith -Woverloaded-virtual " \
257      SunOS           "-KPIC" \
258      VisualC         '/nologo /DWIN32 /MD /W3 $(includes) /c /EHsc'
259
260macro pp_cppflags     "" \
261      HP-UX           "-D_HPUX_SOURCE" \
262      Linux           "-D_GNU_SOURCE"
263
264macro cppcomp         "$(cpp) -c $(includes) $(cppdebugflags) $(cppflags) $(pp_cppflags)" \
265      VisualC         "cl.exe $(cppdebugflags) $(cppflags) $(pp_cppflags)"
266
267macro cpplinkflags    ""
268
269macro cpplink         "$(cpp) $(cpplinkflags) $(cppdebugflags)" \
270      VisualC         "link.exe /nologo /machine:I386"
271
272macro cpp_linkopts    "" \
273      OSF1            " -lstdc++ " \
274      alpha           " /usr/lib/cmplrs/cxx/libcxx.a -lcxxstd -lexc -lm " \
275      alphat          " /usr/lib/cmplrs/cxx/libcxx.a -lcxxstd -lexc -lm "
276
277macro cppdepflags "" \
278      cpp_native_dependencies&Linux       "-MM" \
279      cpp_native_dependencies&Darwin      "-MM" \
280      cpp_native_dependencies&VisualC     "/showIncludes /E"
281
282#
283#  Fortran environment
284#
285
286macro for             "f77" \
287      HP-UX           "fort77" \
288      rs_aix41        "xlf" \
289      Linux           "g77"
290
291macro fflags          "$(debug_option)" \
292      VisualC         ""
293
294macro fcomp           "$(for) -c $(fincludes) $(fflags) $(pp_fflags)" \
295      VisualC         ""
296
297macro flink           "$(for) $(flinkflags)"
298
299#
300#  Java environment
301#
302
303macro javacomp        "javac -classpath $(src):$(CLASSPATH) "
304macro javacopy        "cp"    VisualC "copy"
305macro jar             "jar"
306
307#
308#  X11 environment
309#
310
311macro X11_cflags      "-I/usr/include" \
312      HP-UX           "-I/usr/include/X11R5" \
313      SunOS           "-I/usr/motif/usr/include" \
314      VisualC         ""
315
316macro Xm_cflags       "-I/usr/include" \
317      HP-UX           "-I/usr/include/Motif1.2" \
318      SunOS           "-I/usr/motif/usr/include" \
319      VisualC         ""
320
321####      hp9000s700      "/usr/lib/Motif1.2/libXm.sl /usr/lib/X11R5/libXt.sl /usr/lib/X11R5/libX11.sl"
322
323macro X_linkopts      ""\
324      alpha           "-lXm -lXmu -lXt -lXext -lX11 -ldnet_stub -lm -lots"\
325      OSF1            "-lXm -lXmu -lXt -lXext -lX11 -ldnet_stub -lm -lots"\
326      insure          "-lXm -lXmu -lXt -lXext -lX11 -ldnet_stub -lm -lots"\
327      HP-UX           "-L/usr/lib -lXm -L/usr/contrib/X11R6/lib -lXmu -lXt -lXext -lX11" \
328      SunOS           "-L/usr/motif/usr/lib -lXm -lXt -lX11 -lm"\
329      LynxOS          "-lXt -lX11 -lm"\
330      Linux           "-L/usr/X11R6/lib -lXm -lXt -lXext -lX11 -lm"\
331      RIO806X         "-lXm -lXt -lXext -lX11 -lm"\
332      VGPW2           "-lXm -lXt -lXext -lX11 -lm"\
333      m68k            "-lXm -lXt -lXext -lX11 -lm"\
334      IRIX            "/usr/lib/libXm.so /usr/lib/libXt.so /usr/lib/libX11.so -lm -lPW"\
335      AIX             "/usr/lib/libXm.a /usr/lib/libXt.a /usr/lib/libX11.a -lm" \
336      VisualC         ""
337
338#
339# Lex environment
340#
341
342macro lexflags        ""
343macro lex             "lex $(lexflags)" \
344      i686            "flex $(lexflags)"
345
346#
347# Yacc environment
348#
349
350macro yaccflags       " -l -d " \
351      VisualC         ""
352
353macro yacc            "yacc $(yaccflags)"
354
355#
356#  Archive environment
357#
358
359macro ar              "ar -clr" \
360      SunOS           "ar clr" \
361      VGPW2           "ar clr" \
362      m68k            "ar clr" \
363      LynxOS          "ar clr" \
364      RIO806X         "ar clr" \
365      Linux           "ar cr" \
366      Darwin          "libtool -static -o" \
367      VisualC         "lib.exe /nologo "
368
369macro ranlib          "ranlib" \
370      SunOS           "ar ts" \
371      VGPW2           "ar ts" \
372      m68k            "ranlib" \
373      RIO806X         "ranlib" \
374      LynxOS          "ar ts" \
375      IRIX            "ar ts" \
376      Darwin          ":"
377
378macro make_shlib    "echo" \
379      HP-UX         "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
380      OSF1          "${CMTROOT}/mgr/cmt_make_shlib_common.sh noextract" \
381      Linux         "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
382      CYGWIN        "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
383      SunOS         "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
384      Darwin        "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
385      VisualC       "%CMTROOT%\mgr\cmt_make_shlib.bat"
386
387macro shlibsuffix   "" \
388      HP-UX         "sl" \
389      OSF1          "so" \
390      SunOS         "so" \
391      Linux         "so" \
392      CYGWIN        "dll" \
393      Darwin        "dylib" \
394      WIN32         "dll"
395
396macro shlibbuilder  "" \
397      HP-UX         "aCC" \
398      OSF1          "ld" \
399      SunOS         "CC" \
400      Linux         "g++" \
401      CYGWIN        "g++" \
402      Darwin        "c++"
403
404macro shlibflags    "" \
405      HP-UX         "-Wl,-a,shared -b +Z -q -Wl,+s -Wl,+vallcompatwarnings" \
406      OSF1          "-shared -expect_unresolved '*'" \
407      Linux         "-shared" \
408      CYGWIN        "-shared" \
409      SunOS         "$(debug_option)" \
410      VisualC       "" \
411      Darwin        "-dynamiclib -flat_namespace -undefined suppress "
412
413macro symlink       "/bin/ln -fs " \
414      VisualC       ""
415
416macro symunlink     "/bin/rm -f " \
417      VisualC       ""
418
419macro library_install_command "${symlink}" \
420      VisualC                 "copy "
421
422macro build_library_links  "$(cmtexe) build library_links -tag=$(tags)"
423macro remove_library_links "$(cmtexe) remove library_links -tag=$(tags)"
424
425#
426# Prototype and dependency generation
427#
428
429macro cmtexe             "${CMTROOT}/${CMTBIN}/cmt.exe" \
430      WIN32              "%CMTROOT%\%CMTBIN%\cmt.exe"
431
432##macro tags               "$(CMTEXTRATAGS)"
433
434macro build_prototype    "$(cmtexe) build prototype"
435macro build_dependencies "$(cmtexe) -tag=$(tags) build dependencies"
436macro build_triggers     "$(cmtexe) build triggers"
437
438macro format_dependencies "" \
439      Linux        "${CMTROOT}/mgr/cmt_format_deps.sh" \
440      Darwin       "${CMTROOT}/mgr/cmt_format_deps.sh" \
441      VisualC      "%CMTROOT%\mgr\cmt_format_deps.bat"
442
443macro implied_library_prefix "-l" \
444      LynxOS                 "$(<PACKAGE>ROOT)/$(bin)/lib"
445
446macro implied_library_suffix "" \
447      VisualC                ".lib" \
448      LynxOS                 ".a"
449
450#
451# Generic environments
452#
453
454macro SHELL           "/bin/sh" WIN32 "cmd"
455
456macro q               '"'
457macro src             "../src/" WIN32 "..\src\"
458macro doc             "../doc/" WIN32 "..\doc\"
459macro inc             "../src/" WIN32 "..\src\"
460macro mgr             "../mgr/" WIN32 "..\mgr\"
461##macro javabin         "../classes/"
462
463macro application_suffix ".exe"
464macro library_prefix "lib" WIN32 "" CYGWIN ""
465macro library_suffix ""
466
467macro lock_command "" \
468      Linux        "lockfile " \
469      Darwin       "lockfile " \
470      VisualC      "%CMTROOT%\mgr\cmt_lockfile.bat "
471
472macro unlock_command "rm -rf " \   
473      VisualC        "rmdir "
474
475macro lock_name "cmt"
476macro lock_suffix ".lock"
477macro lock_file "${lock_name}${lock_suffix}"
478
479
480macro svn_checkout_command "" \
481      Linux        "python ${CMTROOT}/mgr/cmt_svn_checkout.py " \
482      Darwin       "python ${CMTROOT}/mgr/cmt_svn_checkout.py " \
483      VisualC      "python %CMTROOT%\mgr\cmt_svn_checkout.py "
484
485macro preprocessor_command "" \
486      VisualC              ""
487
488macro_append MAKEFLAGS " --no-print-directory "
489
490#macro_prepend constituents " configclean "
491
492#
493# Remote definitions
494#
495
496macro gmake_hosts "lx1 rsplus lxtest as7 dxplus ax7 hp2 aleph hp1 hpplus papou1-fe atlas"
497
498macro make_hosts  "virgo-control1 rio0a vmpc38a"
499
500macro everywhere  "hosts" \
501      LAL         "as7 lx1 virgo-control1 papou1-fe hp2 aleph hp1" \
502      LHCb        "lxtest hpplus dxplus rsplus" \
503      Atlas       "lxplus sundev" \
504      Cascina     "ax7 vmpc38a rio0a"
505
506
507#
508#  Fragments
509#
510
511make_fragment make_header
512make_fragment library_header
513make_fragment application_header
514make_fragment document_header
515make_fragment java_header
516make_fragment jar_header
517make_fragment protos_header
518make_fragment buildproto
519make_fragment library
520make_fragment library_no_share
521make_fragment library_no_static
522make_fragment application
523make_fragment jar
524make_fragment java
525make_fragment java_copy
526make_fragment cleanup_header
527make_fragment cleanup
528make_fragment cleanup_library
529make_fragment cleanup_application
530make_fragment cleanup_java
531make_fragment cleanup_objects
532
533make_fragment fortran
534make_fragment c
535make_fragment cpp
536make_fragment lex
537make_fragment yacc
538
539make_fragment fortran_library
540make_fragment c_library
541make_fragment cpp_library
542make_fragment lex_library
543make_fragment yacc_library
544
545make_fragment dsw_header
546make_fragment dsw_project
547make_fragment dsw_trailer
548make_fragment dsw_all_project_header
549make_fragment dsw_all_project_dependency
550make_fragment dsw_all_project_trailer
551
552make_fragment dsp_library_header
553make_fragment dsp_shared_library_header
554make_fragment dsp_application_header
555make_fragment dsp_windows_header
556make_fragment dsp_contents
557make_fragment dsp_trailer
558make_fragment dsp_all
559
560# vsnet fragments
561make_fragment vcproj_library_header
562make_fragment vcproj_application_header
563make_fragment vcproj_all
564make_fragment vcproj_trailer
565make_fragment vcproj_contents
566make_fragment vcproj_directory_header
567make_fragment vcproj_directory_trailer
568
569make_fragment sln_header
570make_fragment sln_project
571make_fragment sln_trailer
572make_fragment sln_project_config
573make_fragment sln_dependency_project
574
575make_fragment sln_dependency_header
576make_fragment sln_dependency_trailer
577
578#### all packages have same GUID, and the "all" project as well
579
580macro GUID_all     "" vsnet {DD1EDB1B-B098-44F8-8012-3039B5A56FEF}
581macro package_GUID "" vsnet {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}
582
583make_fragment make_setup
584make_fragment make_setup_header
585
586make_fragment constituents_header
587make_fragment group
588make_fragment constituent
589make_fragment constituent_lock
590make_fragment constituents_trailer
591
592make_fragment dependencies
593make_fragment dependencies_and_triggers
594
595make_fragment readme_header
596make_fragment readme
597make_fragment readme_doc
598make_fragment readme_use
599make_fragment readme_trailer
600
601make_fragment tex -header=tex_header -suffix=ps
602
603make_fragment check_application
604make_fragment check_java
605make_fragment check_application_header
606
607make_fragment application_launcher -header=application_launcher_header
608
609make_fragment install_includes -header=install_includes_header
610
611macro install_command "cp " \
612      WIN32           "xcopy /S /E /Y "
613
614macro uninstall_command "/bin/rm -f " \
615      WIN32             "del "
616
617macro cmt_installarea_command "ln -fs " \
618      WIN32                   "xcopy /S /E /Y "
619
620macro cmt_uninstallarea_command "/bin/rm -f " \
621      WIN32                     "del "
622
623macro cmt_install_area_command "$(cmt_installarea_command)"
624macro cmt_uninstall_area_command "$(cmt_uninstallarea_command)"
625
626macro cmt_install_action       "$(CMTROOT)/mgr/cmt_install_action.sh" \
627      WIN32                    "$(CMTROOT)\mgr\cmt_install_action.bat"
628
629macro cmt_installdir_action    "$(CMTROOT)/mgr/cmt_installdir_action.sh" \
630      WIN32                    "$(CMTROOT)\mgr\cmt_installdir_action.bat"
631
632macro cmt_uninstall_action     "$(CMTROOT)/mgr/cmt_uninstall_action.sh" \
633      WIN32                    "$(CMTROOT)\mgr\cmt_uninstall_action.bat"
634
635macro cmt_uninstalldir_action  "$(CMTROOT)/mgr/cmt_uninstalldir_action.sh" \
636      WIN32                    "$(CMTROOT)\mgr\cmt_uninstalldir_action.bat"
637
638macro cmt_installdir_excludes  "" WIN32 "$(CMTROOT)\mgr\cmt_installdir_excludes.txt"
639
640action make "gmake bin=$(bin) $(cmt_args)" Darwin "make bin=$(bin) $(cmt_args)" CYGWIN "make bin=$(bin) $(cmt_args)" WIN32 "nmake /f nmake $(cmt_args) bin=$(bin) "
641# with NMake (Version 7.10.3077), the first macro definition on the command line
642# takes precedence over the following (if any)
643
644macro mkdir  "mkdir" \
645      LynxOS "mkdir -f"
646
647#-----------------------------------------------------------------
648# Generic copy facility
649#   It is customized through the parameter:
650#     install_dir="<path where to install the sources>"
651#
652make_fragment installer -header=installer_header
653
654
655#-----------------------------------------------------------------
656# Generic usage of the cmt expand model facility
657#   the fragment is customized through the following parameters:
658#    model="<model text string>"
659#    out="<output file name>"
660#
661make_fragment generator -header=generator_header
662
663#-----------------------------------------------------------------
664# Generic action runner
665#
666make_fragment cmt_action_runner -header=cmt_action_runner_header
667
668#
669# The supported languages
670#
671
672language fortran -suffix=f -suffix=F -preprocessor_command=$(ppcmd) -linker=$(flink)
673language c       -suffix=c -prototypes -linker=$(clink) -dependencies_options=$(cdepflags)
674language c++     -suffix=C -suffix=cc -suffix=cxx -suffix=cpp -fragment=cpp -linker=$(cpplink) -dependencies_options=$(cppdepflags)
675language java    -suffix=java -linker=java
676language yacc    -suffix=y -prototypes -linker=$(clink)
677language lex     -suffix=l -prototypes -linker=$(clink)
678
679#
680# Protocol level for the CVS pluggin
681#
682
683macro cmt_cvs_protocol_level "v1r1"
684
685#
686# The CMTPATH patterns for installation areas
687#
688
689macro cmt_installarea_prefix "InstallArea"
690
691cmtpath_pattern \
692  macro cmt_installarea_paths        " $(cmt_installarea_prefix)/$(CMTCONFIG)/bin" ; \
693  macro_prepend use_linkopts         " $(cmt_installarea_linkopts) " ; \
694  macro_append shlibbuilder          " $(cmt_installarea_linkopts) "
695
696cmtpath_pattern \
697  macro_append cmt_installarea_paths "" <project>_with_installarea " $(<project>_installarea_prefix)/$(CMTCONFIG)/lib" ; \
698  macro_append cmt_installarea_paths "" <project>_with_installarea " $(<project>_installarea_prefix)/share/lib" ; \
699  macro_append cmt_installarea_paths "" <project>_with_installarea " $(<project>_installarea_prefix)/share/bin"
700 
701macro CMT_PATH_remove_regexp "/[^/]*/" WIN32 "\\[^\\]*\\"
702macro CMT_PATH_remove_share_regexp "/share/" WIN32 "\\share\\"
703
704cmtpath_pattern \
705  macro <project>_installarea_prefix "$(cmt_installarea_prefix)" ; \
706  macro <project>_installarea_prefix_remove "$(<project>_installarea_prefix)" ; \
707  path_remove_regexp PATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)$(CMT_PATH_remove_regexp)bin$" ; \
708  path_remove_regexp PATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)$(CMT_PATH_remove_regexp)lib$" ; \
709  path_remove_regexp LD_LIBRARY_PATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)/[^/]*/lib$"  ; \
710  path_remove_regexp CLASSPATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)$(CMT_PATH_remove_share_regexp)lib$" ; \
711  path_remove_regexp CLASSPATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)$(CMT_PATH_remove_share_regexp)bin$"
712
713cmtpath_pattern \
714  path_prepend PATH "" \
715               <project>_with_installarea&WIN32 "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/bin" \
716               <project>_with_installarea&Unix "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/bin" ; \
717  path_prepend PATH "" \
718               <project>_with_installarea&WIN32 "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/lib" \
719               <project>_with_installarea&CYGWIN "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/lib" ; \
720  path_prepend LD_LIBRARY_PATH "" \
721               <project>_with_installarea&Unix "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/lib" ; \
722  macro_prepend cmt_installarea_linkopts "" \
723                <project>_without_installarea "" \
724                <project>_with_installarea&Unix " -L<path>/$(<project>_installarea_prefix)/$(CMTCONFIG)/lib " \
725                <project>_with_installarea&WIN32 " /LIBPATH:<path>\$(<project>_installarea_prefix)\$(CMTCONFIG)\lib "                 
726   
727set NEWCMTCONFIG "${cmt_hardware}-${cmt_system_version}-${cmt_compiler_version}"
728
729#
730# The cmt constituent
731#
732
733application cmt -s=../source cmt.cxx \
734cmt_awk.cxx \
735cmt_branch.cxx \
736cmt_constituent.cxx \
737cmt_deps_builder.cxx \
738cmt_fragment.cxx \
739cmt_generator.cxx \
740cmt_include.cxx \
741cmt_parser.cxx \
742cmt_script.cxx \
743cmt_string.cxx \
744cmt_system.cxx \
745cmt_tag.cxx \
746cmt_use.cxx \
747cmt_symbol.cxx \
748cmt_error.cxx \
749cmt_pattern.cxx \
750cmt_language.cxx \
751cmt_vcs.cxx \
752cmt_group.cxx \
753cmt_database.cxx \
754cmt_lock.cxx \
755cmt_triggers.cxx \
756cmt_regexp.cxx \
757cmt_model.cxx \
758cmt_project.cxx \
759cmt_syntax.cxx \
760cmt_install_area.cxx \
761cmt_cmtpath_pattern.cxx \
762cmt_sequence.cxx \
763cmt_generators.cxx \
764cmt_scope_section.cxx \
765cmt_log.cxx \
766cmt_commands.cxx
767
768private
769
770macro all_constituents cmt
771
772macro_append cpplink "" VisualC " advapi32.lib "
Note: See TracBrowser for help on using the repository browser.