1: ldadd_libncurses = $(top_builddir)/tools/@NCURSES@/lib/libncurses.a
2: include_libncurses = -I$(top_builddir)/tools/@NCURSES@/include \
3: -I$(top_srcdir)/tools/@NCURSES@/include
4:
5: ldadd_libhistory = $(top_builddir)/tools/@READLINE@/libhistory.a
6: ldadd_libreadline = $(top_builddir)/tools/@READLINE@/libreadline.a
7: include_libreadline = -I$(top_srcdir)/tools/@READLINE@ \
8: -I$(top_builddir)/tools/@READLINE@ -DREADLINE_LIBRARY
9:
10: ldadd_libgsl = $(top_builddir)/tools/@GSL@/.libs/libgsl.a
11: include_libgsl = -I$(top_builddir)/tools/@GSL@
12:
13: ldadd_libiconv = $(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.a
14: include_libiconv = -I$(top_builddir)/tools/@ICONV@/include
15:
16: ldadd_libcrypto = $(top_builddir)/tools/@OPENSSL@/libcrypto.a
17: ldadd_libssl = $(top_builddir)/tools/@OPENSSL@/libssl.a
18: include_libcrypto = -I$(top_builddir)/tools/@OPENSSL@/include
19:
20: ldadd_libsqlite = $(top_builddir)/tools/@SQLITE@/.libs/libsqlite3.a
21: include_libsqlite = -I$(top_srcdir)/tools/@SQLITE@
22:
23: date = -Dd_date_rpl="\"$(shell LC_ALL=fr_FR date +'%A %x, %X %Z' | \
24: $(AWK) '{ v=$$0; gsub(/^[ \t]+/, "", v); gsub(/[ \t]+$$/, "", v); \
25: printf("%s\n", v);}')\"" \
26: -Dd_date_en_rpl="\"$(shell LC_ALL=C date +'%A %x, %X %Z' | \
27: $(AWK) '{ v=$$0; gsub(/^[ \t]+/, "", v); gsub(/[ \t]+$$/, "", v); \
28: printf("%s\n", v);}')\""
29:
30:
31: hash = -Drplpp_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \
32: $(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT))\"" \
33: -Drplpp_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum$(EXEEXT) \
34: $(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT))\"" \
35: -Drplfile_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \
36: $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT))\"" \
37: -Drplfile_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum$(EXEEXT) \
38: $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT))\"" \
39: -Drpliconv_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \
40: $(top_builddir)/rpliconv/rpliconv$(EXEEXT))\"" \
41: -Drpliconv_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum$(EXEEXT) \
42: $(top_builddir)/rpliconv/rpliconv$(EXEEXT))\"" \
43: -Drplconvert_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \
44: $(top_builddir)/tools/@UNITS@/units$(EXEEXT))\"" \
45: -Drplconvert_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum$(EXEEXT) \
46: $(top_builddir)/tools/@UNITS@/units$(EXEEXT))\""
47:
48: SRCC=\
49: algebre_lineaire1.c\
50: algebre_lineaire2.c\
51: algebre_lineaire3.c\
52: algebre_lineaire4.c\
53: analyse.c\
54: analyse_notation_algebrique.c\
55: analyse_notation_rpn.c\
56: asprintf.c\
57: bibliotheques_externes.c\
58: calcul_differentiel.c\
59: calcul_integral.c\
60: chainage.c\
61: compilation.c\
62: completion.c\
63: controle.c \
64: daemon.c\
65: date.c\
66: depassements.c\
67: dft.c\
68: encart.c\
69: evaluation.c\
70: fonctions_trigonometriques.c\
71: formateur.c\
72: formateur_fichiers.c\
73: fusible.c\
74: generateurs_aleatoires.c\
75: gestion_fichiers.c\
76: gestion_interruptions.c\
77: gestion_niveaux.c\
78: gestion_objets.c\
79: gestion_pile.c\
80: gestion_pile_last.c\
81: gestion_pile_systeme.c\
82: gestion_processus.c\
83: gestion_threads.c\
84: gestion_variables.c\
85: gestion_variables_statiques.c\
86: gestion_variables_partagees.c\
87: getaddrinfo.c\
88: indicateurs.c\
89: instructions_a1.c\
90: instructions_a2.c\
91: instructions_a3.c\
92: instructions_a4.c\
93: instructions_a5.c\
94: instructions_b1.c\
95: instructions_c1.c\
96: instructions_c2.c\
97: instructions_c3.c\
98: instructions_c4.c\
99: instructions_c5.c\
100: instructions_c6.c\
101: instructions_c7.c\
102: instructions_d1.c\
103: instructions_d2.c\
104: instructions_d3.c\
105: instructions_d4.c\
106: instructions_d5.c\
107: instructions_d6.c\
108: instructions_e1.c\
109: instructions_e2.c\
110: instructions_e3.c\
111: instructions_e4.c\
112: instructions_f1.c\
113: instructions_f2.c\
114: instructions_f3.c\
115: instructions_f4.c\
116: instructions_g1.c\
117: instructions_g2.c\
118: instructions_g3.c\
119: instructions_g4.c\
120: instructions_h1.c\
121: instructions_h2.c\
122: instructions_i1.c\
123: instructions_i2.c\
124: instructions_i3.c\
125: instructions_i4.c\
126: instructions_j1.c\
127: instructions_k1.c\
128: instructions_l1.c\
129: instructions_l2.c\
130: instructions_l3.c\
131: instructions_l4.c\
132: instructions_l5.c\
133: instructions_m1.c\
134: instructions_m2.c\
135: instructions_m3.c\
136: instructions_m4.c\
137: instructions_m5.c\
138: instructions_n1.c\
139: instructions_n2.c\
140: instructions_o1.c\
141: instructions_o2.c\
142: instructions_p1.c\
143: instructions_p2.c\
144: instructions_p3.c\
145: instructions_p4.c\
146: instructions_p5.c\
147: instructions_p6.c\
148: instructions_p7.c\
149: instructions_q1.c\
150: instructions_r1.c\
151: instructions_r2.c\
152: instructions_r3.c\
153: instructions_r4.c\
154: instructions_r5.c\
155: instructions_r6.c\
156: instructions_s1.c\
157: instructions_s2.c\
158: instructions_s3.c\
159: instructions_s4.c\
160: instructions_s5.c\
161: instructions_s6.c\
162: instructions_s7.c\
163: instructions_s8.c\
164: instructions_s9.c\
165: instructions_s10.c\
166: instructions_t1.c\
167: instructions_t2.c\
168: instructions_t3.c\
169: instructions_u1.c\
170: instructions_v1.c\
171: instructions_v2.c\
172: instructions_w1.c\
173: instructions_w2.c\
174: instructions_x1.c\
175: instructions_x2.c\
176: instructions_y1.c\
177: interface_gnuplot.c\
178: interface_tex.c\
179: interruptions.c\
180: messages.c\
181: occupation_memoire.c\
182: operations_atomiques.c\
183: operations_binaires.c\
184: optimisation.c\
185: profilage.c\
186: rpl.c\
187: rplcore.c\
188: semaphores.c\
189: sequenceur.c\
190: siginfo.c\
191: simplification.c\
192: sommations.c\
193: sql.c\
194: statistiques.c\
195: transliteration.c\
196: types.c
197:
198: SRCH=\
199: completion.h\
200: convert.h\
201: copyright.h\
202: garanties.h\
203: getaddrinfo.h\
204: gnuplot.h\
205: librpl.h\
206: licence.h\
207: rpl.h\
208: rplexternals.h\
209: rpltypes.h\
210: tex.h\
211: usages.h\
212: vim.h
213:
214: SRCF=\
215: arithmetique.f\
216: bibliotheque_logarithmique.f\
217: bibliotheque_trigonometrique.f
218:
219: SRCF90=\
220: combinaisons.F90\
221: distributions.F90\
222: fonctions_speciales.F90
223:
224: SRCINC=\
225: rplftypes.inc
226:
227: SRCXPM=\
228: rpl.xpm
229:
230: INIT_EXE=init.c
231:
232: INIT_LIB=librpl.c
233:
234: # @MALLOC@ doit être la première bibliothèque pour éviter que la libgfortran
235: # utilise un allocateur différent.
236: LIB=-lz @MALLOC@
237:
238: bin_PROGRAMS = rpl
239: lib_LIBRARIES = librpl.a
240:
241: SRCCc=$(SRCC:.c=-conv.c)
242: SRCHc=$(SRCH:.h=-conv.h)
243: SRCFc=$(SRCF:.f=-conv.f)
244: SRCF90c=$(SRCF90:.F90=-conv.F90)
245: SRCINCc=$(SRCINC:.inc=-conv.inc)
246: INIT_LIBc=$(INIT_LIB:.c=-conv.c)
247: INIT_EXEc=$(INIT_EXE:.c=-conv.c)
248:
249: %-conv.c: %.c
250: $(top_builddir)/rpliconv/rpliconv \
251: -f `$(top_builddir)/tools/@FILE@/src/rplfile \
252: -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
253: $(AWK) -F= '{print $$2;}'` \
254: -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
255:
256: %-conv.h: %.h
257: $(top_builddir)/rpliconv/rpliconv \
258: -f `$(top_builddir)/tools/@FILE@/src/rplfile \
259: -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
260: $(AWK) -F= '{print $$2;}'` \
261: -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
262:
263: %-conv.f: %.f
264: $(top_builddir)/rpliconv/rpliconv \
265: -f `$(top_builddir)/tools/@FILE@/src/rplfile \
266: -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
267: $(AWK) -F= '{print $$2;}'` \
268: -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
269:
270: %-conv.F90: %.F90
271: $(top_builddir)/rpliconv/rpliconv \
272: -f `$(top_builddir)/tools/@FILE@/src/rplfile \
273: -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
274: $(AWK) -F= '{print $$2;}'` \
275: -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
276:
277: %-conv.inc: %.inc
278: $(top_builddir)/rpliconv/rpliconv \
279: -f `$(top_builddir)/tools/@FILE@/src/rplfile \
280: -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
281: $(AWK) -F= '{print $$2;}'` \
282: -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
283:
284: licences:
285: cat $(srcdir)/../COPYING > $(srcdir)/licence.h
286: echo >> $(srcdir)/licence.h
287: echo >> $(srcdir)/licence.h
288: echo "#ifndef INCLUSION_LICENCE" >> $(srcdir)/licence.h
289: echo "# define INCLUSION_LICENCE" >> $(srcdir)/licence.h
290: echo " unsigned char CeCILL_fr[] =" >> $(srcdir)/licence.h
291: sed -e '1,$$s/"/\\"/g' $(srcdir)/../Licence_CeCILL_V2-fr.txt | \
292: $(AWK) -F'\n' '{ printf("\"%s\\n\"\n", $$1);}' \
293: >> $(srcdir)/licence.h
294: echo " ;" >> $(srcdir)/licence.h
295: echo " unsigned char CeCILL_en[] =" >> $(srcdir)/licence.h
296: sed -e '1,$$s/"/\\"/g' $(srcdir)/../Licence_CeCILL_V2-en.txt | \
297: $(AWK) -F'\n' '{ printf("\"%s\\n\"\n", $$1);}' \
298: >> $(srcdir)/licence.h
299: echo " ;" >> $(srcdir)/licence.h
300: echo "#endif" >> $(srcdir)/licence.h
301: echo >> $(srcdir)/licence.h
302: echo "// vim: ts=4" >> $(srcdir)/licence.h
303: for i in $(SRCC) $(SRCH) $(INIT_EXE) $(INIT_LIB); \
304: do \
305: cat $(srcdir)/../COPYING > $(srcdir)/tmp; \
306: echo >> $(srcdir)/tmp; \
307: echo >> $(srcdir)/tmp; \
308: $(AWK) -F'\n' 'BEGIN {d=0;} /^#/ {d=1;} {if(d==1) print $$1;}' \
309: $(srcdir)/$$i >> $(srcdir)/tmp; \
310: mv -f $(srcdir)/tmp $(srcdir)/$$i; \
311: done
312: for i in $(SRCINC); \
313: do \
314: iconv -f `file -i $(srcdir)/../COPYING | $(AWK) -F= '{print $$2;}'` \
315: $(srcdir)/../COPYING | \
316: $(AWK) -F'\n' '! (/^\/\*/ || /^\*\//) \
317: {printf("!%s\n", substr($$1,2));}' | \
318: iconv -t `file -i $(srcdir)/../COPYING | \
319: $(AWK) -F= '{print $$2;}'` > $(srcdir)/tmp; \
320: $(AWK) -F'\n' 'BEGIN {d=0;} ! /^!/ {d=1;} {if(d==1) print $$1;}' \
321: $(srcdir)/$$i >> $(srcdir)/tmp; \
322: mv -f $(srcdir)/tmp $(srcdir)/$$i; \
323: done
324: for i in $(SRCF); \
325: do \
326: iconv -f `file -i $(srcdir)/../COPYING | $(AWK) -F= '{print $$2;}'` \
327: $(srcdir)/../COPYING | \
328: $(AWK) -F'\n' '! (/^\/\*/ || /^\*\//) \
329: {printf("C%s\n", substr($$1,2));}' | \
330: iconv -t `file -i $(srcdir)/../COPYING | \
331: $(AWK) -F= '{print $$2;}'` > $(srcdir)/tmp; \
332: $(AWK) -F'\n' 'BEGIN {d=0;} ! /^C/ {d=1;} {if(d==1) print $$1;}' \
333: $(srcdir)/$$i >> $(srcdir)/tmp; \
334: mv -f $(srcdir)/tmp $(srcdir)/$$i; \
335: done
336: for i in $(SRCF90); \
337: do \
338: iconv -f `file -i $(srcdir)/../COPYING | $(AWK) -F= '{print $$2;}'` \
339: $(srcdir)/../COPYING | \
340: $(AWK) -F'\n' '! (/^\/\*/ || /^\*\//) \
341: {printf("!%s\n", substr($$1,2));}' | \
342: iconv -t `file -i $(srcdir)/../COPYING | \
343: $(AWK) -F= '{print $$2;}'` > $(srcdir)/tmp; \
344: $(AWK) -F'\n' 'BEGIN {d=0;} ! /^!/ {d=1;} {if(d==1) print $$1;}' \
345: $(srcdir)/$$i >> $(srcdir)/tmp; \
346: mv -f $(srcdir)/tmp $(srcdir)/$$i; \
347: done
348:
349: librplprototypes.h: rpl.h conversion.awk
350: $(AWK) -f $(srcdir)/conversion.awk $(srcdir)/rpl.h > \
351: $(top_builddir)/src/librplprototypes.h
352:
353: generateurs.c: generateurs_aleatoires.awk
354: $(AWK) -f $(srcdir)/generateurs_aleatoires.awk \
355: $(srcdir)/../tools/@GSL@/rng/gsl_rng.h > \
356: $(top_builddir)/src/generateurs.c
357:
358: rpl.inc:
359: echo BUILDPATH=$(top_builddir)/.. > $@
360: echo COMPILE=$(DEFS) >> $@
361: echo LINK=@libX@ @libMySQLlib@ @libPgSQLlib@ -lz >> $@
362: echo OBJECTS=$(SRCCc:.c=.$(OBJEXT)) $(SRCFc:.f=.$(OBJEXT)) \
363: $(SRCF90c:.F90=.$(OBJEXT)) \
364: librpl-conv.$(OBJEXT) >> $@
365: echo EXTOBJECTS= @MALLOC@ @EXT_SQL@ \
366: $(top_builddir)/lapack/lapack/liblapack.a \
367: $(top_builddir)/lapack/blas/libblas.a \
368: $(ldadd_libhistory) \
369: $(ldadd_libreadline) \
370: $(ldadd_libncurses) \
371: $(ldadd_libgsl) \
372: $(ldadd_libiconv) \
373: $(ldadd_libcrypto) \
374: $(ldadd_libssl) \
375: $(ldadd_libsqlite) \
376: >> $@
377:
378: EXTRA_DIST = $(SRCC) $(SRCH) $(SRCF) $(SRCF90) $(SRCINC) \
379: $(INIT_EXE) $(INIT_LIB) $(SRCXPM) \
380: conversion.awk generateurs_aleatoires.awk
381: BUILT_SOURCES = librplprototypes.h generateurs.c \
382: $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) \
383: $(INIT_LIBc) $(SRCINCc) $(INIT_EXEc) \
384: rpl.inc
385: CLEANFILES= $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) $(SRCINCc) \
386: $(INIT_LIBc) $(INIT_EXEc) librplprototypes.h generateurs.c \
387: rpl.inc rpl-librpl-conv.$(OBJEXT)
388:
389: nodist_rpl_SOURCES = \
390: $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) $(INIT_EXEc) \
391: $(SRCXPM) $(SRCINCc)
392: rpl_LDFLAGS = -g @PROFILAGE@ $(LIB) @EXPORT_DYNAMIC@
393: rpl_CFLAGS = $(AM_CFLAGS) @C_STANDARD@ -Wall -Wextra -Wno-unused-function \
394: -Wno-pointer-sign -Wno-unused-parameter @NESTED_FUNCTIONS@
395: rpl_FFLAGS = $(AM_FFLAGS) -fno-f2c
396: rpl_FCFLAGS = $(AM_FCFLAGS) -fno-second-underscore -fno-f2c
397:
398: nodist_librpl_a_SOURCES = \
399: $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) $(INIT_LIBc) \
400: $(SRCXPM) $(SRCINCc)
401: librpl_a_CFLAGS = $(AM_CFLAGS) @C_STANDARD@ -Wall -Wextra -Wno-unused-function \
402: -Wno-pointer-sign -Wno-unused-parameter @NESTED_FUNCTIONS@
403: librpl_a_FFLAGS = $(AM_FFLAGS) -ff2c
404: librpl_a_FCFLAGS = $(AM_FCLAGS) -fno-second-underscore
405:
406: include_HEADERS = rplexternals.h rpltypes.h rpl.h librpl.h rpl.inc \
407: librplprototypes.h
408:
409: INCLUDES = -I$(srcdir) -I$(top_builddir) \
410: $(include_libreadline) $(include_libncurses) $(include_libgsl) \
411: $(include_libiconv) $(include_libcrypto) $(include_libsqlite)\
412: @includeX@ @libMySQLinc@ @libPgSQLinc@
413: DEFS = -DHAVE_CONFIG_H -Dd_version_rpl=\"@VERSION@\" @BROKEN_SIGINFO@ \
414: -Dd_exec_path=\"@RUNPATH@\" @FORCE_GNUPLOT_PATH@ @DEBUG@ \
415: @MOTIF_SUPPORT@ @POSTSCRIPT_SUPPORT@ @GNUPLOT_SUPPORT@ \
416: @VIM_SUPPORT@ @MYSQL_SUPPORT@ @POSTGRESQL_SUPPORT@ \
417: @SEMAPHORES_NOMMES@ @SEMAPHORES_SYSV@ @IPCS_SYSV@ @SEMUN@ @IPV6@ \
418: @EXPERIMENTAL_CODE@ $(date) $(hash) -g @PROFILAGE@ \
419: -Dd_locale=\"@FINAL_ENCODING@\" \
420: -D@OS@
421: rpl_LDADD = \
422: $(top_builddir)/lapack/lapack/liblapack.a \
423: $(top_builddir)/lapack/blas/libblas.a \
424: $(ldadd_libhistory) $(ldadd_libreadline) $(ldadd_libncurses) \
425: $(ldadd_libiconv) $(ldadd_libcrypto) $(ldadd_libssl) \
426: $(ldadd_libsqlite) \
427: $(ldadd_libgsl) @libX@ @libMySQLlib@ @libPgSQLlib@
428:
429: always: $(top_builddir)/src/rpl-conv.c
430: touch $(top_builddir)/src/rpl.conv.c; \
431: if [ x$(shell which ctags) != x ]; then \
432: (cd $(srcdir); ctags $(SRCC) $(SRCF) $(SRCF90) \
433: $(INIT_LIB) $(INIT_EXE) 2>&1 /dev/null); \
434: fi;
435:
436: .PHONY: always librpl licences rpl.inc
437:
438: all-local: always
439:
440: install-exec-local: librpl
441:
442: librpl: install-libLIBRARIES
443: if [ -d $(top_builddir)/librpl ]; then \
444: rm -rf $(top_builddir)/librpl; \
445: fi
446: mkdir -p $(top_builddir)/librpl; \
447: for i in $(top_builddir)/src/librpl.a \
448: @MALLOC@ \
449: $(ldadd_libhistory) $(ldadd_libreadline) \
450: $(top_builddir)/lapack/lapack/liblapack.a \
451: $(top_builddir)/lapack/blas/libblas.a \
452: $(ldadd_libncurses) $(ldadd_libgsl) $(ldadd_libiconv) \
453: $(ldadd_libcrypto) $(ldadd_libssl) $(ldadd_libsqlite); \
454: do \
455: cp -f $$i $(top_builddir)/librpl; \
456: done
457: (cd $(top_builddir)/librpl && n=0 && \
458: echo Building standalone librpl.a; \
459: for i in *.a; \
460: do echo Extracting $$i; ar x $$i; \
461: for j in `ar t $$i`; \
462: do cp -f $$j $$n-$$j; \
463: rm -f $$j; \
464: done; \
465: n=`expr $$n + 1`; \
466: rm -f $$i; \
467: done; \
468: L="start"; \
469: while test -n "$$L"; \
470: do \
471: L=""; j=0; \
472: for i in `ls *.$(OBJEXT) 2> /dev/null`; \
473: do \
474: k=`echo $$i | wc -c`; \
475: j=`expr $$j + $$k + 1`; \
476: if test $$j -le 5000; then \
477: L="$$L $$i"; \
478: else \
479: break; \
480: fi; \
481: done; \
482: ar cru librpl.a $$L; \
483: rm -f $$L; \
484: echo -n "Remaining files "; \
485: ls *.$(OBJEXT) 2> /dev/null | wc -l; \
486: done; \
487: echo Done; \
488: ar s librpl.a; \
489: if [ @OS@ != OS2 ]; then \
490: echo Stripping librpl.a && strip -d librpl.a; \
491: fi;); \
492: $(INSTALL_DATA) $(top_builddir)/librpl/librpl.a $(DESTDIR)$(libdir)/librpl.a
493:
CVSweb interface <joel.bertrand@systella.fr>