summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile53
1 files changed, 53 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..c778193
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,53 @@
1VERSION = 1
2PATCHLEVEL = 0
3EXTRAVERSION = beta1
4
5LIBRARY = mtdev.so
6MODULES = src
7
8o_src = match iobuf caps core
9
10TARGETS += test/mtdev-mapgen
11TARGETS += test/mtdev
12
13OBJECTS = $(addsuffix .o,\
14 $(foreach mod,$(MODULES),\
15 $(addprefix $(mod)/,$(o_$(mod)))))
16
17TBIN = $(addprefix bin/,$(TARGETS))
18TLIB = $(addprefix obj/,$(LIBRARY))
19TOBJ = $(addprefix obj/,$(addsuffix .o,$(TARGETS)))
20OBJS = $(addprefix obj/,$(OBJECTS))
21LIBS =
22
23DLIB = usr/lib/xorg/modules
24
25INCLUDE = -Iinclude
26OPTS = -O3 -fPIC
27
28.PHONY: all clean
29.PRECIOUS: obj/%.o
30
31all: $(OBJS) $(TLIB) $(TOBJ) $(TBIN)
32
33bin/%: obj/%.o $(TLIB)
34 @mkdir -p $(@D)
35 gcc $< -o $@ $(TLIB) $(LIBS)
36
37$(TLIB): $(OBJS) $(XOBJS)
38 @rm -f $(TLIB)
39 gcc -shared $(OBJS) $(XOBJS) -Wl,-soname -Wl,$(LIBRARY) -o $@
40
41obj/%.o: %.c
42 @mkdir -p $(@D)
43 gcc $(INCLUDE) $(OPTS) -c $< -o $@
44
45clean:
46 rm -rf bin obj
47
48distclean: clean
49 rm -rf debian/*.log debian/files
50
51install: $(TLIB) $(TFDI)
52 install -d "$(DESTDIR)/$(DLIB)"
53 install -m 755 $(TLIB) "$(DESTDIR)/$(DLIB)"