Skip to content

Commit 3ae9ca4

Browse files
committed
Move Makefile.in and configure to top level, BOOT_-qualify names, various tweaks.
1 parent 67bac63 commit 3ae9ca4

File tree

2 files changed

+57
-19
lines changed

2 files changed

+57
-19
lines changed

src/Makefile.in renamed to Makefile.in

+40-16
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ endif
4949

5050
BOOT_MLS := \
5151
$(addsuffix .ml, \
52-
$(addprefix boot/util/, version fmt common bits) \
52+
boot/version \
53+
$(addprefix boot/util/, fmt common bits) \
5354
$(addprefix boot/driver/, session) \
5455
$(addprefix boot/fe/, ast token lexer parser \
5556
extfmt pexp item cexp fuzz) \
@@ -65,13 +66,15 @@ BOOT_CMXS := $(BOOT_MLS:.ml=.cmx)
6566
BOOT_OBJS := $(BOOT_MLS:.ml=.o)
6667
BOOT_CMIS := $(BOOT_MLS:.ml=.cmi)
6768

68-
ML_DEP_INCS := -I $(S)boot/fe -I $(S)boot/me -I $(S)boot/be \
69-
-I $(S)boot/driver -I $(S)boot/util
69+
BOOT_ML_DEP_INCS := -I boot \
70+
-I $(S)boot/fe -I $(S)boot/me \
71+
-I $(S)boot/be -I $(S)boot/driver \
72+
-I $(S)boot/util
7073

71-
ML_INCS := $(ML_DEP_INCS)
72-
ML_LIBS := unix.cma nums.cma bigarray.cma
73-
ML_NATIVE_LIBS := unix.cmxa nums.cmxa bigarray.cmxa
74-
OCAMLC_FLAGS := -g $(ML_INCS) -w Ael -warn-error Ael
74+
BOOT_ML_INCS := $(BOOT_ML_DEP_INCS)
75+
BOOT_ML_LIBS := unix.cma nums.cma bigarray.cma
76+
BOOT_ML_NATIVE_LIBS := unix.cmxa nums.cmxa bigarray.cmxa
77+
BOOT_OCAMLC_FLAGS := -g $(BOOT_ML_INCS) -w Ael -warn-error Ael
7578

7679

7780
######################################################################
@@ -89,8 +92,8 @@ endif
8992
S := $(CFG_SRC_DIR)
9093
X := $(CFG_EXE_SUFFIX)
9194

92-
# Look in src dir.
93-
VPATH := $(CFG_SRC_DIR)
95+
# Look in doc and src dirs.
96+
VPATH := $(CFG_SRC_DIR)/doc $(CFG_SRC_DIR)/src
9497

9598
# Delete the built-in rules.
9699
.SUFFIXES:
@@ -104,26 +107,47 @@ VPATH := $(CFG_SRC_DIR)
104107
# Targets and rules
105108
######################################################################
106109

107-
all: rustboot$(X)
110+
all: boot/rustboot$(X)
108111

109112
ifdef CFG_NATIVE_BOOT
110-
rustboot$(X): $(BOOT_CMXS) $(MKFILES)
113+
boot/rustboot$(X): $(BOOT_CMXS) $(MKFILES)
111114
@$(call E, compile: $@)
112-
$(Q)ocamlopt$(OPT) -o $@ $(OCAMLOPT_FLAGS) $(ML_NATIVE_LIBS) \
115+
$(Q)ocamlopt$(OPT) -o $@ $(BOOT_OCAMLOPT_FLAGS) $(ML_NATIVE_LIBS) \
113116
$(BOOT_CMXS)
114117
else
115-
rustboot$(X): $(BOOT_CMOS) $(MKFILES)
118+
boot/rustboot$(X): $(BOOT_CMOS) $(MKFILES)
116119
@$(call E, compile: $@)
117-
$(Q)ocamlc$(OPT) -o $@ $(OCAMLC_FLAGS) $(ML_LIBS) $(BOOT_CMOS)
120+
$(Q)ocamlc$(OPT) -o $@ $(BOOT_OCAMLC_FLAGS) $(BOOT_ML_LIBS) $(BOOT_CMOS)
118121
endif
119122

120123

121-
boot/util/version.ml: $(MKFILES)
124+
boot/version.ml: $(MKFILES)
125+
@$(call E, git: $@)
122126
$(Q)git log -1 \
123127
--pretty=format:'let version = "prerelease (%h %ci)";;' >$@ || exit 1
124128

125129
%.cmo: %.ml $(MKFILES)
126130
@$(call E, compile: $@)
127-
$(Q)ocamlc$(OPT) -c -o $@ $(OCAMLC_FLAGS) $<
131+
$(Q)ocamlc$(OPT) -c -o $@ $(BOOT_OCAMLC_FLAGS) $<
128132

129133
%.cmo: %.cmi $(MKFILES)
134+
135+
136+
137+
######################################################################
138+
# Cleanup
139+
######################################################################
140+
141+
.PHONY: clean
142+
143+
clean:
144+
@$(call E, cleaning)
145+
$(Q)rm -f $(foreach ext, cmx cmi cmo cma bc o a d $(X) \
146+
h cpp ml s \
147+
out bc dSYM \
148+
, \
149+
$(wildcard *.$(ext) \
150+
*/*.$(ext) \
151+
*/*/*.$(ext) \
152+
*/*/*/*.$(ext) \
153+
))

src/configure.sh renamed to configure

+17-3
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,28 @@ echo '' >config.mk
88

99
echo "configure: making directories"
1010
for i in \
11+
doc \
1112
boot/fe boot/me boot/be boot/driver boot/util \
12-
rt/isaac rt/bigint rt/sync rt/test \
13-
stage0 stage1 stage2 \
14-
test/run-pass test/compile-pass test/compile-fail
13+
rt/isaac rt/bigint rt/sync rt/test
1514
do
1615
mkdir -p -v $i
1716
done
1817

18+
make_test_subdirs() {
19+
for t in run-pass run-fail compile-fail
20+
do
21+
mkdir -p -v $1/test/$t
22+
done
23+
}
24+
25+
make_test_subdirs boot
26+
27+
for i in 0 1 2
28+
do
29+
mkdir -p -v stage$i
30+
make_test_subdirs stage$i
31+
done
32+
1933
echo "configure: copying Makefile"
2034
cp -v ${CFG_SRC_DIR}Makefile.in ./Makefile
2135

0 commit comments

Comments
 (0)