Hi,

This is a small Makefile to automate the generation of Alsa RPMs. It was 
made in RHL 7.2 but there should be no problem with other distros.

I hope you find it interesting. Please feel free to contact me if you have 
any problem or suggestions.

Regards,

Jose Fonseca
# Makefile to automate the build of Alsa RPMs



# Variables definition

VERSION = 0.9.0beta10

ALSA_DRIVER = alsa-driver-$(VERSION)
ALSA_LIB = alsa-lib-$(VERSION)a
ALSA_UTILS = alsa-utils-$(VERSION)a

ALSA_PACKAGE_SUFFIX = .tar.bz2
ALSA_DRIVER_PACKAGE = $(ALSA_DRIVER)$(ALSA_PACKAGE_SUFFIX)
ALSA_LIB_PACKAGE = $(ALSA_LIB)$(ALSA_PACKAGE_SUFFIX)
ALSA_UTILS_PACKAGE = $(ALSA_UTILS)$(ALSA_PACKAGE_SUFFIX)

ALSA_PACKAGE_URL = ftp://ftp.alsa-project.org/pub/
ALSA_DRIVER_PACKAGE_URL = $(ALSA_PACKAGE_URL)driver/$(ALSA_DRIVER_PACKAGE)
ALSA_LIB_PACKAGE_URL = $(ALSA_PACKAGE_URL)lib/$(ALSA_LIB_PACKAGE)
ALSA_UTILS_PACKAGE_URL = $(ALSA_PACKAGE_URL)utils/$(ALSA_UTILS_PACKAGE)

RPMS = /usr/src/redhat/RPMS
ARCH=i386
ALSA_DRIVER_RPM = $(RPMS)/$(ARCH)/$(ALSA_DRIVER)-1.$(ARCH).rpm
ALSA_LIB_RPM = $(RPMS)/$(ARCH)/$(ALSA_LIB)-1.$(ARCH).rpm
ALSA_UTILS_RPM = $(RPMS)/$(ARCH)/$(ALSA_UTILS)-1.$(ARCH).rpm



# Main target

.PHONY: all
all: driver lib utils



# Download packages

$(ALSA_DRIVER_PACKAGE):
	wget $(ALSA_DRIVER_PACKAGE_URL)

$(ALSA_LIB_PACKAGE):
	wget $(ALSA_LIB_PACKAGE_URL)

$(ALSA_UTILS_PACKAGE):
	wget $(ALSA_UTILS_PACKAGE_URL)



# Unpack them

$(ALSA_DRIVER): $(ALSA_DRIVER_PACKAGE)
	tar -xjf $<

$(ALSA_LIB): $(ALSA_LIB_PACKAGE)
	tar -xjf $<

$(ALSA_UTILS): $(ALSA_UTILS_PACKAGE)
	tar -xjf $<



# Configure

$(ALSA_DRIVER)/utils/alsa-driver.spec: $(ALSA_DRIVER)
	cd $< && ./configure

$(ALSA_LIB)/utils/alsa-lib.spec: $(ALSA_LIB)
	cd $< && ./configure

$(ALSA_UTILS)/utils/alsa-utils.spec: $(ALSA_UTILS)
	cd $< && ./configure



# Build the RPMs

$(ALSA_DRIVER_RPM): $(ALSA_DRIVER)/utils/alsa-driver.spec
	cd $(ALSA_DRIVER)/utils && sh ./buildrpm

$(ALSA_LIB_RPM): $(ALSA_LIB)/utils/alsa-lib.spec
	cd $(ALSA_LIB)/utils && sh ./buildrpm

$(ALSA_UTILS_RPM): $(ALSA_UTILS)/utils/alsa-utils.spec
	# Hack due to a bug in buildrpm
	cp -f $(ALSA_UTILS_PACKAGE) $(ALSA_UTILS)/$(ALSA_UTILS_PACKAGE)
	cd $(ALSA_UTILS)/utils && sh ./buildrpm



# Intstall the RPMs

.PHONY: driver lib utils oss

driver: $(ALSA_DRIVER_RPM)
	rpm --upgrade --force $<

lib: $(ALSA_LIB_RPM) driver
	rpm --upgrade --force $<

utils: $(ALSA_UTILS_RPM) lib
	rpm --upgrade --force $<



# Clean the build directory

.PHONY: clean
clean:
	-rm -rf $(ALSA_DRIVER)
	-rm -rf $(ALSA_LIB)
	-rm -rf $(ALSA_UTILS)

Reply via email to