-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
56 lines (56 loc) · 2.13 KB
/
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# -------------------------------------------------------
all: src
# -------------------------------------------------------
LUA_VERSION ?= 5.1
INST_PREFIX ?= /usr/local
# -------------------------------------------------------
INC_PREFIX ?= /usr/include
INCDIRS ?= $(INC_PREFIX)/lua/$(LUA_VERSION) $(INC_PREFIX)/usr/include/lua$(LUA_VERSION)
# -------------------------------------------------------
CC = gcc
LDFLAGS += -shared -fPIC
# -------------------------------------------------------
INST_BINDIR = $(INST_PREFIX)/bin
INST_CONFDIR = $(INST_PREFIX)/etc
INST_LIBDIR = $(INST_PREFIX)/lib/lua/$(LUA_VERSION)
INST_LUADIR = $(INST_PREFIX)/share/lua/$(LUA_VERSION)
# -------------------------------------------------------
CFLAGS += -O2
CFLAGS += -Wall
CFLAGS += -Werror
CFLAGS += -fPIC
# -------------------------------------------------------
CFLAGS += $(INCDIRS:%=-I%)
# -------------------------------------------------------
LUAFILES := $(wildcard src/*.lua)
CFILES := $(wildcard src/*.c)
OBJS := $(CFILES:.c=.o)
DFILES := $(CFILES:.c=.d)
# -------------------------------------------------------
TARGSO := LuaBase64/c.so
TARGAR := LuaBase64/c.a
# -------------------------------------------------------
src: $(TARGSO) $(TARGAR)
# -------------------------------------------------------
$(TARGAR): $(OBJS)
mkdir -pv $(dir $@)
ar rc $@ $(OBJS)
# -------------------------------------------------------
$(TARGSO): $(OBJS)
mkdir -pv $(dir $@)
$(CC) $(LDFLAGS) -o $@ $(OBJS)
# -------------------------------------------------------
install: $(TARGSO) installlua installlib
# -------------------------------------------------------
installlua: $(LUAFILES)
cp -v $< $(INST_LUADIR)/
# -------------------------------------------------------
installlib: $(TARGSO)
mkdir -pv $(INST_LIBDIR)/LuaBase64
cp -v $< $(INST_LIBDIR)/LuaBase64/
# -------------------------------------------------------
clean:
rm -vf $(OBJS) $(TARGSO) $(TARGAR)
# -------------------------------------------------------
.PHONY: clean install
# -------------------------------------------------------