Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
59 lines (40 loc) · 1.77 KB
/
Copy pathMakefile
File metadata and controls
59 lines (40 loc) · 1.77 KB
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
39
40
41
42
43
44
45
46
47
6BBB
48
49
50
51
52
53
54
55
56
57
58
.PHONY: test all luac clean rock install tlc lua
LUAS= ./subprocess/types.lua ./subprocess/exceptions.lua ./subprocess/posix.lua ./subprocess/windows.lua ./subprocess.lua
LUACS=./subprocess/types.luac ./subprocess/exceptions.luac ./subprocess/posix.luac ./subprocess/windows.luac ./subprocess.luac
PREFIX=/usr/local
INST_LIBDIR=$(PREFIX)/lib/lua/5.3/
INST_LUADIR=$(PREFIX)/share/lua/5.3/
SYSCALL_INCDIR=/usr/include
LIBFLAG=-shared
LUA_INCDIR=/usr/local/include
EXISTS=test -f
ECHO=echo -n
TLCFLAGS=
POSIX_CORE=subprocess/posix/core.so
POSIX_CORE_SOURCES=subprocess/posix/compat-5.3.c subprocess/posix/close_fds.c subprocess/inheritable.c subprocess/posix/core.c
POSIX_CORE_HEADERS=subprocess/posix/compat-5.3.h subprocess/posix/close_fds.h subprocess/inheritable.h
all: $(POSIX_CORE) $(LUACS) test
lua: $(LUAS)
luac: $(LUACS)
test: $(LUACS)
LUA_PATH="$$PWD/?.luac;$$LUA_PATH" lua test/subprocess_spec.lua
busted: $(LUAS)
LUA_PATH="$$PWD/?.lua;$$LUA_PATH" busted test
$(POSIX_CORE): $(POSIX_CORE_SOURCES) $(POSIX_CORE_HEADERS)
$(CC) $(CFLAGS) $(LIBFLAG) -o $@ -I$(LUA_INCDIR) $(POSIX_CORE_SOURCES) `$(EXISTS) "$(SYSCALL_INCDIR)/sys/syscall.h" && $(ECHO) "-DHAVE_SYS_SYSCALL_H"`
$(LUAS): %.lua: %.tl
tlc $(TLCFLAGS) -o $@ $^ || true
$(LUACS): %.luac: %.tl
mkdir -p .out/`dirname $^`
tlc $(TLCFLAGS) -o .out/$^ $^ && { cd .out && luac -o ../$@ $^ && rm $^ ;} || { cd .out && luac -o ../$@ $^ && rm $^ && cd .. && touch $^ ;}
rock: $(LUAS) $(POSIX_CORE)
install:
mkdir -p $(INST_LIBDIR)/`dirname $(POSIX_CORE)`
cp -a $(POSIX_CORE) $(INST_LIBDIR)/$(POSIX_CORE)
mkdir -p $(INST_LUADIR)/subprocess
for i in $(LUAS); do cp -a $$i $(INST_LUADIR)/$$i; done
tlc:
cd /Users/hisham/projects/github/typedlua && luarocks make --local
clean:
rm -f $(LUAS) $(LUACS) $(POSIX_CORE)
rm -rf .out