rules-lib.x86-win32
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:4k
源码类别:

VxWorks

开发平台:

C/C++

  1. # rules-lib.x86-win32 - Host specific default definitions
  2. #
  3. # modification history
  4. # --------------------
  5. # 01o,18jul02,cjs  Replace -M flag with OPTION_DEPEND
  6. # 01n,12nov01,dbs  fix dependency-build warnings for C++ source
  7. # 01m,08nov01,tam  updated for repackaging
  8. # 01l,05jan99,fle  added the DOC_OPTS_XXX flags
  9. # 01k,25nov98,fle  made the man rule use DOC_BOOK and DOC_CHAPTER variables
  10. # 01j,10nov98,fle  removed unability to make man pages on Windows hosts
  11. #                  warning
  12. # 01i,02apr98,pcn  Removed Objcopy changes from Tempest view
  13. # 01h,03dec97,jmp  added synopsis rules
  14. # 01g,20feb97,yp   fixed for loop for *.s *.cpp wildcards
  15. # 01g,07feb97,cjs  changed '/' to '' in rule for $(TGT_DIR)lib$(LIBNAME)
  16. #    to fix spr 7859
  17. # 01f,07nov96,yp   prevented clean rule from stuffing vxrm with all files
  18. # 01e,07nov96,yp   added subdirs as phony target when SUBDIRS is null
  19. # 01d,10jul96,yp   changed for command to get list from make wildcard
  20. # 01c,08jul96,yp   stopped subshells so life will be good on WIN95
  21. # 01b,02jul96,yp   changed sed rule to not use esc chars, added $(SHELL)
  22. # 01a,07may96,yp   derived from rules.x86-win32
  23. #
  24. # DESCRIPTION
  25. #
  26. # This file contains the makefile rules that are specific to Windows to build
  27. # vxWorks libraries.  It is included by rules.library where rules common to
  28. # all hosts and the default rule exist. This file containes rules for managing
  29. # archives on Windows hosts using batch files. If the archive exists we
  30. # update it. If not we create it. The archive are created from where the 
  31. # object files exist to aviod including paths in the archive.
  32. #
  33. # The depency list is generated by target depend.$(CPU)$(TOOL) which creates
  34. # a dependency list for all files c,s and cpp suffixes.
  35. #
  36. # Sub directories to be built are expected to be defined in the SUBDIRS macor.
  37. # if it not defined the subdirs target is not seen.
  38. ifeq ($(LIBNAME),)
  39. LIBNAME = lib$(CPU)$(TOOL)vx.a
  40. endif
  41. LIBNAME_TOOLS = $(subst /,$(DIRCHAR),$(LIBNAME))
  42. LIBDIR_TOOLS = $(subst /,$(DIRCHAR),$(LIBDIR))
  43. lib:    $(TGT_DIR)lib$(LIBNAME)
  44. # If the string containing the list of files to delete becomes too large
  45. # DOS becomes unhappy. So we need to have make split up the list and call
  46. # $(RM) independantly for each file. We avoid conflict with builing vs 
  47. # cleaning by appending _clean to the list of objects, and strip it 
  48. # right before we remove it.
  49. clean: $(foreach file,$(subst /,$(DIRCHAR),$(LIBOBJS) $(LOCAL_CLEAN)),$(file)_clean)
  50. $(RM) depend.$(CPU)$(TOOL)
  51. $(foreach file,$(subst /,$(DIRCHAR),$(LIBOBJS) $(LOCAL_CLEAN)),$(file)_clean):
  52. $(RM) $(subst _clean,,$@)
  53. $(TGT_DIR)lib$(LIBNAME) : $(MAKE_LIBDIR) $(LIBOBJS)
  54. @ if exist $@ updateLib.bat $(CPU) $(TOOL)  
  55. $(AR) $(RANLIB) $(RM) $(TGT_DIR) $(LIBNAME_TOOLS) $(LIBDIR_TOOLS) $(notdir $?)
  56. @ if NOT exist $@ createLib.bat $(CPU)      
  57. $(TOOL) $(AR) $(RANLIB) $(RM) $(TGT_DIR) $(LIBNAME) $(LIBDIR)
  58. depend.$(CPU)$(TOOL) :
  59. @ $(RM) $@
  60. @ echo Creating depend.$(CPU)$(TOOL)
  61. ifneq ($(wildcard *.c),)
  62. @ for %f in ($(wildcard *.c)) do 
  63.     $(CC)  $(OPTION_DEPEND) $(CFLAGS) $(OPTION_OBJECT_ONLY) %f  
  64.     | $(TCL) $(BIN_DIR)depend.tcl $(TGT_DIR) >>$@ 
  65. endif
  66. ifneq ($(wildcard *.s),)
  67. @ for %f in ($(wildcard *.s)) do 
  68.     $(CPP) $(OPTION_DEPEND) $(CASFLAGS) %f 
  69.     | $(TCL) $(BIN_DIR)depend.tcl $(TGT_DIR) >>$@ 
  70. endif
  71. ifneq ($(wildcard *.cpp),)
  72. @ for %f in ($(wildcard *.cpp)) do 
  73.     $(CXX) $(OPTION_DEPEND) $(CFLAGS) %f 
  74.     | $(TCL) $(BIN_DIR)depend.tcl $(TGT_DIR) >>$@ 
  75. endif
  76. # if SUBDIRS is not null we need to build the subdirectories before building
  77. # the current directory.
  78. # if we have SUBDIRS
  79. ifneq ($(SUBDIRS),)
  80. subdirs : $(SUBDIRS)
  81. $(SUBDIRS)::
  82. $(MAKE) -C $@ CPU=$(CPU) TOOL=$(TOOL) $(TARGET)
  83. else
  84. subdirs :
  85. endif
  86. DOC_DIR = $(DOCS_ROOT)vxworksref
  87. man:
  88. $(BIN_DIR)/wtxtcl $(RESOURCE_DIR)/doctools/refgen.tcl $(DOC_OPTS) 
  89.     -book $(DOC_BOOK) -chapter $(DOC_CHAPTER) -out $(DOC_DIR) 
  90.     $(DOC_FILES)
  91. synopsis ::
  92. @ echo can't build synopsis resource files on Windows hosts
  93. exit (1)
  94. clean_synopsis ::
  95. @ echo can't build synopsis resource files on Windows hosts
  96. exit (1)