File: Makefile

package info (click to toggle)
otags 3.09.3-4
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 372 kB
  • ctags: 296
  • sloc: ml: 1,004; sh: 309; makefile: 122
file content (143 lines) | stat: -rw-r--r-- 3,687 bytes parent folder | download
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# (C) 1999-2004                                                
# Cuihtlauac Alvarado, France Telecon, Recherche & Developement
# Jean-Franois Monin, Universit Joseph Fourier - VERIMAG     

# $Id: Makefile,v 1.26 2007-03-26 21:38:10 tews Exp $ 

all: targets

include Makefile.here
include Makefile.config

TAGS_MLI=line_number.mli splay.mli
EMACS_MLI=emacs.mli
VI_MLI=vi.mli
OTAGS_ML=otags.ml
TAGS_ML=splay.ml line_number.ml editor.ml pr.ml
EMACS_ML=emacs.ml pr_emacs_tags.ml 
VI_ML=vi.ml pr_vi_tags.ml
MLI_SRC=${TAGS_MLI} ${EMACS_MLI} ${VI_MLI}
ML_SRC=${OTAGS_ML} ${TAGS_ML} ${EMACS_ML} ${VI_ML}
SRC=${MLI_SRC} ${ML_SRC}
OBJ=otags
LIBS=tags.cma pr_emacs_tags.cma pr_vi_tags.cma
TESTFILES=test.ml testmli.mli


targets: $(LIBS) $(OBJ) $(NCAMLP4)

-include Makefile.depend

#tags.cma: libotags(${IMPLEM:.ml=.o})
#	ranlib $+

tags.cma(%.cmo): %cmo

tags.cma: ${TAGS_ML:%.ml=%.cmo}
	$(CAMLC) -a -o $@ ${ZLIBS} $+

tags.cmxa: ${TAGS_ML:%.ml=%.cmx}
	$(CAMLOPT) -a -o $@ ${ZLIBS} $+

pr_emacs_tags.cma: ${EMACS_ML:%.ml=%.cmo}
	$(CAMLC) -a -o $@ ${ZLIBS} $+

pr_vi_tags.cma: ${VI_ML:%.ml=%.cmo}
	$(CAMLC) -a -o $@ ${ZLIBS} $+

pr_emacs_tags.cmxa: ${EMACS_ML:%.ml=%.cmx}
	$(CAMLOPT) -a -o $@ ${ZLIBS} $+

pr_vi_tags.cmxa: ${VI_ML:%.ml=%.cmx}
	$(CAMLOPT) -a -o $@ ${ZLIBS} $+

otags.opt: conf.cmx otags.cmx
	$(CAMLOPT) unix.cmxa -o $@ $+

otags.byte: conf.cmo otags.cmo
	$(CAMLC) unix.cma -o $@ $+

# Natively Compiled Parsers
#
# The default version use pa_o_fast.cmx as grammar, which is 
# not extensible and only installed from 3.09.3
#
# The *ext version use pa_o.cmx and pa_op.cmx, which are still
# extensible. 
# (The extensibility is a bit theoretical, because the cmx versions 
# cannot load any modules on runtime -- in contrast to camlp4.)

# since 3.09.3 we don't need any source tree
camlp4o_pr_emacs: \
		tags.cmxa pr_emacs_tags.cmxa 
	${CAMLOPT} -linkall -o $@ -I ${CAMLP4DIR} odyl.cmxa camlp5.cmxa \
		pa_o_fast.cmx $+ \
		odyl.cmx

camlp4o_pr_vi: \
		tags.cmxa pr_vi_tags.cmxa 
	${CAMLOPT} -linkall -o $@ -I ${CAMLP4DIR} odyl.cmxa camlp5.cmxa \
		pa_o_fast.cmx $+ \
		odyl.cmx

camlp4o_pr_emacs_ext: tags.cmxa pr_emacs_tags.cmxa 
	${CAMLOPT} -linkall -o $@ -I ${CAMLP4DIR} odyl.cmxa camlp5.cmxa \
		pa_o.cmx pa_op.cmx $+ \
		odyl.cmx

camlp4o_pr_vi_ext: tags.cmxa pr_vi_tags.cmxa 
	${CAMLOPT} -linkall -o $@ -I ${CAMLP4DIR} odyl.cmxa camlp5.cmxa \
		pa_o.cmx pa_op.cmx $+ \
		odyl.cmx

.PHONY: tags check checkext

tags::
	./otags -v ${ZLIBS} $(SRC)

check: all
	for f in $(TESTFILES) ; do \
		./mk_test $$f || exit 1; \
	done

checkext: check
	./mk_test -r $$HOME/src/ccsl/ccslc
	./mk_test -r /usr/local/src/lablgtk-2.6.0

generation:
	for f in test/*new ; do \
		cp $$f $$(dirname $$f)/$$(basename $$f .new);\
	done


clean::
	rm -f *~
	rm -f *.cm[iaox] *.o *.cmxa *.a *.ppo 
	rm -f *.orig *.old *.new *.bak core.*
	rm -f *.*.ps *.*.dvi *.*.log *.*.tex *.*.aux
	rm -f TAGS *.tags *.dep *.tmp
	rm -f *.cmxa *.a
	rm -f $(OBJ)
	rm -f camlp4o_pr* otags.{cmo,cmx,o,opt,byte}
	rm -f *.tar*

install: $(LIBS) $(OBJ)
	mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(INSTALLLIBDIR)
	install -m 644 $(LIBS) $(DESTDIR)$(INSTALLLIBDIR)
	install -m 755 $(OBJ) $(DESTDIR)$(BINDIR)
	if [ $(NATIVE) = "true" ] ; then \
		install -m 755 $(NCAMLP4) $(DESTDIR)$(BINDIR); \
	fi

uninstall:
	cd $(INSTALLLIBDIR); rm -f $(LIBS)
	cd $(BINDIR); rm -f $(OBJ)
	cd $(BINDIR); rm -r $(NCAMLP4)

depend: ${MLI_SRC:.mli=.dep} ${ML_SRC:.ml=.dep} otags.dep
	cat *.dep > Makefile.depend
	echo "pr_emacs_tags.cmo: emacs.cmo" >> Makefile.depend
	echo "pr_emacs_tags.cmx: emacs.cmx" >> Makefile.depend
	echo "pr_vi_tags.cmo: vi.cmo" >> Makefile.depend
	echo "pr_vi_tags.cmx: vi.cmx" >> Makefile.depend
	rm -f *.dep