-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
38 lines (28 loc) · 823 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
PREFIX ?= /usr/local
MANPREFIX ?= $(PREFIX)/share
BINDIR ?= $(PREFIX)/bin
LIBDIR ?= $(PREFIX)/lib
MANDIR ?= $(MANPREFIX)/man
SML_LIB ?= $(LIBDIR)/polymlb
POLYC ?= polyc
INSTALL ?= install
SRC != ls src/bin/*.sml src/lib/*.sml
all: polymlb
polymlb: $(SRC)
SML_LIB=$(SML_LIB) $(POLYC) -o $@ src/bin/build.sml
sml_lib: polymlb
$(eval SML_LIB != ./polymlb -sml-lib)
test:
$(MAKE) -C test all
install: all sml_lib
$(INSTALL) -m 755 -d $(DESTDIR)$(BINDIR)
$(INSTALL) -m 755 -d $(DESTDIR)$(SML_LIB)
$(INSTALL) -m 755 -d $(DESTDIR)$(MANDIR)/man1
$(INSTALL) -m 755 polymlb $(DESTDIR)$(BINDIR)
cp -RL lib/* $(DESTDIR)$(SML_LIB)
$(INSTALL) -m 644 polymlb.1 $(DESTDIR)$(MANDIR)/man1
clean:
rm -f polymlb
test-clean:
$(MAKE) -C test clean
.PHONY: all clean install sml_lib test