public
Description: An implementation of markdown in C, using a PEG grammar
Clone URL: git://github.com/jgm/peg-markdown.git
peg-markdown / peg-0.1.4 / Makefile
100644 59 lines (41 sloc) 0.915 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
48
49
50
51
52
53
54
55
56
57
58
59
CFLAGS = -g -Wall $(OFLAGS) $(XFLAGS)
OFLAGS = -O3 -DNDEBUG
#OFLAGS = -pg
 
OBJS = tree.o compile.o
 
all : peg leg
 
peg : peg.o $(OBJS)
  $(CC) $(CFLAGS) -o $@-new peg.o $(OBJS)
  mv $@-new $@
 
leg : leg.o $(OBJS)
  $(CC) $(CFLAGS) -o $@-new leg.o $(OBJS)
  mv $@-new $@
 
ROOT  =
PREFIX  = /usr/local
BINDIR  = $(ROOT)$(PREFIX)/bin
 
install : $(BINDIR)/peg $(BINDIR)/leg
 
$(BINDIR)/% : %
  cp -p $< $@
  strip $@
 
uninstall : .FORCE
  rm -f $(BINDIR)/peg
  rm -f $(BINDIR)/leg
 
peg.o : peg.c peg.peg-c
 
%.peg-c : %.peg
#  ./peg -o $@ $<
 
leg.o : leg.c
 
leg.c : leg.leg
#  ./leg -o $@ $<
 
check : peg .FORCE
  ./peg < peg.peg > peg.out
  diff peg.peg-c peg.out
  rm peg.out
 
test examples : .FORCE
  $(SHELL) -ec '(cd examples; $(MAKE))'
 
clean : .FORCE
  rm -f *~ *.o *.peg.[cd] *.leg.[cd]
  $(SHELL) -ec '(cd examples; $(MAKE) $@)'
 
spotless : clean .FORCE
  rm -f peg
  rm -f leg
  $(SHELL) -ec '(cd examples; $(MAKE) $@)'
 
.FORCE :