summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2019-06-08 11:23:00 +0800
committerJohn Hodge <tpg@ucc.asn.au>2019-06-08 11:23:00 +0800
commit8db84266974ecc657abea232512796815be21f4e (patch)
tree7389ad5774d41bf6ae7deb02c7b1ae88efde619b
parentaa1998553ad87ca55870a84b7d2ee946b421ec65 (diff)
downloadmrust-8db84266974ecc657abea232512796815be21f4e.tar.gz
Makefile - Tweaks to allow gprof usage
-rw-r--r--Makefile23
1 files changed, 18 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 41d6bb7c..c2845fda 100644
--- a/Makefile
+++ b/Makefile
@@ -15,7 +15,13 @@ ifeq ($(OS),Windows_NT)
endif
EXESUF ?=
CXX ?= g++
-V ?= @
+V ?=
+GPROF ?=
+ifeq ($(V),)
+ V := @
+else
+ V :=
+endif
TAIL_COUNT ?= 10
@@ -66,6 +72,13 @@ endif
OBJDIR = .obj/
+ifneq ($(GPROF),)
+ OBJDIR := .obj-gprof/
+ CXXFLAGS += -pg -no-pie
+ LINKFLAGS += -pg -no-pie
+ EXESUF := -gprof$(EXESUF)
+endif
+
BIN := bin/mrustc$(EXESUF)
OBJ := main.o version.o
@@ -146,7 +159,7 @@ RUSTC_SRC_DL := $(RUSTCSRC)/dl-version
MAKE_MINICARGO = $(MAKE) -f minicargo.mk RUSTC_VERSION=$(RUSTC_VERSION) RUSTC_CHANNEL=$(RUSTC_SRC_TY) OUTDIR_SUF=$(OUTDIR_SUF)
-output$(OUTDIR_SUF)/libstd.hir: $(BIN)
+output$(OUTDIR_SUF)/libstd.hir: $(RUSTC_SRC_DL) $(BIN)
$(MAKE_MINICARGO) $@
output$(OUTDIR_SUF)/libtest.hir output$(OUTDIR_SUF)/libpanic_unwind.hir output$(OUTDIR_SUF)/libproc_macro.hir: output$(OUTDIR_SUF)/libstd.hir
$(MAKE_MINICARGO) $@
@@ -192,14 +205,14 @@ $(RUSTC_SRC_DL): rust-nightly-date rustc-nightly-src.tar.gz rustc-nightly-src.pa
cat rust-nightly-date > $(RUSTC_SRC_DL)
else
# NAMED (Stable or beta)
-RUSTC_SRC_TARBALL := rustc-$(shell cat $(RUSTC_SRC_DES))-src.tar.gz
+RUSTC_SRC_TARBALL := rustc-$(RUSTC_VERSION)-src.tar.gz
$(RUSTC_SRC_TARBALL): $(RUSTC_SRC_DES)
@echo [CURL] $@
@rm -f $@
@curl -sS https://static.rust-lang.org/dist/$@ -o $@
-$(RUSTC_SRC_DL): $(RUSTC_SRC_TARBALL) rustc-$(shell cat $(RUSTC_SRC_DES))-src.patch
+$(RUSTC_SRC_DL): $(RUSTC_SRC_TARBALL) rustc-$(RUSTC_VERSION)-src.patch
tar -xf $(RUSTC_SRC_TARBALL)
- cd $(RUSTCSRC) && patch -p0 < ../rustc-$(shell cat $(RUSTC_SRC_DES))-src.patch;
+ cd $(RUSTCSRC) && patch -p0 < ../rustc-$(RUSTC_VERSION)-src.patch;
cat $(RUSTC_SRC_DES) > $(RUSTC_SRC_DL)
endif