RUSTC ?= rustc BUILDDIR := target RUSTCFGS := %RUSTCFGS% RUSTFLAGS += -O --cfg ndebug $(RUSTCFGS) INSTALL_DIR := %PREFIX% OPENSSL_LIB := lib.rs OPENSSL := $(foreach file,$(shell $(RUSTC) --crate-file-name $(OPENSSL_LIB)),$(BUILDDIR)/$(file)) OPENSSL_TEST := $(BUILDDIR)/$(shell $(RUSTC) --test --crate-file-name $(OPENSSL_LIB)) all: $(OPENSSL) -include $(BUILDDIR)/openssl.d -include $(BUILDDIR)/openssl_test.d $(BUILDDIR): mkdir -p $@ .NOTPARALLEL: $(OPENSSL) $(OPENSSL): $(OPENSSL_LIB) | $(BUILDDIR) $(RUSTC) $(RUSTFLAGS) --dep-info $(@D)/openssl.d --out-dir $(@D) $< check: $(OPENSSL_TEST) $< $(OPENSSL_TEST): $(OPENSSL_LIB) | $(BUILDDIR) $(RUSTC) $(RUSTFLAGS) --test --dep-info $(@D)/openssl_test.d \ --out-dir $(@D) $< clean: rm -rf $(BUILDDIR) doc: $(OPENSSL) rustdoc $(RUSTCFGS) $(OPENSSL_LIB) install: $(OPENSSL) install $(OPENSSL) $(INSTALL_DIR) print-target: @echo $(OPENSSL) .PHONY: all check clean print-target