aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2011-03-17 14:26:24 -0700
committerGraydon Hoare <[email protected]>2011-03-17 14:26:32 -0700
commit3ae9ca444ce244e2bab660de28a5bf7047aa3813 (patch)
tree959ca1af375cfc9c383342e720984e452470f1a6
parentrustc: Correctly report mutability when stringifying types (diff)
downloadrust-3ae9ca444ce244e2bab660de28a5bf7047aa3813.tar.xz
rust-3ae9ca444ce244e2bab660de28a5bf7047aa3813.zip
Move Makefile.in and configure to top level, BOOT_-qualify names, various tweaks.
-rw-r--r--Makefile.in (renamed from src/Makefile.in)56
-rwxr-xr-xconfigure (renamed from src/configure.sh)20
2 files changed, 57 insertions, 19 deletions
diff --git a/src/Makefile.in b/Makefile.in
index fd4bd317..ad96251a 100644
--- a/src/Makefile.in
+++ b/Makefile.in
@@ -49,7 +49,8 @@ endif
BOOT_MLS := \
$(addsuffix .ml, \
- $(addprefix boot/util/, version fmt common bits) \
+ boot/version \
+ $(addprefix boot/util/, fmt common bits) \
$(addprefix boot/driver/, session) \
$(addprefix boot/fe/, ast token lexer parser \
extfmt pexp item cexp fuzz) \
@@ -65,13 +66,15 @@ BOOT_CMXS := $(BOOT_MLS:.ml=.cmx)
BOOT_OBJS := $(BOOT_MLS:.ml=.o)
BOOT_CMIS := $(BOOT_MLS:.ml=.cmi)
-ML_DEP_INCS := -I $(S)boot/fe -I $(S)boot/me -I $(S)boot/be \
- -I $(S)boot/driver -I $(S)boot/util
+BOOT_ML_DEP_INCS := -I boot \
+ -I $(S)boot/fe -I $(S)boot/me \
+ -I $(S)boot/be -I $(S)boot/driver \
+ -I $(S)boot/util
-ML_INCS := $(ML_DEP_INCS)
-ML_LIBS := unix.cma nums.cma bigarray.cma
-ML_NATIVE_LIBS := unix.cmxa nums.cmxa bigarray.cmxa
-OCAMLC_FLAGS := -g $(ML_INCS) -w Ael -warn-error Ael
+BOOT_ML_INCS := $(BOOT_ML_DEP_INCS)
+BOOT_ML_LIBS := unix.cma nums.cma bigarray.cma
+BOOT_ML_NATIVE_LIBS := unix.cmxa nums.cmxa bigarray.cmxa
+BOOT_OCAMLC_FLAGS := -g $(BOOT_ML_INCS) -w Ael -warn-error Ael
######################################################################
@@ -89,8 +92,8 @@ endif
S := $(CFG_SRC_DIR)
X := $(CFG_EXE_SUFFIX)
-# Look in src dir.
-VPATH := $(CFG_SRC_DIR)
+# Look in doc and src dirs.
+VPATH := $(CFG_SRC_DIR)/doc $(CFG_SRC_DIR)/src
# Delete the built-in rules.
.SUFFIXES:
@@ -104,26 +107,47 @@ VPATH := $(CFG_SRC_DIR)
# Targets and rules
######################################################################
-all: rustboot$(X)
+all: boot/rustboot$(X)
ifdef CFG_NATIVE_BOOT
-rustboot$(X): $(BOOT_CMXS) $(MKFILES)
+boot/rustboot$(X): $(BOOT_CMXS) $(MKFILES)
@$(call E, compile: $@)
- $(Q)ocamlopt$(OPT) -o $@ $(OCAMLOPT_FLAGS) $(ML_NATIVE_LIBS) \
+ $(Q)ocamlopt$(OPT) -o $@ $(BOOT_OCAMLOPT_FLAGS) $(ML_NATIVE_LIBS) \
$(BOOT_CMXS)
else
-rustboot$(X): $(BOOT_CMOS) $(MKFILES)
+boot/rustboot$(X): $(BOOT_CMOS) $(MKFILES)
@$(call E, compile: $@)
- $(Q)ocamlc$(OPT) -o $@ $(OCAMLC_FLAGS) $(ML_LIBS) $(BOOT_CMOS)
+ $(Q)ocamlc$(OPT) -o $@ $(BOOT_OCAMLC_FLAGS) $(BOOT_ML_LIBS) $(BOOT_CMOS)
endif
-boot/util/version.ml: $(MKFILES)
+boot/version.ml: $(MKFILES)
+ @$(call E, git: $@)
$(Q)git log -1 \
--pretty=format:'let version = "prerelease (%h %ci)";;' >$@ || exit 1
%.cmo: %.ml $(MKFILES)
@$(call E, compile: $@)
- $(Q)ocamlc$(OPT) -c -o $@ $(OCAMLC_FLAGS) $<
+ $(Q)ocamlc$(OPT) -c -o $@ $(BOOT_OCAMLC_FLAGS) $<
%.cmo: %.cmi $(MKFILES)
+
+
+
+######################################################################
+# Cleanup
+######################################################################
+
+.PHONY: clean
+
+clean:
+ @$(call E, cleaning)
+ $(Q)rm -f $(foreach ext, cmx cmi cmo cma bc o a d $(X) \
+ h cpp ml s \
+ out bc dSYM \
+ , \
+ $(wildcard *.$(ext) \
+ */*.$(ext) \
+ */*/*.$(ext) \
+ */*/*/*.$(ext) \
+ ))
diff --git a/src/configure.sh b/configure
index 03678e01..0e584f35 100755
--- a/src/configure.sh
+++ b/configure
@@ -8,14 +8,28 @@ echo '' >config.mk
echo "configure: making directories"
for i in \
+ doc \
boot/fe boot/me boot/be boot/driver boot/util \
- rt/isaac rt/bigint rt/sync rt/test \
- stage0 stage1 stage2 \
- test/run-pass test/compile-pass test/compile-fail
+ rt/isaac rt/bigint rt/sync rt/test
do
mkdir -p -v $i
done
+make_test_subdirs() {
+ for t in run-pass run-fail compile-fail
+ do
+ mkdir -p -v $1/test/$t
+ done
+}
+
+make_test_subdirs boot
+
+for i in 0 1 2
+do
+ mkdir -p -v stage$i
+ make_test_subdirs stage$i
+done
+
echo "configure: copying Makefile"
cp -v ${CFG_SRC_DIR}Makefile.in ./Makefile