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)