# Rules to fetch, build and install external source packages. # # TODO: # - rules for pre-req dependencies # - rules to build and maintain patches # - rules to run tests before installing # - build and run in chroot # arc ?= $(notdir $(url)) dir ?= $(basename $(basename $(arc))) configure_cmd ?= ./configure build_cmd ?= make install_cmd ?= sudo make install uninstall_cmd ?= sudo make uninstall clean: rm -rf .install .build .configure .extract .fetch $(dir) debug: @echo arc = $(arc) @echo dir = $(dir) uninstall: .install cd $(dir) && $(uninstall_cmd) rm .install install: .install build: .build configure: .configure extract: .extract fetch: .fetch .install: .build cd $(dir) && $(install_cmd) @touch $@ .build: .configure cd $(dir) && $(build_cmd) @touch $@ .configure: .extract cd $(dir) && $(configure_cmd) $(configure_flags) @touch $@ .extract: .fetch gunzip < $(arc) | tar xf - @touch $@ .fetch: curl -L $(url) -o $(arc) @touch $@