home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / maketmpl < prev    next >
Text File  |  1997-06-02  |  4KB  |  141 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. # Copyright (c) 1993-1995 by Cadre Technologies Inc.
  4. #
  5. # This software is furnished under a license and may be used only in
  6. # accordance with the terms of such license and with the inclusion of
  7. # the above copyright notice. This software or any other copies thereof
  8. # may not be provided or otherwise made available to any other person.
  9. # No title to and ownership of the software is hereby transferred.
  10. #
  11. # The information in this software is subject to change without notice
  12. # and should not be construed as a commitment by Cadre Technologies Inc.
  13. #
  14. #---------------------------------------------------------------------------
  15. #
  16. #    File        : @(#)maketmpl    /main/hindenburg/1
  17. #    Original date    : 3-1993
  18. #    Description    : OMT/GEN generic makefile template
  19. #
  20. #---------------------------------------------------------------------------
  21. #
  22. # @(#)maketmpl    /main/hindenburg/1    2 Jun 1997 Copyright 1993-1995 Cadre Technologies
  23. #
  24. #---------------------------------------------------------------------------
  25.  
  26. SHELL=/bin/sh
  27.  
  28. .SUFFIXES:
  29. .SUFFIXES: .~$OBJ_EXT .cxx .ec .l .lxx .y .yxx
  30.  
  31. INCS =        -I~[location [m4_var get M4_home] include] ~[if {[file exists [location .. .. include]] && [file type [location .. .. include]] == "directory"} {$current_section append "-I[location .. .. include]"}]
  32. CLASSLIB =    ~[path_name concat [location [m4_var get M4_home] lib] libwmt4omt.$LIB_EXT]
  33. DEBUGFLAGS =    -g
  34. CXXFLAGS =    $(DEBUGFLAGS) $(INCS) \
  35.         ~[foreach sys [[$clientContext currentPhase] systemVersions] {$current_section append "-I[location .. [[$sys system] name]] "}]
  36. LDFLAGS =    -o $@
  37. LEXXXFLAGS =
  38. YACCXXFLAGS =    -d
  39. AR =        ar ruv
  40. CXX =        CC
  41. LD =        $(CXX)
  42. ESQLC =
  43. ESQLCFLAGS =
  44. LOCAL_LIB =        $(CLASSLIB)
  45.  
  46. #
  47. #    G E N E R A L   T A R G E T S
  48. #
  49.  
  50. # (default:) make all executables and libraries
  51. all:        ~[mm_files executable] ~[mm_files library]
  52.  
  53. # make all targets
  54. system:        ~[mm_files]
  55.  
  56. # install all executables and libraries
  57. install:    ~[mm_files executable install_] ~[mm_files library install_]
  58.  
  59. # clean all
  60. clean:    ~[mm_files $TGT_TYPES clean_]
  61.  
  62. # clobber all
  63. clobber:    ~[mm_files $TGT_TYPES clobber_]
  64.  
  65. #
  66. #    T A R G E T     T E M P L A T E     D E F I N I T I O N S
  67. #
  68.  
  69. #
  70. #    filetype "executable"
  71. #
  72. ~[mm_foreach_target executable {
  73.  
  74. ~[mm_obj_name] = ~[mm_dependencies - .$OBJ_EXT "\\\n\t"]
  75.  
  76. ~[mm_tgt_path]:    $(~[mm_obj_name]) ~[mm_dependencies library .$LIB_EXT]
  77.     $(LD) $(LDFLAGS) $(~[mm_obj_name]) ~[mm_dependencies library .$LIB_EXT] $(LOCAL_LIB) ~[if {[osIdentification] != "WIN"} {$current_section append "|| ($RMF_CMND ~[mm_tgt_path]; exit 1)"}]
  78.  
  79. install_~[mm_tgt_path]: ~[mm_tgt_path]
  80.     ~$CP_CMND ~[mm_tgt_path] ~[mm_install_path $target]
  81.  
  82. clean_~[mm_tgt_path]:
  83.     ~$RMF_CMND $(~[mm_obj_name])
  84.  
  85. clobber_~[mm_tgt_path]: clean_~[mm_tgt_path]
  86.     ~$RMF_CMND ~[mm_tgt_path]
  87. }]
  88.  
  89.  
  90. #
  91. #    filetype "library"
  92. #
  93. ~[mm_foreach_target library {
  94.  
  95. ~[mm_obj_name] = ~[mm_dependencies - .$OBJ_EXT "\\\n\t"]
  96.  
  97. ~[mm_tgt_path]:    $(~[mm_obj_name])
  98.     $(AR) ~[mm_tgt_path] $(~[mm_obj_name])
  99.     ~[mm_process_lib [mm_tgt_path]]
  100.  
  101. install_~[mm_tgt_path]: ~[mm_tgt_path]
  102.     ~$CP_CMND ~[mm_tgt_path] ~[mm_install_path $target]
  103.     ~[mm_process_lib [mm_install_path $target]]
  104.  
  105. clean_~[mm_tgt_path]:
  106.     ~$RMF_CMND $(~[mm_obj_name])
  107.  
  108. clobber_~[mm_tgt_path]: clean_~[mm_tgt_path]
  109.     ~$RMF_CMND ~[mm_tgt_path]
  110. }]
  111.  
  112. #
  113. #    R U L E S
  114. #
  115. .cxx.~$OBJ_EXT:
  116.     $(CXX) $(CXXFLAGS) -c $<
  117.  
  118. .ec.~$OBJ_EXT:
  119.     $(ESQLC) $(ESQLCFLAGS) $< ~[if {[osIdentification] != "WIN"} {$current_section append "|| ($RMF_CMND $*.c; exit 1)"}]
  120.     ~$MV_CMND $*.c $*.cxx
  121.     $(CXX) $(CXXFLAGS) -c $*.cxx ~[if {[osIdentification] != "WIN"} {$current_section append "|| ($RMF_CMND $*.cxx; exit 1)"}]
  122.     ~$RMF_CMND $*.cxx
  123.  
  124. .yxx.~$OBJ_EXT:
  125.     yacc++ $(YACCXXFLAGS) $<
  126.     ~$MV_CMND y.tab.c $*.cxx
  127.     $(CXX) $(CXXFLAGS) -c $*.cxx
  128.  
  129. .lxx.~$OBJ_EXT:
  130.     lex++ $(LEXXXFLAGS) $<
  131.     ~$MV_CMND lex.yy.c $*.cxx
  132.     $(CXX) $(CXXFLAGS) -c $*.cxx
  133.  
  134. depend:
  135.     mkdep -c "ccminm $(CXX) -E $(CXXFLAGS)" *.scxx *.cxx > depend.h
  136.  
  137. #
  138. #    D E P E N D E N C I E S
  139. #
  140. ~[mm_all_deps]
  141.