Makefile (2705B)
- # SPDX-FileCopyrightText: 2019 deblob Authors <https://hacktivis.me/projects/deblob>
- # SPDX-License-Identifier: BSD-3-Clause
- AR ?= ar
- CC ?= cc
- MCS ?= mcs # Mono C Sharp compiler
- CFLAGS ?= -Os -s
- JAVAC ?= javac
- JAR ?= jar
- NQP ?= nqp
- PARROT ?= parrot
- PERL ?= perl
- ERLC ?= erlc
- DTC ?= dtc
- CHEZ ?= chezscheme
- OCAMLC ?= ocamlc
- OCAMLOPT ?= ocamlopt
- EMACS ?= emacs
- SQUIRREL ?= squirrel3
- DART ?= dart
- NONBUNDLED_BLOBS = hello hello.a hello.o hello.erl.escript hello.beam.escript
- TEST_BLOBS = $(NONBUNDLED_BLOBS) hello.exe hello.luac53 hello.luac54 hello.wasm hello.class hello.jar hello.nqp.moarvm hello.pir.pbc perl_storage.pst hello.beam empty.dtb hello-chez.so hello.n hello-ocaml.cmo hello-ocaml.cma hello-ocaml.cmx hello-ocaml.cmxa compiled/hello-racket_rkt.zo hello.elc hello.cnut hello-dart.dill hello-dart.jit
- base: $(NONBUNDLED_BLOBS)
- all: $(TEST_BLOBS)
- .PHONY: clean
- clean:
- rm -f $(NONBUNDLED_BLOBS) hello-ocaml.o hello-ocaml.a hello-ocaml.cmi
- .PHONY: cleanall
- cleanall:
- rm -f $(TEST_BLOBS)
- hello.a: hello
- $(AR) -rc $@ hello
- hello.o: hello.c
- $(CC) $(CFLAGS) -c -o $@ hello.c
- hello: hello.c
- $(CC) $(CFLAGS) -o $@ hello.c
- hello.exe: hello.cs
- $(MCS) hello.cs
- hello.luac53: hello.lua
- luac5.3 -o $@ hello.lua
- hello.luac54: hello.lua
- luac5.4 -o $@ hello.lua
- hello.wasm: hello.wat
- wat2wasm -o $@ hello.wat
- hello.class: hello.java
- $(JAVAC) hello.java
- hello.jar: hello.class
- $(JAR) cf $@ hello.class
- hello.nqp.moarvm: hello.nqp
- $(NQP) --target mbc --output=$@ hello.nqp
- hello.pir.pbc: hello.pir
- $(PARROT) -o $@ hello.pir
- perl_storage.pst: perl_storage.pm
- $(PERL) perl_storage.pm
- hello.erl.escript: hello.erl
- echo '#!/usr/bin/env escript' | cat - hello.erl >|$@
- chmod +x $@
- hello.beam: hello.erl
- $(ERLC) +deterministic hello.erl
- hello.beam.escript: hello.beam
- echo '#!/usr/bin/env escript' | cat - hello.beam >|$@
- chmod +x $@
- empty.dtb: empty.dts
- $(DTC) -o $@ -O dtb empty.dts
- hello-chez.so: hello-chez.ss
- echo '(compile-file "hello-chez.ss")' | $(CHEZ) -q
- hello.n: hello.neko
- nekoc hello.neko
- hello-ocaml.cmo: hello-ocaml.ml
- $(OCAMLC) -c hello-ocaml.ml
- hello-ocaml.cma: hello-ocaml.cmo
- $(OCAMLC) -a -o hello-ocaml.cma hello-ocaml.cmo
- hello-ocaml.cmx: hello-ocaml.ml
- $(OCAMLOPT) -c hello-ocaml.ml
- hello-ocaml.cmxa: hello-ocaml.cmx
- $(OCAMLOPT) -a -o hello-ocaml.cmxa hello-ocaml.cmx
- compiled/hello-racket_rkt.zo: hello-racket.rkt
- racket -e '(require compiler/cm)(managed-compile-zo "hello-racket.rkt")'
- hello.elc: hello.el
- $(EMACS) --eval '(byte-compile-file "hello.el")' --batch
- hello.cnut: hello.nut
- $(SQUIRREL) -c -o $@ hello.nut
- hello-dart.dill:
- $(DART) compile kernel hello-dart.dart
- hello-dart.jit:
- $(DART) compile jit-snapshot hello-dart.dart