|
Packit |
fcad23 |
# ======================================================================
|
|
Packit |
fcad23 |
# $Source$
|
|
Packit |
fcad23 |
# $Revision$
|
|
Packit |
fcad23 |
# $Date$
|
|
Packit |
fcad23 |
# $Author$
|
|
Packit |
fcad23 |
# $Name$
|
|
Packit |
fcad23 |
# $State$
|
|
Packit |
fcad23 |
# ======================================================================
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
# Makefile for generating rpm package files (.rpm) for net-snmp.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
# GNU 'make'-specific features are used in this makefile.
|
|
Packit |
fcad23 |
# Other makes may or may not work with it.
|
|
Packit |
fcad23 |
# See http://www.gnu.org/manual/make/index.html for details.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
SHELL = /bin/sh
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
# Define the RPM package name
|
|
Packit |
fcad23 |
NAME = net-snmp
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
# Define the default RPM release number. Set by Version-Munge.pl
|
|
Packit |
fcad23 |
VERSION = 5.8
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
VERSION_TAG=`echo Ext-$(VERSION) | sed 's/\./-/g;'`
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
WITH_PERL=1
|
|
Packit |
fcad23 |
EMBED_PERL=1
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
# Define the RPM architecture, i.e., 'ppc', 'i386', etc.
|
|
Packit |
fcad23 |
ARCH = `uname -i`
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
# Directory structure expected by 'rpm' program
|
|
Packit |
fcad23 |
RPM_BASE := $(PWD)/rpm
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
RPM_TREE := \
|
|
Packit |
fcad23 |
$(RPM_BASE)/BUILD \
|
|
Packit |
fcad23 |
$(RPM_BASE)/RPMS \
|
|
Packit |
fcad23 |
$(RPM_BASE)/SOURCES \
|
|
Packit |
fcad23 |
$(RPM_BASE)/SPECS \
|
|
Packit |
fcad23 |
$(RPM_BASE)/SRPMS
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
.PHONY: all clean rpm_files binary_rpm source_rpm all_rpm
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
all: all_rpm_files
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
# Delete all generated files.
|
|
Packit |
fcad23 |
clean:
|
|
Packit |
fcad23 |
rm -rf $(RPM_BASE)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
# --------------------------------------------------------------------
|
|
Packit |
fcad23 |
# Macros and rules for updating net-snmp-x.x.x.tar.gz.
|
|
Packit |
fcad23 |
# 'rpm' expects a compressed archive (.tar.gz) of the source directory
|
|
Packit |
fcad23 |
# to exist (in the rpm/SOURCES directory) before it is run.
|
|
Packit |
fcad23 |
# --------------------------------------------------------------------
|
|
Packit |
fcad23 |
CVSROOT = :pserver:anonymous@net-snmp.cvs.sourceforge.net:/cvsroot/net-snmp
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
PKG_VER := $(NAME)-$(VERSION)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
GZIP_TAR := $(RPM_BASE)/SOURCES/$(PKG_VER).tar.gz
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
gzip_tar: $(GZIP_TAR)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$(GZIP_TAR):
|
|
Packit |
fcad23 |
@echo "Creating a compressed archive of the package's source files..."
|
|
Packit |
fcad23 |
(cd $(RPM_BASE)/SOURCES; \
|
|
Packit |
fcad23 |
cvs -d$(CVSROOT) login; \
|
|
Packit |
fcad23 |
cvs -z3 -d$(CVSROOT) export -r$(VERSION_TAG) $(NAME); \
|
|
Packit |
fcad23 |
mv $(NAME) $(PKG_VER); \
|
|
Packit |
fcad23 |
tar cf $(PKG_VER).tar $(PKG_VER); \
|
|
Packit |
fcad23 |
gzip $(PKG_VER).tar)
|
|
Packit |
fcad23 |
@echo "A compressed archive of the package's source-file tree has been created."
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
# --------------------------------------------------------------------
|
|
Packit |
fcad23 |
# Macros and rules for updating the binary and source RPM package files.
|
|
Packit |
fcad23 |
# --------------------------------------------------------------------
|
|
Packit |
fcad23 |
# Redefine '%_topdir' to allow an RPM package file to be built anywhere,
|
|
Packit |
fcad23 |
# instead of in the /usr/src/redhat directory tree.
|
|
Packit |
fcad23 |
#
|
|
Packit |
fcad23 |
# Don't want 'rpmbuild' to strip your executable programs?
|
|
Packit |
fcad23 |
# Then add this line:
|
|
Packit |
fcad23 |
# --define='_os_install_post /usr/lib/rpm/brp-compress' \
|
|
Packit |
fcad23 |
# to the RPM_OPTS macro definition. This will eliminate the
|
|
Packit |
fcad23 |
# stripping of binaries, but still retain the compression of
|
|
Packit |
fcad23 |
# manual pages.
|
|
Packit |
fcad23 |
#
|
|
Packit |
fcad23 |
ifeq ($(WITH_PERL),0)
|
|
Packit |
fcad23 |
PERLOPTS = --without perl_modules
|
|
Packit |
fcad23 |
endif
|
|
Packit |
fcad23 |
ifeq ($(EMBED_PERL),0)
|
|
Packit |
fcad23 |
PERLOPTS += --without embedded_perl
|
|
Packit |
fcad23 |
endif
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
RPM_OPTS := \
|
|
Packit |
fcad23 |
--define='_topdir $(RPM_BASE)' \
|
|
Packit |
fcad23 |
--define='_includedir /usr/include/net-snmp' \
|
|
Packit |
fcad23 |
--target $(ARCH) $(PERLOPTS)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
SPEC_FILE := $(NAME).spec
|
|
Packit |
fcad23 |
RPM_SPEC := $(RPM_BASE)/SPECS/$(SPEC_FILE)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
BINARY_RPM := $(RPM_BASE)/RPMS/$(ARCH)/$(PKG_VER)-$(RELEASE).$(ARCH).rpm
|
|
Packit |
fcad23 |
SOURCE_RPM := $(RPM_BASE)/SRPMS/$(PKG_VER)-$(RELEASE).src.rpm
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
rpm_files: $(GZIP_TAR) all_rpm_files
|
|
Packit |
fcad23 |
binary_rpm: $(BINARY_RPM)
|
|
Packit |
fcad23 |
source_rpm: $(SOURCE_RPM)
|
|
Packit |
fcad23 |
rpm_tree: $(RPM_TREE)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
all_rpm_files: $(RPM_TREE) $(RPM_SPEC)
|
|
Packit |
fcad23 |
(cd $(RPM_BASE)/SPECS; \
|
|
Packit |
fcad23 |
rpmbuild -ba $(RPM_OPTS) $(SPEC_FILE))
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$(BINARY_RPM): $(RPM_TREE) $(RPM_SPEC)
|
|
Packit |
fcad23 |
(cd $(RPM_BASE)/SPECS; \
|
|
Packit |
fcad23 |
rpmbuild -bb $(RPM_OPTS) $(SPEC_FILE))
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$(SOURCE_RPM): $(RPM_TREE) $(RPM_SPEC)
|
|
Packit |
fcad23 |
(cd $(RPM_BASE)/SPECS; \
|
|
Packit |
fcad23 |
rpmbuild -bs $(RPM_OPTS) $(SPEC_FILE))
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$(RPM_SPEC): $(RPM_BASE)/SPECS $(SPEC_FILE)
|
|
Packit |
fcad23 |
cp $(SPEC_FILE) $@
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$(RPM_TREE):
|
|
Packit |
fcad23 |
mkdir -p $@
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$(SPEC_FILE):
|
|
Packit |
fcad23 |
@echo "ERROR: missing '$(SPEC_FILE)' in the current directory"
|
|
Packit |
fcad23 |
@exit 1
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
FORCE:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
# === End of Makefile === #
|