1 ## Copyright (C) 2009,2011,2013,2017-2018 Matthew Fluet.
2 # Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh
3 # Jagannathan, and Stephen Weeks.
4 # Copyright (C) 1997-2000 NEC Research Institute.
6 # MLton is released under a BSD-style license.
7 # See the file MLton-LICENSE for details.
10 # Specify C compiler and binutils.
11 # Can be used for alternative tools (e.g., `CC=clang` or `CC=gcc-7`).
17 # Specify GMP include and library paths, if not on default search paths.
19 ifneq ($(WITH_GMP_DIR
),)
20 WITH_GMP_INC_DIR
:= $(WITH_GMP_DIR
)/include
21 WITH_GMP_LIB_DIR
:= $(WITH_GMP_DIR
)/lib
24 # Specify installation prefix and staged install destination.
28 # Specify runtime and compile arguments given to (the to-be-built) `mlton` when
29 # compiling distributed executables ((self-compiled) `mlton`, `mllex`, `mlyacc`,
30 # `mlprof`, and `mlnlffigen`).
31 # Can be used for testing (e.g., `MLTON_COMPILE_ARGS="-codegen c"`) or for
32 # downstream packaging.
36 # Specify runtime and compile arguments given to "old" `mlton` when compiling
37 # "bootstrapped" `mlton`.
38 # Can be used to work around bugs in "old" `mlton` when compiling "bootstrapped"
39 # `mlton` (e.g., `BOOTSTRAP_MLTON_COMPILE_ARGS="-drop-pass 'deepFlatten'"`).
40 BOOTSTRAP_MLTON_RUNTIME_ARGS
:=
41 BOOTSTRAP_MLTON_COMPILE_ARGS
:=
43 # Specify standard tools.
44 # Can be used for alternative tools (e.g., `SED=gsed`).
55 ######################################################################
56 ######################################################################
61 LIB
:= $(BUILD
)/lib
/mlton
64 PATH
:= $(BIN
):$(shell echo
$$PATH)
66 MLTON_VERSION
:= 20180207
68 HOST_ARCH
:= $(shell .
/bin
/host-arch
)
69 HOST_OS
:= $(shell .
/bin
/host-os
)
71 TARGET_ARCH
:= $(HOST_ARCH
)
72 TARGET_OS
:= $(HOST_OS
)
74 ifeq (mingw
, $(TARGET_OS
))
85 ######################################################################
87 # If we're compiling with another version of MLton, then we want to do another
88 # round of compilation so that we get a MLton built without stubs.
89 ifeq (other
, $(shell if
[ ! -x
"$(BIN)/mlton" ]; then echo other
; fi
))
99 $(MAKE
) compiler CHECK_FIXPOINT
=false
# tools0 + mlton0 -> mlton1
100 $(MAKE
) script basis-no-check constants basis-check libraries
101 $(MAKE
) tools CHECK_FIXPOINT
=false
# tools0 + mlton1 -> tools1
102 ifeq (true
, $(findstring true
,$(BOOTSTRAP
) $(CHECK_FIXPOINT
)))
103 $(RM
) "$(SRC)/mlton/mlton-compile$(EXE)"
104 $(MAKE
) -C
"$(SRC)/mlton/front-end" clean
105 $(MAKE
) compiler CHECK_FIXPOINT
=false
# tools1 + mlton1 -> mlton2
106 ifeq (true
, $(CHECK_FIXPOINT
))
108 $(MAKE
) tools CHECK_FIXPOINT
=true
# tools1 + mlton1 -> tools2; tools2 == tools1
109 $(RM
) "$(SRC)/mlton/mlton-compile$(EXE)"
110 $(MAKE
) -C
"$(SRC)/mlton/front-end" clean
111 $(MAKE
) compiler CHECK_FIXPOINT
=true
# tools2 + mlton2 -> mlton3; mlton3 == mlton2
114 @echo
'Build of MLton succeeded.'
116 .PHONY
: basis-no-check
118 $(RM
) "$(LIB)/sml/basis"
119 $(MKDIR
) "$(LIB)/sml/basis"
121 cd
"$(SRC)/basis-library" && \
122 $(FIND
) .
-type f
'(' -name
'*.mlb' -o
-name
'*.sml' -o
-name
'*.sig' -o
-name
'*.fun' ')' | \
123 $(XARGS
) $(TAR
) cf
- | \
124 ( cd
"$(LIB)/sml/basis" && $(TAR
) xf
- ) \
129 @echo
'Type checking basis.'
130 "$(BIN)/mlton" -disable-ann deadCode
-stop tc
'$$(SML_LIB)/basis/libs/all.mlb' >/dev
/null
134 $(MAKE
) basis-no-check
137 .PHONY
: bootstrap-smlnj
141 $(MAKE
) BOOTSTRAP_MLTON
=mlton.smlnj
all
142 smlnj_heap_suffix
=`echo 'TextIO.output (TextIO.stdErr, SMLofNJ.SysInfo.getHeapSuffix ());' | sml 2>&1 1> /dev/null` && $(RM
) "$(LIB)/mlton/mlton-smlnj.$$smlnj_heap_suffix"
143 $(RM
) "$(BIN)/mlton.smlnj"
145 .PHONY
: bootstrap-polyml
149 $(MAKE
) BOOTSTRAP_MLTON
=mlton.polyml
all
150 $(RM
) "$(LIB)/mlton-polyml$(EXE)"
151 $(RM
) "$(BIN)/mlton.polyml"
155 .
/bin
/clean --exclude package
159 $(FIND
) .
-type d
-name .git
-prune
-exec
$(RM
) '{}' ';'
163 $(MAKE
) -C
"$(SRC)/mlton" MLTON_OUTPUT
=mlton-compile
164 ifeq (true
, $(CHECK_FIXPOINT
))
165 $(DIFF
) -b
"$(SRC)/mlton/mlton-compile$(EXE)" "$(LIB)/mlton-compile$(EXE)"
167 $(CP
) "$(SRC)/mlton/mlton-compile$(EXE)" "$(LIB)/"
171 @echo
'Creating constants file.'
172 "$(BIN)/mlton" -target
"$(TARGET)" -build-constants true
> build-constants.c
173 "$(BIN)/mlton" -target
"$(TARGET)" -output build-constants build-constants.c
174 .
/build-constants
$(EXE
) >"$(LIB)/targets/$(TARGET)/constants"
175 $(RM
) build-constants
$(EXE
) build-constants.c
179 $(MAKE
) -C
"$(SRC)/mlton" MLTON_OUTPUT
=mlton-compile.debug \
180 MLTON_COMPILE_ARGS
="$(MLTON_COMPILE_ARGS) -debug true -const 'Exn.keepHistory true' -profile-val true -const 'MLton.debug true' -disable-pass 'deepFlatten'"
181 $(CP
) "$(SRC)/mlton/mlton-compile.debug$(EXE)" "$(LIB)/"
182 $(SED
) -e
's/mlton-compile/mlton-compile.debug/' \
184 > "$(BIN)/mlton.debug"
185 chmod u
+x
"$(BIN)/mlton.debug"
189 $(MKDIR
) "$(BIN)" "$(LIB)" "$(INC)"
190 $(MKDIR
) "$(LIB)/targets/$(TARGET)/include"
191 $(MKDIR
) "$(LIB)/targets/$(TARGET)/sml"
195 $(MAKE
) -C
"$(SRC)/mllex" docs
196 $(MAKE
) -C
"$(SRC)/mlyacc" docs
197 $(MAKE
) -C
"$(SRC)/doc/guide"
199 define LIBRARIES_NO_CHECK_TEMPLATE
200 $(RM
) "$(LIB)/sml/$(1)"
201 $(MKDIR
) "$(LIB)/sml/$(1)"
203 cd
"$(SRC)/lib/$(1)$(2)" && \
204 $(FIND
) .
'!' -path
'*/.cm/*' $(3) -type f
'(' -name
'*.mlb' -o
-name
'*.sml' -o
-name
'*.sig' -o
-name
'*.fun' ')' | \
205 $(XARGS
) $(TAR
) cf
- | \
206 ( cd
"$(LIB)/sml/$(1)" && $(TAR
) xf
- ) \
211 .PHONY
: libraries-no-check
213 $(MAKE
) -C
"$(SRC)/lib/ckit-lib"
214 $(call LIBRARIES_NO_CHECK_TEMPLATE
,ckit-lib
,/ckit
/src
,)
215 $(call LIBRARIES_NO_CHECK_TEMPLATE
,cml
,,'!' -path
'*/tests/*')
216 $(MAKE
) -C
"$(SRC)/lib/mllpt-lib"
217 $(call LIBRARIES_NO_CHECK_TEMPLATE
,mllpt-lib
,/ml-lpt
/lib
,)
218 $(MAKE
) -C
"$(SRC)/lib/mlnlffi-lib"
219 $(call LIBRARIES_NO_CHECK_TEMPLATE
,mlnlffi-lib
,,)
220 $(MAKE
) -C
"$(SRC)/lib/mlrisc-lib"
221 $(call LIBRARIES_NO_CHECK_TEMPLATE
,mlrisc-lib
,/MLRISC
,'!' -path
'*/demo/*' '!' -path
'*/Tools/*' '!' -path
'./autoload.sml' '!' -path
'./make*.sml')
222 $(call LIBRARIES_NO_CHECK_TEMPLATE
,mlyacc-lib
,,)
223 $(MAKE
) -C
"$(SRC)/lib/smlnj-lib"
224 $(call LIBRARIES_NO_CHECK_TEMPLATE
,smlnj-lib
,/smlnj-lib
,'!' -path
'*/examples/*' '!' -path
'*/tests/*' '!' -path
'*/Tests/*')
226 define LIBRARIES_CHECK_TEMPLATE
227 @echo
"Type checking $(1) library."
228 "$(BIN)/mlton" -disable-ann deadCode
-stop tc
'$$(SML_LIB)/$(1)/$(1).mlb' >/dev
/null
231 .PHONY
: libraries-check
233 $(call LIBRARIES_CHECK_TEMPLATE
,ckit-lib
)
234 $(call LIBRARIES_CHECK_TEMPLATE
,cml
)
235 $(call LIBRARIES_CHECK_TEMPLATE
,mllpt-lib
)
236 $(call LIBRARIES_CHECK_TEMPLATE
,mlnlffi-lib
)
237 $(call LIBRARIES_CHECK_TEMPLATE
,mlrisc-lib
)
238 $(call LIBRARIES_CHECK_TEMPLATE
,mlyacc-lib
)
239 $(call LIBRARIES_CHECK_TEMPLATE
,smlnj-lib
)
243 $(MAKE
) libraries-no-check
244 $(MAKE
) libraries-check
249 $(MAKE
) -C
"$(SRC)/mlton" polyml-mlton
250 $(CP
) "$(SRC)/mlton/mlton-polyml$(EXE)" "$(LIB)/"
251 $(MAKE
) script basis-no-check constants libraries-no-check
253 -e
's;doitMLton "$$@";# doitMLton "$$@";' \
254 -e
's;doitSMLNJ "$$@";# doitSMLNJ "$$@";' \
256 > "$(BIN)/mlton.polyml"
257 chmod u
+x
"$(BIN)/mlton.polyml"
258 @echo
'Build of MLton (with Poly/ML) succeeded.'
260 define PROFILED_TEMPLATE
261 $(MAKE
) -C
"$(SRC)/mlton" MLTON_OUTPUT
=mlton-compile.
$(1) \
262 MLTON_COMPILE_ARGS
="$(MLTON_COMPILE_ARGS) -profile $(1)"
263 $(CP
) "$(SRC)/mlton/mlton-compile.$(1)$(EXE)" "$(LIB)/"
264 $(SED
) -e
"s/mlton-compile/mlton-compile.$(1)/" \
267 chmod u
+x
"$(BIN)/mlton.$(1)"
270 .PHONY
: profiled-alloc
272 $(call PROFILED_TEMPLATE
,alloc
)
274 .PHONY
: profiled-count
276 $(call PROFILED_TEMPLATE
,count
)
278 .PHONY
: profiled-time
280 $(call PROFILED_TEMPLATE
,time
)
283 $(MAKE
) profiled-alloc
284 $(MAKE
) profiled-count
285 $(MAKE
) profiled-time
289 @echo
'Compiling MLton runtime system for $(TARGET).'
290 $(MAKE
) -C
"$(SRC)/runtime"
291 $(CP
) "$(SRC)/include/"*.h
"$(INC)/"
292 $(CP
) "$(SRC)/runtime/"*.a
"$(LIB)/targets/$(TARGET)/"
293 $(CP
) "$(SRC)/runtime/gen/sizes" "$(LIB)/targets/$(TARGET)/"
294 $(CP
) "$(SRC)/runtime/gen/c-types.sml" "$(LIB)/targets/$(TARGET)/sml/"
295 echo
"$(TARGET_OS)" > "$(LIB)/targets/$(TARGET)/os"
296 echo
"$(TARGET_ARCH)" > "$(LIB)/targets/$(TARGET)/arch"
297 $(CP
) "$(SRC)/runtime/gen/basis-ffi.sml" \
298 basis-library
/primitive
/basis-ffi.sml
299 $(CP
) "$(SRC)/runtime/"*.h
"$(INC)/"
300 $(MV
) "$(INC)/c-types.h" "$(LIB)/targets/$(TARGET)/include"
301 for d in basis basis
/Real basis
/Word gc platform util
; do \
302 $(MKDIR
) "$(INC)/$$d"; \
303 $(CP
) "$(SRC)/runtime/$$d/"*.h
"$(INC)/$$d"; \
309 -e
"s;^EXE=.*;EXE=\"$(EXE)\";" \
310 -e
"s;^CC=.*;CC=\"$(CC)\";" \
311 -e
"s;^GMP_INC_DIR=.*;GMP_INC_DIR=\"$(WITH_GMP_INC_DIR)\";" \
312 -e
"s;^GMP_LIB_DIR=.*;GMP_LIB_DIR=\"$(WITH_GMP_LIB_DIR)\";" \
313 < "$(SRC)/bin/mlton-script" > "$(BIN)/mlton"
314 chmod a
+x
"$(BIN)/mlton"
315 $(CP
) "$(SRC)/bin/static-library" "$(LIB)"
316 ifeq (mingw
, $(TARGET_OS
))
317 $(CP
) "$(SRC)/bin/static-library.bat" "$(LIB)"
323 $(MAKE
) -C
"$(SRC)/mlton" smlnj-mlton
324 smlnj_heap_suffix
=`echo 'TextIO.output (TextIO.stdErr, SMLofNJ.SysInfo.getHeapSuffix ());' | sml 2>&1 1> /dev/null` && $(CP
) "$(SRC)/mlton/mlton-smlnj.$$smlnj_heap_suffix" "$(LIB)/"
325 $(MAKE
) script basis-no-check constants libraries-no-check
327 -e
's;doitMLton "$$@";# doitMLton "$$@";' \
328 -e
's;doitPolyML "$$@";# doitPolyML "$$@";' \
330 > "$(BIN)/mlton.smlnj"
331 chmod u
+x
"$(BIN)/mlton.smlnj"
332 @echo
'Build of MLton (with SML/NJ) succeeded.'
334 .PHONY
: smlnj-mlton-x2
336 $(MAKE
) SMLNJ_CM_SERVERS_NUM
=2 smlnj-mlton
338 .PHONY
: smlnj-mlton-x4
340 $(MAKE
) SMLNJ_CM_SERVERS_NUM
=4 smlnj-mlton
342 .PHONY
: smlnj-mlton-x8
344 $(MAKE
) SMLNJ_CM_SERVERS_NUM
=8 smlnj-mlton
346 .PHONY
: smlnj-mlton-x16
348 $(MAKE
) SMLNJ_CM_SERVERS_NUM
=16 smlnj-mlton
352 $(MAKE
) -C
"$(SRC)/mlton" MLTON_OUTPUT
=mlton-compile.trace \
353 MLTON_COMPILE_ARGS
="$(MLTON_COMPILE_ARGS) -const 'Exn.keepHistory true' -profile-val true -const 'MLton.debug true' -disable-pass 'deepFlatten'"
354 $(CP
) "$(SRC)/mlton/mlton-compile.trace$(EXE)" "$(LIB)/"
355 $(SED
) -e
's/mlton-compile/mlton-compile.trace/' \
357 > "$(BIN)/mlton.trace"
358 chmod u
+x
"$(BIN)/mlton.trace"
360 ifeq (true
, $(CHECK_FIXPOINT
))
361 define TOOLS_TEMPLATE_CHECK_FIXPOINT
362 $(DIFF
) -b
"$(SRC)/$(1)/$(1)$(EXE)" "$(BIN)/$(1)$(EXE)"
365 define TOOLS_TEMPLATE_CHECK_FIXPOINT
369 define TOOLS_TEMPLATE
370 $(MAKE
) -C
"$(SRC)/$(1)"
371 $(call TOOLS_TEMPLATE_CHECK_FIXPOINT
,$(1))
372 $(CP
) "$(1)/$(1)$(EXE)" "$(BIN)/"
377 $(call TOOLS_TEMPLATE
,mllex
)
378 $(call TOOLS_TEMPLATE
,mlyacc
)
379 $(call TOOLS_TEMPLATE
,mlprof
)
380 $(call TOOLS_TEMPLATE
,mlnlffigen
)
384 $(MAKE
) -C
"$(SRC)/mllex" clean
385 $(MAKE
) -C
"$(SRC)/mlyacc" clean
386 $(MAKE
) -C
"$(SRC)/mlprof" clean
387 $(MAKE
) -C
"$(SRC)/mlnlffigen" clean
391 .
/bin
/regression
$(CHECK_ARGS
)
396 @echo
'Instantiating version numbers.'
399 "$(SRC)/mlton/Makefile" \
400 "$(SRC)/doc/guide/Makefile" \
402 $(SED
) -e
"s/^MLTON_VERSION := .*/MLTON_VERSION := $(MLTON_VERSION)/" <"$$f" >z
&& \
408 exec_prefix := $(prefix)
409 bindir := $(exec_prefix)/bin
410 datarootdir
:= $(prefix)/share
411 docdir
:= $(datarootdir
)/doc
/mlton
412 libdir := $(exec_prefix)/lib
413 mandir := $(datarootdir
)/man
414 man1dir := $(mandir)/man1
416 TBIN
:= $(DESTDIR
)$(bindir)
417 TLIB
:= $(DESTDIR
)$(libdir)/mlton
418 TMAN
:= $(DESTDIR
)$(man1dir)
419 TDOC
:= $(DESTDIR
)$(docdir
)
420 TEXM
:= $(TDOC
)/examples
423 ifeq ($(findstring $(TARGET_OS
), openbsd solaris
), $(TARGET_OS
))
428 install: install-no-strip install-strip install-docs
437 .PHONY
: install-no-strip
439 $(MKDIR
) "$(TBIN)" "$(TLIB)" "$(TMAN)"
440 $(CP
) "$(BIN)/." "$(TBIN)/"
441 $(CP
) "$(LIB)/." "$(TLIB)/"
442 cd
"$(SRC)/man" && $(CP
) $(MAN_PAGES
) "$(TMAN)/"
443 ifeq (true
, $(GZIP_MAN
))
444 cd
"$(TMAN)" && $(GZIP
) --force --best
$(MAN_PAGES
);
447 .PHONY
: install-strip
448 install-strip
: install-no-strip
449 for f in
"$(TLIB)/mlton-compile$(EXE)" \
450 "$(TBIN)/mllex$(EXE)" \
451 "$(TBIN)/mlyacc$(EXE)" \
452 "$(TBIN)/mlprof$(EXE)" \
453 "$(TBIN)/mlnlffigen$(EXE)"; do \
457 REGRESSION_EXAMPLES
:= \
458 callcc.sml command-line.sml hello-world.sml same-fringe.sml \
459 signals.sml size.sml taut.sml thread1.sml thread2.sml \
460 thread-switch.sml timeout.sml
464 $(MKDIR
) "$(TDOC)" "$(TDOC)/license"
467 $(CP
) CHANGELOG.adoc README.adoc
"$(TDOC)/" && \
468 $(CP
) LICENSE
"$(TDOC)/license/MLton-LICENSE" \
472 $(FIND
) examples
-type f
'!' -name .gitignore \
473 |
$(XARGS
) $(TAR
) cf
- \
474 |
( cd
"$(TDOC)/" && $(TAR
) xf
- ) \
478 $(FIND
) license
-type f
'!' -name .gitignore \
479 |
$(XARGS
) $(TAR
) cf
- \
480 |
( cd
"$(TDOC)/" && $(TAR
) xf
- ) \
482 if
[ -d
"$(SRC)/doc/guide/localhost" ]; then \
483 $(CP
) "$(SRC)/doc/guide/localhost" "$(TDOC)/guide"; \
485 if
[ -r
"$(SRC)/doc/guide/mlton-guide.pdf" ]; then \
486 $(CP
) "$(SRC)/doc/guide/mlton-guide.pdf" "$(TDOC)/"; \
488 if
[ -r
"mllex/mllex.pdf" ]; then \
489 $(CP
) "mllex/mllex.pdf" "$(TDOC)/"; \
491 if
[ -r
"mlyacc/mlyacc.pdf" ]; then \
492 $(CP
) "mlyacc/mlyacc.pdf" "$(TDOC)/"; \
495 cd
"$(SRC)/util" && \
496 $(FIND
) cm2mlb
-type f
'!' -name .gitignore \
497 |
$(XARGS
) $(TAR
) cf
- \
498 |
( cd
"$(TDOC)/" && $(TAR
) xf
- ) \
501 cd
"$(SRC)/regression" && \
502 $(CP
) $(REGRESSION_EXAMPLES
) "$(TEXM)/" \
506 .PHONY
: source-release
509 $(MAKE
) MLTON_VERSION
=$(MLTON_VERSION
) version
510 ( cd
"$(SRC)/mllex" ; latexmk
-pdf lexgen
; latexmk
-c lexgen
)
511 $(MAKE
) -C
"$(SRC)/mllex" mllex.pdf
512 ( cd
"$(SRC)/mlyacc/doc"; latexmk
-pdf mlyaccc
; latexmk
-c mlyacc
)
513 $(MAKE
) -C
"$(SRC)/mlyacc" mlyacc.pdf
515 $(TAR
) cvzf ..
/mlton-
$(MLTON_VERSION
).src.tgz \
516 --exclude .git
--exclude package \
517 --transform
"s@^@mlton-$(MLTON_VERSION)/@S" \
520 MLTON_BINARY_RELEASE
:= 1
521 MLTON_BINARY_RELEASE_SUFFIX
:=
522 .PHONY
: binary-release
525 $(RM
) "$(SRC)/mlton-$(MLTON_VERSION)-$(MLTON_BINARY_RELEASE).$(TARGET_ARCH)-$(TARGET_OS)$(MLTON_BINARY_RELEASE_SUFFIX)"
526 $(MKDIR
) "$(SRC)/mlton-$(MLTON_VERSION)-$(MLTON_BINARY_RELEASE).$(TARGET_ARCH)-$(TARGET_OS)$(MLTON_BINARY_RELEASE_SUFFIX)"
527 $(MAKE
) DESTDIR
="$(SRC)/mlton-$(MLTON_VERSION)-$(MLTON_BINARY_RELEASE).$(TARGET_ARCH)-$(TARGET_OS)$(MLTON_BINARY_RELEASE_SUFFIX)" PREFIX
="" install
528 $(CP
) "$(SRC)/Makefile.binary" "$(SRC)/mlton-$(MLTON_VERSION)-$(MLTON_BINARY_RELEASE).$(TARGET_ARCH)-$(TARGET_OS)$(MLTON_BINARY_RELEASE_SUFFIX)/Makefile"
529 $(CP
) "$(SRC)/CHANGELOG.adoc" "$(SRC)/LICENSE" "$(SRC)/README.adoc" "$(SRC)/mlton-$(MLTON_VERSION)-$(MLTON_BINARY_RELEASE).$(TARGET_ARCH)-$(TARGET_OS)$(MLTON_BINARY_RELEASE_SUFFIX)/"
530 $(TAR
) cvzf ..
/mlton-
$(MLTON_VERSION
)-$(MLTON_BINARY_RELEASE
).
$(TARGET_ARCH
)-$(TARGET_OS
)$(MLTON_BINARY_RELEASE_SUFFIX
).tgz \
531 mlton-
$(MLTON_VERSION
)-$(MLTON_BINARY_RELEASE
).
$(TARGET_ARCH
)-$(TARGET_OS
)$(MLTON_BINARY_RELEASE_SUFFIX
)
532 $(RM
) mlton-
$(MLTON_VERSION
)-$(MLTON_BINARY_RELEASE
).
$(TARGET_ARCH
)-$(TARGET_OS
)$(MLTON_BINARY_RELEASE_SUFFIX
)
534 BSDSRC
:= /tmp
/mlton-
$(MLTON_VERSION
)
535 MLTON_FREEBSD_RELEASE
:= 1
538 $(MAKE
) clean clean-git version
541 ( cd
$(SRC
) && tar -cpf
- .
) |
( cd
"$(BSDSRC)" && tar -xpf
- )
542 cd
/tmp
&& tar -cpf
- mlton-
$(MLTON_VERSION
) | \
543 $(GZIP
) --force --best
>/usr
/ports
/distfiles
/mlton-
$(MLTON_VERSION
)-$(MLTON_FREEBSD_RELEASE
).freebsd.src.tgz
544 # do not change "make" to "$(MAKE)" in the following line
545 cd
"$(BSDSRC)/package/freebsd" && MAINTAINER_MODE
=yes make build-package