49
49
50
50
BOOT_MLS := \
51
51
$(addsuffix .ml, \
52
- $(addprefix boot/util/, version fmt common bits) \
52
+ boot/version \
53
+ $(addprefix boot/util/, fmt common bits) \
53
54
$(addprefix boot/driver/, session) \
54
55
$(addprefix boot/fe/, ast token lexer parser \
55
56
extfmt pexp item cexp fuzz) \
@@ -65,13 +66,15 @@ BOOT_CMXS := $(BOOT_MLS:.ml=.cmx)
65
66
BOOT_OBJS := $(BOOT_MLS:.ml=.o )
66
67
BOOT_CMIS := $(BOOT_MLS:.ml=.cmi )
67
68
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
70
73
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
75
78
76
79
77
80
# #####################################################################
89
92
S := $(CFG_SRC_DIR )
90
93
X := $(CFG_EXE_SUFFIX )
91
94
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
94
97
95
98
# Delete the built-in rules.
96
99
.SUFFIXES :
@@ -104,26 +107,47 @@ VPATH := $(CFG_SRC_DIR)
104
107
# Targets and rules
105
108
# #####################################################################
106
109
107
- all : rustboot$(X )
110
+ all : boot/ rustboot$(X )
108
111
109
112
ifdef CFG_NATIVE_BOOT
110
- rustboot$(X ) : $(BOOT_CMXS ) $(MKFILES )
113
+ boot/ rustboot$(X ) : $(BOOT_CMXS ) $(MKFILES )
111
114
@$(call E, compile: $@ )
112
- $(Q ) ocamlopt$(OPT ) -o $@ $(OCAMLOPT_FLAGS ) $(ML_NATIVE_LIBS ) \
115
+ $(Q ) ocamlopt$(OPT ) -o $@ $(BOOT_OCAMLOPT_FLAGS ) $(ML_NATIVE_LIBS ) \
113
116
$(BOOT_CMXS)
114
117
else
115
- rustboot$(X ) : $(BOOT_CMOS ) $(MKFILES )
118
+ boot/ rustboot$(X ) : $(BOOT_CMOS ) $(MKFILES )
116
119
@$(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 )
118
121
endif
119
122
120
123
121
- boot/util/version.ml : $(MKFILES )
124
+ boot/version.ml : $(MKFILES )
125
+ @$(call E, git: $@ )
122
126
$(Q ) git log -1 \
123
127
--pretty =format:'let version = "prerelease (%h %ci)";;' >$@ || exit 1
124
128
125
129
% .cmo : % .ml $(MKFILES )
126
130
@$(call E, compile: $@ )
127
- $(Q ) ocamlc$(OPT ) -c -o $@ $(OCAMLC_FLAGS ) $<
131
+ $(Q ) ocamlc$(OPT ) -c -o $@ $(BOOT_OCAMLC_FLAGS ) $<
128
132
129
133
% .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
+ ))
0 commit comments