Line
Link Here
|
0 |
-- Makefile |
0 |
++ Makefile |
Lines 1-19
Link Here
|
1 |
ALL : markdown |
1 |
PROGRAM=peg-markdown |
2 |
|
2 |
LNAME=peg-markdown |
3 |
PROGRAM=markdown |
3 |
LIBRARY=lib$(LNAME).so |
|
|
4 |
VER_MAJOR=0 |
5 |
VER_MINOR=4.12 |
6 |
SONAME=$(LIBRARY).$(VER_MAJOR) |
7 |
REALNAME=$(SONAME).$(VER_MINOR) |
8 |
CC ?= gcc |
4 |
CFLAGS ?= -Wall -O3 -ansi |
9 |
CFLAGS ?= -Wall -O3 -ansi |
5 |
OBJS=markdown_parser.o markdown_output.o markdown_lib.o |
10 |
OBJS=markdown_parser.o markdown_output.o markdown_lib.o |
6 |
PEGDIR=peg-0.1.4 |
11 |
PEGDIR=peg-0.1.4 |
7 |
LEG=$(PEGDIR)/leg |
12 |
LEG := $(shell ./check-leg) |
|
|
13 |
|
14 |
PREFIX ?= /usr/local |
15 |
BINDIR ?= $(PREFIX)/bin |
16 |
LIBDIR ?= $(PREFIX)/lib |
17 |
INCDIR ?= $(PREFIX)/inc |
18 |
|
19 |
INSTALL ?= install |
20 |
INSTALL_PROG ?= $(INSTALL) -m755 |
21 |
INSTALL_H ?= $(INSTALL) -m644 |
22 |
|
23 |
ALL : $(PROGRAM) build-doc |
8 |
|
24 |
|
9 |
$(LEG): |
25 |
$(LEG): |
10 |
CC=gcc make -C $(PEGDIR) |
26 |
CC=$(CC) make -C $(PEGDIR) |
11 |
|
27 |
|
12 |
%.o : %.c markdown_peg.h |
28 |
%.o : %.c markdown_peg.h |
13 |
$(CC) -c `pkg-config --cflags glib-2.0` $(CFLAGS) -o $@ $< |
29 |
$(CC) -c `pkg-config --cflags glib-2.0` $(CFLAGS) -fPIC -o $@ $< |
14 |
|
30 |
|
15 |
$(PROGRAM) : markdown.c $(OBJS) |
31 |
$(PROGRAM) : markdown.c $(LIBRARY) |
16 |
$(CC) `pkg-config --cflags glib-2.0` `pkg-config --libs glib-2.0` $(CFLAGS) -o $@ $(OBJS) $< |
32 |
$(CC) `pkg-config --cflags glib-2.0` `pkg-config --libs glib-2.0` $(CFLAGS) -o $@ $< \ |
|
|
33 |
-L. -l $(LNAME) |
34 |
|
35 |
$(LIBRARY) : $(SONAME) |
36 |
ln -s $(SONAME) $(LIBRARY) |
37 |
|
38 |
$(SONAME) : $(REALNAME) |
39 |
ln -s $(REALNAME) $(SONAME) |
40 |
|
41 |
$(REALNAME) : $(OBJS) |
42 |
$(CC) -shared -Wl,-soname,$(SONAME) \ |
43 |
-o $(REALNAME) $(OBJS) \ |
44 |
`pkg-config --cflags glib-2.0` `pkg-config --libs glib-2.0` |
17 |
|
45 |
|
18 |
markdown_parser.c : markdown_parser.leg $(LEG) markdown_peg.h parsing_functions.c utility_functions.c |
46 |
markdown_parser.c : markdown_parser.leg $(LEG) markdown_peg.h parsing_functions.c utility_functions.c |
19 |
$(LEG) -o $@ $< |
47 |
$(LEG) -o $@ $< |
Lines 21-27
Link Here
|
21 |
.PHONY: clean test |
49 |
.PHONY: clean test |
22 |
|
50 |
|
23 |
clean: |
51 |
clean: |
24 |
rm -f markdown_parser.c $(PROGRAM) $(OBJS); \ |
52 |
rm -f markdown_parser.c $(PROGRAM) $(OBJS) \ |
|
|
53 |
$(LIBRARY) $(SONAME) $(REALNAME); \ |
25 |
make -C $(PEGDIR) clean |
54 |
make -C $(PEGDIR) clean |
26 |
|
55 |
|
27 |
distclean: clean |
56 |
distclean: clean |
Lines 29-36
Link Here
|
29 |
|
58 |
|
30 |
test: $(PROGRAM) |
59 |
test: $(PROGRAM) |
31 |
cd MarkdownTest_1.0.3; \ |
60 |
cd MarkdownTest_1.0.3; \ |
|
|
61 |
export LD_LIBRARY_PATH=..; \ |
32 |
./MarkdownTest.pl --script=../$(PROGRAM) --tidy |
62 |
./MarkdownTest.pl --script=../$(PROGRAM) --tidy |
33 |
|
63 |
|
34 |
leak-check: $(PROGRAM) |
64 |
leak-check: $(PROGRAM) |
35 |
valgrind --leak-check=full ./markdown README |
65 |
export LD_LIBRARY_PATH=.; \ |
|
|
66 |
valgrind --leak-check=full ./$(PROGRAM) README |
36 |
|
67 |
|
|
|
68 |
build-doc: $(PROGRAM) |
69 |
export LD_LIBRARY_PATH=.; \ |
70 |
./$(PROGRAM) README > README.html |