blob: 0f9859504f0ad83d809e7ad648252bc0539caf78 (
plain)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
Addresing multiple QA issues:
- fixing CFLAGS, LDFLAGS, CC
- fixing parallel build
- fixing as-needed issues
- making static libs optional
- introducing make DESTDIR compatibility
- removing Makefile.PLATFORM bits, as they violate sandbox
http://bugs.gentoo.org/show_bug.cgi?id=313673
Patch written by Kacper Kowalik <xarthisius.kk@gmail.com>
--- a/Makefile
+++ b/Makefile
@@ -1,13 +1,13 @@
# Makefile for libmba
# Supported flags: -DVARRAY_INIT_SIZE=N -DUSE_WCHAR
-MFLAGS = -g -W1 -Isrc
+MFLAGS = -Isrc
MKTOOL = ./mktool
-prefix = /usr/local
+prefix = $(DESTDIR)/usr
includedir = $(prefix)/include
-libdir = $(prefix)/lib
-mandir = $(prefix)/man
+libdir = $(prefix)/$(LIBDIR)
+mandir = $(prefix)/share/man
LIBNAME = mba
LIBVERS = 0.9.1
ARNAME = lib$(LIBNAME).a
@@ -19,39 +19,49 @@
MAN = diff.3m bitset.3m allocator.3m cfg.3m pool.3m varray.3m csv.3m text.3m path.3m suba.3m msgno.3m stack.3m linkedlist.3m hashmap.3m hexdump.3m shellout.3m eval.3m svsem.3m svcond.3m time.3m
MANGZ = $(MAN:.3m=.3m.gz)
+.PHONY: all clean install uninstall install-ar uninstall-ar
.SUFFIXES: .pic.o .3m .3m.gz
-all: mktool so ar
+ifeq ($(STATIC),1)
+all: $(MKTOOL) so ar
+install-ar: $(ARNAME)
+ -$(MKTOOL) -i $(ARNAME) $(libdir)
+uninstall-ar:
+ $(MKTOOL) -u $(ARNAME) $(libdir)
+else
+all: $(MKTOOL) so
+install-ar:
+uninstall-ar:
+endif
-mktool:
+$(MKTOOL): mktool.c
$(CC) -g -o mktool mktool.c
-ar: mktool $(OBJS)
+$(PICOBJS): $(MKTOOL)
+$(OBJS): $(MKTOOL)
+
+ar: $(OBJS)
ar $(ARFLAGS) $(ARNAME) $(OBJS)
ranlib $(ARNAME)
-so: mktool $(PICOBJS)
- @$(MKTOOL) -l -v -libname $(LIBNAME) -libvers $(LIBVERS) -shared -soname -lutil $(PICOBJS)
+so: $(PICOBJS)
+ @$(MKTOOL) -l -v -libname $(LIBNAME) -libvers $(LIBVERS) -shared -soname $(LDFLAGS) $(PICOBJS) -lutil
.c.pic.o:
- @$(MKTOOL) -c -v $(MFLAGS) -fpic -c -o $*.pic.o $<
+ @$(MKTOOL) -c -v $(CFLAGS) $(MFLAGS) -fpic -c -o $*.pic.o $<
.c.o:
- @$(MKTOOL) -c -v $(MFLAGS) -c -o $*.o $<
+ @$(MKTOOL) -c -v $(CFLAGS) $(MFLAGS) -c -o $*.o $<
-install: mktool
- -$(MKTOOL) -i $(ARNAME) $(libdir)
- -$(MKTOOL) -i -libname $(LIBNAME) -libvers $(LIBVERS) $(libdir)
+install: install-ar
+ $(MKTOOL) -i -libname $(LIBNAME) -libvers $(LIBVERS) $(libdir)
$(MKTOOL) -i $(HDRS) $(includedir)/mba
$(MKTOOL) -i docs/man/*.3m.gz $(mandir)/man3
- @-libdir=$(libdir) mandir="$(mandir)" MAN="$(MAN)" MANGZ="$(MANGZ)" $(MKTOOL) -m -v platform_specific_install
@echo
@echo installation successful
-uninstall: mktool
- $(MKTOOL) -u $(ARNAME) $(libdir)
+uninstall: uninstall-ar
$(MKTOOL) -u -libname $(LIBNAME) -libvers $(LIBVERS) $(libdir)
$(MKTOOL) -u $(HDRS) $(includedir)/mba
rm -rf $(includedir)/mba
$(MKTOOL) -u $(MANGZ) $(mandir)/man3
- -@libdir=$(libdir) mandir="$(mandir)" MAN="$(MAN)" MANGZ="$(MANGZ)" $(MKTOOL) -m -v platform_specific_uninstall
@echo
@echo de-installation successful
|