Makefile
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:4k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. # ======================================================================
  2. # $Source: /cvsroot/net-snmp/net-snmp/dist/Makefile,v $
  3. # $Revision: 1.8.2.8 $
  4. # $Date: 2005/11/29 05:34:05 $
  5. # $Author: hardaker $
  6. # $Name: Ext-5-2-2 $
  7. # $State: Exp $
  8. # ======================================================================
  9. # Makefile for generating rpm package files (.rpm) for net-snmp.
  10. # GNU 'make'-specific features are used in this makefile.
  11. # Other makes may or may not work with it.
  12. # See http://www.gnu.org/manual/make/index.html for details.
  13. SHELL = /bin/sh
  14. # Define the RPM package name
  15. NAME = net-snmp
  16. # Define the default RPM release number. Set by VersionMunge.pl
  17. VERSION = 5.2.2
  18. VERSION_TAG=`echo Ext-$(VERSION) | sed 's/./-/g;'`
  19. WITH_PERL=1
  20. EMBED_PERL=0
  21. # Define the RPM architecture, i.e., 'noarch', 'i386', 'i686', etc.
  22. ARCH = `uname -m`
  23. # Directory structure expected by 'rpm' program
  24. RPM_BASE := $(PWD)/rpm
  25. RPM_TREE := 
  26.     $(RPM_BASE)/BUILD 
  27.     $(RPM_BASE)/RPMS 
  28.     $(RPM_BASE)/SOURCES 
  29.     $(RPM_BASE)/SPECS 
  30.     $(RPM_BASE)/SRPMS
  31. .PHONY: all clean rpm_files binary_rpm source_rpm all_rpm
  32. all: all_rpm_files
  33. # Delete all generated files.
  34. clean:
  35. rm -rf $(RPM_BASE)
  36. # --------------------------------------------------------------------
  37. # Macros and rules for updating net-snmp-x.x.x.tar.gz.
  38. # 'rpm' expects a compressed archive (.tar.gz) of the source directory
  39. # to exist (in the rpm/SOURCES directory) before it is run.
  40. # --------------------------------------------------------------------
  41. CVSROOT = :pserver:anonymous@cvs.net-snmp.sourceforge.net:/cvsroot/net-snmp
  42. PKG_VER := $(NAME)-$(VERSION)
  43. GZIP_TAR := $(RPM_BASE)/SOURCES/$(PKG_VER).tar.gz
  44. gzip_tar: $(GZIP_TAR)
  45. $(GZIP_TAR):
  46. @echo "Creating a compressed archive of the package's source files..."
  47. (cd $(RPM_BASE)/SOURCES; 
  48. cvs -d$(CVSROOT) login; 
  49. cvs -z3 -d$(CVSROOT) export -r$(VERSION_TAG) $(NAME); 
  50. mv $(NAME) $(PKG_VER); 
  51. tar cf $(PKG_VER).tar $(PKG_VER); 
  52. gzip $(PKG_VER).tar)
  53. @echo "A compressed archive of the package's source-file tree has been created."
  54. # --------------------------------------------------------------------
  55. # Macros and rules for updating the binary and source RPM package files.
  56. # --------------------------------------------------------------------
  57. # Redefine '%_topdir' to allow an RPM package file to be built anywhere,
  58. # instead of in the /usr/src/redhat directory tree.
  59. #
  60. # Don't want 'rpmbuild' to strip your executable programs?
  61. # Then add this line:
  62. #   --define='_os_install_post /usr/lib/rpm/brp-compress' 
  63. # to the RPM_OPTS macro definition.  This will eliminate the 
  64. # stripping of binaries, but still retain the compression of
  65. # manual pages.
  66. #
  67. ifeq ($(WITH_PERL),1)
  68. PERLOPTS = --with perl_modules
  69. endif
  70. ifeq ($(EMBED_PERL),1)
  71. PERLOPTS += --with embedded_perl
  72. endif
  73. RPM_OPTS := 
  74.     --define='_topdir $(PWD)/rpm' 
  75.     --define='_includedir /usr/include/net-snmp' 
  76.     --target $(ARCH) $(PERLOPTS)
  77. SPEC_FILE  := $(NAME).spec
  78. RPM_SPEC   := $(RPM_BASE)/SPECS/$(SPEC_FILE)
  79. BINARY_RPM := $(RPM_BASE)/RPMS/$(ARCH)/$(PKG_VER)-$(RELEASE).$(ARCH).rpm
  80. SOURCE_RPM := $(RPM_BASE)/SRPMS/$(PKG_VER)-$(RELEASE).src.rpm
  81. rpm_files: $(GZIP_TAR) all_rpm_files
  82. binary_rpm: $(BINARY_RPM)
  83. source_rpm: $(SOURCE_RPM)
  84. rpm_tree: $(RPM_TREE)
  85. all_rpm_files: $(RPM_TREE) $(RPM_SPEC)
  86. (cd $(RPM_BASE)/SPECS; 
  87. rpmbuild -ba $(RPM_OPTS) $(SPEC_FILE))
  88. $(BINARY_RPM): $(RPM_TREE) $(RPM_SPEC)
  89. (cd $(RPM_BASE)/SPECS; 
  90. rpmbuild -bb $(RPM_OPTS) $(SPEC_FILE))
  91. $(SOURCE_RPM): $(RPM_TREE) $(RPM_SPEC)
  92. (cd $(RPM_BASE)/SPECS; 
  93. rpmbuild -bs $(RPM_OPTS) $(SPEC_FILE))
  94. $(RPM_SPEC): $(RPM_BASE)/SPECS $(SPEC_FILE)
  95. cp $(SPEC_FILE) $@
  96. $(RPM_TREE):
  97. mkdir -p $@
  98. $(SPEC_FILE):
  99. @echo "ERROR: missing '$(SPEC_FILE)' in the current directory"
  100. @exit 1
  101. FORCE:
  102. # === End of Makefile === #