1#
2# $Id: Makefile,v 1.22 2005/04/05 22:47:07 eserte Exp $
3#
4
5# cygwin: failures while building in some directories. Solution:
6# build with "make -k" and try again
7
8# XXX Should migrate to Makefile.PL
9
10PERL?=perl
11
12all:	clean build
13
14ext:	clean build install
15
16ext-bbbikexs:		ext-bbbikexs-clean ext-bbbikexs-build ext-bbbikexs-install
17ext-virtarray:		ext-virtarray-clean ext-virtarray-build  ext-virtarray-install
18ext-strassennetz-cnetfile: ext-strassennetz-cnetfile-clean ext-strassennetz-cnetfile-build  ext-strassennetz-cnetfile-install
19ext-strassen-inline:	ext-strassen-inline-clean ext-strassen-inline-build  ext-strassen-inline-install
20ext-strassen-inline2:	ext-strassen-inline2-clean ext-strassen-inline2-build  ext-strassen-inline2-install
21ext-vectorutil-inline:	ext-vectorutil-inline-clean ext-vectorutil-inline-build  ext-vectorutil-inline-install
22
23ext-bbbikexs-clean:
24	-cd BBBikeXS && $(PERL) Makefile.PL && ${MAKE} clean && rm -f Makefile.old
25
26ext-bbbikexs-build:
27	cd BBBikeXS && $(PERL) Makefile.PL && ${MAKE} ${.MAKEFLAGS}
28
29ext-bbbikexs-test:
30	cd BBBikeXS && ${MAKE} ${.MAKEFLAGS} test
31
32ext-bbbikexs-install:
33	cd BBBikeXS && ${MAKE} ${.MAKEFLAGS} install
34
35
36ext-virtarray-clean:
37	-cd VirtArray && $(PERL) Makefile.PL && ${MAKE} clean && rm -f Makefile.old
38
39ext-virtarray-build:
40	cd VirtArray && $(PERL) Makefile.PL && ${MAKE} ${.MAKEFLAGS}
41
42ext-virtarray-test:
43	cd VirtArray && ${MAKE} ${.MAKEFLAGS} test
44
45ext-virtarray-install:
46	cd VirtArray && ${MAKE} ${.MAKEFLAGS} install
47
48
49ext-strassennetz-cnetfile-clean:
50	-cd StrassenNetz-CNetFile && $(PERL) Makefile.PL && ${MAKE} clean && rm -f Makefile.old
51
52ext-strassennetz-cnetfile-build:
53	cd StrassenNetz-CNetFile && $(PERL) Makefile.PL && rm -f Inline.inl && env PERL5LIB=../..:../../lib:$$PERL5LIB ${MAKE} ${.MAKEFLAGS}
54
55ext-strassennetz-cnetfile-test:
56	cd StrassenNetz-CNetFile && env PERL5LIB=../..:../../lib:$$PERL5LIB ${MAKE} ${.MAKEFLAGS} test
57
58ext-strassennetz-cnetfile-install:
59	cd StrassenNetz-CNetFile && ${MAKE} ${.MAKEFLAGS} install
60
61
62ext-strassen-inline-clean:
63	-cd Strassen-Inline && $(PERL) Makefile.PL && ${MAKE} clean && rm -f Makefile.old
64
65ext-strassen-inline-build:
66	cd Strassen-Inline && $(PERL) Makefile.PL && rm -f Inline.inl && ${MAKE} ${.MAKEFLAGS}
67
68ext-strassen-inline-test:
69	cd Strassen-Inline && ${MAKE} ${.MAKEFLAGS} test
70
71ext-strassen-inline-install:
72	cd Strassen-Inline && ${MAKE} ${.MAKEFLAGS} install
73
74
75ext-strassen-inline2-clean:
76	-cd Strassen-Inline2 && $(PERL) Makefile.PL && ${MAKE} clean && rm -f Makefile.old
77
78ext-strassen-inline2-build:
79	cd Strassen-Inline2 && $(PERL) Makefile.PL && rm -f Inline.inl && ${MAKE} ${.MAKEFLAGS}
80
81ext-strassen-inline2-test:
82	cd Strassen-Inline2 && env PERL5OPT=-Mblib=../StrassenNetz-CNetFile ${MAKE} ${.MAKEFLAGS} test
83
84ext-strassen-inline2-install:
85	cd Strassen-Inline2 && ${MAKE} ${.MAKEFLAGS} install
86
87
88ext-vectorutil-inline-clean:
89	-cd VectorUtil-Inline && $(PERL) Makefile.PL && ${MAKE} clean && rm -f Makefile.old
90
91ext-vectorutil-inline-build:
92	cd VectorUtil-Inline && $(PERL) Makefile.PL && rm -f Inline.inl && ${MAKE} ${.MAKEFLAGS}
93
94ext-vectorutil-inline-test:
95	cd VectorUtil-Inline && env BATCH=yes ${MAKE} ${.MAKEFLAGS} test
96
97ext-vectorutil-inline-install:
98	cd VectorUtil-Inline && ${MAKE} ${.MAKEFLAGS} install
99
100
101strassen-inline2:
102	rm -rf Strassen-Inline2
103	$(PERL) ../miscsrc/filter_version.pl -prefix FILTER -version 2 Strassen-Inline Strassen-Inline2
104	-rm -f Strassen-Inline2/InlineDist.pm
105	-rm -f Strassen-Inline2/heap.*
106	mv Strassen-Inline2/Inline.pm Strassen-Inline2/Inline2.pm
107
108# only update
109strassen-inline2-update:
110	$(PERL) ../miscsrc/filter_version.pl -force -update -prefix FILTER -version 2 Strassen-Inline Strassen-Inline2
111	-rm -f Strassen-Inline2/InlineDist.pm
112	-rm -f Strassen-Inline2/heap.*
113	-rm -f Strassen-Inline2/Inline2.pm
114	mv Strassen-Inline2/Inline.pm Strassen-Inline2/Inline2.pm
115
116clean:	ext-bbbikexs-clean \
117	ext-virtarray-clean \
118	ext-strassennetz-cnetfile-clean \
119	ext-strassen-inline-clean \
120	ext-strassen-inline2-clean \
121	ext-vectorutil-inline-clean
122
123build:	ext-bbbikexs-build \
124	ext-virtarray-build \
125	ext-strassennetz-cnetfile-build \
126	ext-strassen-inline-build \
127	ext-strassen-inline2-build \
128	ext-vectorutil-inline-build
129
130test:	ext-bbbikexs-test \
131	ext-virtarray-test \
132	ext-strassennetz-cnetfile-test \
133	ext-strassen-inline-test \
134	ext-strassen-inline2-test \
135	ext-vectorutil-inline-test
136
137install:ext-bbbikexs-install \
138	ext-virtarray-install \
139	ext-strassennetz-cnetfile-install \
140	ext-strassen-inline-install \
141	ext-strassen-inline2-install \
142	ext-vectorutil-inline-install
143
144#GNUmakefile: Makefile
145#	../miscsrc/b2gmake < Makefile > GNUmakefile
146#	chmod ugo+r GNUmakefile
147