summaryrefslogtreecommitdiff
blob: aa052c1ae063a25cbc4bbe7bf690e6fba890a1f9 (plain)
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
--- shlib/Makefile.in.orig	2014-04-15 11:05:22 +0200
+++ shlib/Makefile.in	2014-04-15 11:43:33 +0200
@@ -78,14 +78,14 @@
 # changes to bash-maintainers@gnu.org.
 #
 SHOBJ_CC = @SHOBJ_CC@
-SHOBJ_CFLAGS = @SHOBJ_CFLAGS@
-SHOBJ_LD = @SHOBJ_LD@
+SHOBJ_CFLAGS_shared = @SHOBJ_CFLAGS@
+SHOBJ_LD_shared = @SHOBJ_LD@
 
-SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@
-SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@
+SHOBJ_LDFLAGS_shared = @SHOBJ_LDFLAGS@
+SHOBJ_XLDFLAGS_shared = @SHOBJ_XLDFLAGS@
 SHOBJ_LIBS = @SHOBJ_LIBS@
 
-SHLIB_XLDFLAGS = @LDFLAGS@ @SHLIB_XLDFLAGS@
+SHLIB_XLDFLAGS_shared = @SHLIB_XLDFLAGS@
 SHLIB_LIBS = @SHLIB_LIBS@
 
 SHLIB_DOT = @SHLIB_DOT@
@@ -95,7 +95,7 @@
 SHLIB_LIBVERSION = @SHLIB_LIBVERSION@
 SHLIB_DLLVERSION = @SHLIB_DLLVERSION@
 
-SHLIB_STATUS = @SHLIB_STATUS@
+SHLIB_STATUS_shared = @SHLIB_STATUS@
 
 TERMCAP_LIB = @TERMCAP_LIB@
 
@@ -109,13 +109,52 @@
 
 CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(CPPFLAGS) $(INCLUDES) $(LOCAL_CFLAGS) $(CFLAGS)
 
-.SUFFIXES:	.so
+SHARED_TARGET = @SHARED_TARGET@ # using libtool when empty
+
+SHLIB_STATUS_ = libtool
+SHLIB_STATUS = $(SHLIB_STATUS_$(SHARED_TARGET))
+
+SO_shared = so
+SO_       = lo # use libtool when SHARED_TARGET is empty
+SO        = $(SO_$(SHARED_TARGET))
+
+LIBTOOL_ = libtool
+LIBTOOL = $(LIBTOOL_$(SHARED_TARGET))
+
+LTTAG_CC_    = --tag=CC
+LTCLEAN_     = $(LIBTOOL) --mode=clean
+LTCOMPILE_   = $(LIBTOOL) --mode=compile
+LTINSTALL_   = $(LIBTOOL) --mode=install
+LTLINK_      = $(LIBTOOL) --mode=link
+LTUNINSTALL_ = $(LIBTOOL) --mode=uninstall
+
+SHOBJ_CFLAGS_ =
+SHOBJ_LD_ = $(SHOBJ_CC)
+SHOBJ_LDFLAGS_ = -shared -version-info `echo $(SHLIB_MAJOR)$(SHLIB_MINOR) | sed -e 's/\./:/g'`
+SHLIB_XLDFLAGS_ = -rpath $(libdir)
+
+LTTAG_CC    = $(LTTAG_CC_$(SHARED_TARGET))
+LTCLEAN     = $(LTCLEAN_$(SHARED_TARGET))
+LTCOMPILE   = $(LTCOMPILE_$(SHARED_TARGET))
+LTINSTALL   = $(LTINSTALL_$(SHARED_TARGET))
+LTLINK      = $(LTLINK_$(SHARED_TARGET))
+LTUNINSTALL = $(LTUNINSTALL_$(SHARED_TARGET))
+
+SHOBJ_CFLAGS = $(SHOBJ_CFLAGS_$(SHARED_TARGET))
+SHOBJ_LD = $(SHOBJ_LD_$(SHARED_TARGET))
+SHOBJ_LDFLAGS = $(SHOBJ_LDFLAGS_$(SHARED_TARGET))
+SHLIB_XLDFLAGS = $(LDFLAGS) $(SHLIB_XLDFLAGS_$(SHARED_TARGET))
+
+.SUFFIXES:	.so .lo
 
 .c.so:
 	${RM} $@
 	$(SHOBJ_CC) -c $(CCFLAGS) $(SHOBJ_CFLAGS) -o $*.o $< 
 	$(MV) $*.o $@
 
+.c.lo:
+	$(LTCOMPILE) $(LTTAG_CC) $(SHOBJ_CC) -c $(CCFLAGS) $(SHOBJ_CFLAGS) -o $*.lo $<
+
 # The name of the main library target.
 
 SHARED_READLINE = $(SHLIB_LIBPREF)readline$(SHLIB_DOT)$(SHLIB_LIBVERSION)
@@ -141,14 +180,14 @@
 	   posixstat.h posixdir.h posixjmp.h tilde.h rlconf.h rltty.h \
 	   ansi_stdlib.h tcap.h xmalloc.h rlprivate.h rlshell.h rlmbutil.h
 
-SHARED_HISTOBJ = history.so histexpand.so histfile.so histsearch.so shell.so \
-		 mbutil.so
-SHARED_TILDEOBJ = tilde.so
-SHARED_OBJ = readline.so vi_mode.so funmap.so keymaps.so parens.so search.so \
-	  rltty.so complete.so bind.so isearch.so display.so signals.so \
-	  util.so kill.so undo.so macro.so input.so callback.so terminal.so \
-	  text.so nls.so misc.so xmalloc.so xfree.so $(SHARED_HISTOBJ) $(SHARED_TILDEOBJ) \
-	  compat.so
+SHARED_HISTOBJ = history.$(SO) histexpand.$(SO) histfile.$(SO) histsearch.$(SO) shell.$(SO) \
+		 mbutil.$(SO)
+SHARED_TILDEOBJ = tilde.$(SO)
+SHARED_OBJ = readline.$(SO) vi_mode.$(SO) funmap.$(SO) keymaps.$(SO) parens.$(SO) search.$(SO) \
+	  rltty.$(SO) complete.$(SO) bind.$(SO) isearch.$(SO) display.$(SO) signals.$(SO) \
+	  util.$(SO) kill.$(SO) undo.$(SO) macro.$(SO) input.$(SO) callback.$(SO) terminal.$(SO) \
+	  text.$(SO) nls.$(SO) misc.$(SO) xmalloc.$(SO) xfree.$(SO) $(SHARED_HISTOBJ) $(SHARED_TILDEOBJ) \
+	  compat.$(SO)
 
 ##########################################################################
 
@@ -156,6 +195,8 @@
 
 supported: $(SHARED_LIBS)
 
+libtool: libreadline.la libhistory.la
+
 unsupported:
 	@echo "Your system and compiler (${host_os}-${CC}) are not supported by the"
 	@echo "${topdir}/support/shobj-conf script."
@@ -164,13 +205,15 @@
 	@echo "Please send the changes you made to bash-maintainers@gnu.org"
 	@echo "for inclusion in future bash and readline releases."
 
+libreadline.la \
 $(SHARED_READLINE):	$(SHARED_OBJ)
-	$(RM) $@
-	$(SHOBJ_LD) ${SHOBJ_LDFLAGS} ${SHLIB_XLDFLAGS} -o $@ $(SHARED_OBJ) $(SHLIB_LIBS)
+	$(LTCLEAN) $(RM) $@
+	$(LTLINK) $(LTTAG_CC) $(SHOBJ_LD) ${SHOBJ_LDFLAGS} ${SHLIB_XLDFLAGS} -o $@ $(SHARED_OBJ) $(SHLIB_LIBS)
 
-$(SHARED_HISTORY):	$(SHARED_HISTOBJ) xmalloc.so xfree.so
-	$(RM) $@
-	$(SHOBJ_LD) ${SHOBJ_LDFLAGS} ${SHLIB_XLDFLAGS} -o $@ $(SHARED_HISTOBJ) xmalloc.so xfree.so $(SHLIB_LIBS)
+libhistory.la \
+$(SHARED_HISTORY):	$(SHARED_HISTOBJ) xmalloc.$(SO) xfree.$(SO)
+	$(LTCLEAN) $(RM) $@
+	$(LTLINK) $(LTTAG_CC) $(SHOBJ_LD) ${SHOBJ_LDFLAGS} ${SHLIB_XLDFLAGS} -o $@ $(SHARED_HISTOBJ) xmalloc.$(SO) xfree.$(SO) $(SHLIB_LIBS)
 
 # Since tilde.c is shared between readline and bash, make sure we compile 
 # it with the right flags when it's built as part of readline
@@ -179,22 +222,43 @@
 	$(SHOBJ_CC) -c $(CCFLAGS) $(SHOBJ_CFLAGS) -DREADLINE_LIBRARY -c -o tilde.o $(topdir)/tilde.c
 	$(MV) tilde.o $@
 
+tilde.lo:        tilde.c
+	$(LTCOMPILE) $(LTTAG_CC) $(SHOBJ_CC) -c $(CCFLAGS) $(SHOBJ_CFLAGS) -DREADLINE_LIBRARY -c -o tilde.lo $(topdir)/tilde.c
+
 installdirs: $(topdir)/support/mkdirs
 	-$(SHELL) $(topdir)/support/mkdirs $(DESTDIR)$(libdir)
 	-$(SHELL) $(topdir)/support/mkdirs $(DESTDIR)$(bindir)
 
-install: installdirs $(SHLIB_STATUS)
+install: install-$(SHLIB_STATUS)
+
+install-supported: installdirs $(SHLIB_STATUS)
 	$(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i "$(INSTALL_DATA)" $(SHARED_HISTORY)
 	$(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i "$(INSTALL_DATA)" $(SHARED_READLINE)
 	@echo install: you may need to run ldconfig
 
-uninstall:
+install-libtool: installdirs $(SHLIB_STATUS)
+	$(LTINSTALL) $(INSTALL_DATA) libhistory.la $(DESTDIR)$(libdir)
+	$(LTINSTALL) $(INSTALL_DATA) libreadline.la $(DESTDIR)$(libdir)
+
+install-unsupported:
+	@echo install: shared libraries not supported
+
+uninstall: uninstall-$(SHLIB_STATUS)
+
+uninstall-supported:
 	$(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U $(SHARED_HISTORY)
 	$(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U $(SHARED_READLINE)
 	@echo uninstall: you may need to run ldconfig
 
+uninstall-libtool:
+	$(LTUNINSTALL) $(RM) $(DESTDIR)$(libdir)/libhistory.la
+	$(LTUNINSTALL) $(RM) $(DESTDIR)$(libdir)/libreadline.la
+
+uninstall-unsupported:
+	@echo uninstall: shared libraries not supported
+
 clean mostlyclean:	force
-	$(RM) $(SHARED_OBJ) $(SHARED_LIBS)
+	$(LTCLEAN) $(RM) $(SHARED_OBJ) $(SHARED_LIBS) libreadline.la libhistory.la
 
 distclean maintainer-clean: clean
 	$(RM) Makefile
@@ -206,178 +270,178 @@
 .NOEXPORT:
 
 # Dependencies
-bind.so: $(topdir)/ansi_stdlib.h $(topdir)/posixstat.h
-bind.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-bind.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-bind.so: $(topdir)/rltypedefs.h
-bind.so: $(topdir)/tilde.h $(topdir)/history.h
-compat.so: $(topdir)/rlstdc.h
-callback.so: $(topdir)/rlconf.h
-callback.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h
-callback.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-callback.so: $(topdir)/rltypedefs.h
-callback.so: $(topdir)/tilde.h
-complete.so: $(topdir)/ansi_stdlib.h posixdir.h $(topdir)/posixstat.h
-complete.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-complete.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-complete.so: $(topdir)/rltypedefs.h
-complete.so: $(topdir)/tilde.h
-display.so: $(topdir)/ansi_stdlib.h $(topdir)/posixstat.h
-display.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-display.so: $(topdir)/tcap.h
-display.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-display.so: $(topdir)/rltypedefs.h
-display.so: $(topdir)/tilde.h $(topdir)/history.h
-funmap.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-funmap.so: $(topdir)/rltypedefs.h
-funmap.so: $(topdir)/rlconf.h $(topdir)/ansi_stdlib.h
-funmap.so: ${BUILD_DIR}/config.h $(topdir)/tilde.h
-histexpand.so: $(topdir)/ansi_stdlib.h
-histexpand.so: $(topdir)/history.h $(topdir)/histlib.h $(topdir)/rltypedefs.h
-histexpand.so: ${BUILD_DIR}/config.h
-histfile.so: $(topdir)/ansi_stdlib.h
-histfile.so: $(topdir)/history.h $(topdir)/histlib.h $(topdir)/rltypedefs.h
-histfile.so: ${BUILD_DIR}/config.h
-history.so: $(topdir)/ansi_stdlib.h
-history.so: $(topdir)/history.h $(topdir)/histlib.h $(topdir)/rltypedefs.h
-history.so: ${BUILD_DIR}/config.h
-histsearch.so: $(topdir)/ansi_stdlib.h
-histsearch.so: $(topdir)/history.h $(topdir)/histlib.h $(topdir)/rltypedefs.h
-histsearch.so: ${BUILD_DIR}/config.h
-input.so: $(topdir)/ansi_stdlib.h
-input.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-input.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-input.so: $(topdir)/rltypedefs.h
-input.so: $(topdir)/tilde.h
-isearch.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-isearch.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-isearch.so: $(topdir)/rltypedefs.h
-isearch.so: $(topdir)/ansi_stdlib.h $(topdir)/history.h $(topdir)/tilde.h
-keymaps.so: emacs_keymap.c vi_keymap.c
-keymaps.so: $(topdir)/keymaps.h $(topdir)/chardefs.h $(topdir)/rlconf.h
-keymaps.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-keymaps.so: $(topdir)/rltypedefs.h
-keymaps.so: ${BUILD_DIR}/config.h $(topdir)/ansi_stdlib.h $(topdir)/tilde.h
-kill.so: $(topdir)/ansi_stdlib.h
-kill.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-kill.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-kill.so: $(topdir)/tilde.h $(topdir)/history.h  $(topdir)/rltypedefs.h
-macro.so: $(topdir)/ansi_stdlib.h
-macro.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-macro.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-macro.so: $(topdir)/tilde.h $(topdir)/history.h $(topdir)/rltypedefs.h
-mbutil.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-mbutil.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/rltypedefs.h
-mbutil.so: $(topdir)/chardefs.h $(topdir)/rlstdc.h
-misc.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-misc.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-misc.so: $(topdir)/rltypedefs.h
-misc.so: $(topdir)/history.h $(topdir)/tilde.h $(topdir)/ansi_stdlib.h
-nls.so: $(topdir)/ansi_stdlib.h
-nls.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+bind.$(SO): $(topdir)/ansi_stdlib.h $(topdir)/posixstat.h
+bind.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+bind.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+bind.$(SO): $(topdir)/rltypedefs.h
+bind.$(SO): $(topdir)/tilde.h $(topdir)/history.h
+compat.$(SO): $(topdir)/rlstdc.h
+callback.$(SO): $(topdir)/rlconf.h
+callback.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h
+callback.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+callback.$(SO): $(topdir)/rltypedefs.h
+callback.$(SO): $(topdir)/tilde.h
+complete.$(SO): $(topdir)/ansi_stdlib.h posixdir.h $(topdir)/posixstat.h
+complete.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+complete.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+complete.$(SO): $(topdir)/rltypedefs.h
+complete.$(SO): $(topdir)/tilde.h
+display.$(SO): $(topdir)/ansi_stdlib.h $(topdir)/posixstat.h
+display.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+display.$(SO): $(topdir)/tcap.h
+display.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+display.$(SO): $(topdir)/rltypedefs.h
+display.$(SO): $(topdir)/tilde.h $(topdir)/history.h
+funmap.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+funmap.$(SO): $(topdir)/rltypedefs.h
+funmap.$(SO): $(topdir)/rlconf.h $(topdir)/ansi_stdlib.h
+funmap.$(SO): ${BUILD_DIR}/config.h $(topdir)/tilde.h
+histexpand.$(SO): $(topdir)/ansi_stdlib.h
+histexpand.$(SO): $(topdir)/history.h $(topdir)/histlib.h $(topdir)/rltypedefs.h
+histexpand.$(SO): ${BUILD_DIR}/config.h
+histfile.$(SO): $(topdir)/ansi_stdlib.h
+histfile.$(SO): $(topdir)/history.h $(topdir)/histlib.h $(topdir)/rltypedefs.h
+histfile.$(SO): ${BUILD_DIR}/config.h
+history.$(SO): $(topdir)/ansi_stdlib.h
+history.$(SO): $(topdir)/history.h $(topdir)/histlib.h $(topdir)/rltypedefs.h
+history.$(SO): ${BUILD_DIR}/config.h
+histsearch.$(SO): $(topdir)/ansi_stdlib.h
+histsearch.$(SO): $(topdir)/history.h $(topdir)/histlib.h $(topdir)/rltypedefs.h
+histsearch.$(SO): ${BUILD_DIR}/config.h
+input.$(SO): $(topdir)/ansi_stdlib.h
+input.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+input.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+input.$(SO): $(topdir)/rltypedefs.h
+input.$(SO): $(topdir)/tilde.h
+isearch.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+isearch.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+isearch.$(SO): $(topdir)/rltypedefs.h
+isearch.$(SO): $(topdir)/ansi_stdlib.h $(topdir)/history.h $(topdir)/tilde.h
+keymaps.$(SO): emacs_keymap.c vi_keymap.c
+keymaps.$(SO): $(topdir)/keymaps.h $(topdir)/chardefs.h $(topdir)/rlconf.h
+keymaps.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+keymaps.$(SO): $(topdir)/rltypedefs.h
+keymaps.$(SO): ${BUILD_DIR}/config.h $(topdir)/ansi_stdlib.h $(topdir)/tilde.h
+kill.$(SO): $(topdir)/ansi_stdlib.h
+kill.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+kill.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+kill.$(SO): $(topdir)/tilde.h $(topdir)/history.h  $(topdir)/rltypedefs.h
+macro.$(SO): $(topdir)/ansi_stdlib.h
+macro.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+macro.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+macro.$(SO): $(topdir)/tilde.h $(topdir)/history.h $(topdir)/rltypedefs.h
+mbutil.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+mbutil.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/rltypedefs.h
+mbutil.$(SO): $(topdir)/chardefs.h $(topdir)/rlstdc.h
+misc.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+misc.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+misc.$(SO): $(topdir)/rltypedefs.h
+misc.$(SO): $(topdir)/history.h $(topdir)/tilde.h $(topdir)/ansi_stdlib.h
+nls.$(SO): $(topdir)/ansi_stdlib.h
+nls.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
 nls.o: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
 nls.o: $(topdir)/rltypedefs.h
 nls.o: $(topdir)/tilde.h $(topdir)/history.h $(topdir)/rlstdc.h  
-parens.so: $(topdir)/rlconf.h ${BUILD_DIR}/config.h
-parens.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-parens.so: $(topdir)/rltypedefs.h
-parens.so: $(topdir)/tilde.h
-rltty.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-rltty.so: $(topdir)/rltty.h $(topdir)/tilde.h
-rltty.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-rltty.so: $(topdir)/rltypedefs.h
-search.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-search.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-search.so: $(topdir)/ansi_stdlib.h $(topdir)/history.h $(topdir)/tilde.h
-search.so: $(topdir)/rltypedefs.h
-signals.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-signals.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-signals.so: $(topdir)/history.h $(topdir)/tilde.h
-signals.so: $(topdir)/rltypedefs.h
-terminal.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-terminal.so: $(topdir)/tcap.h
-terminal.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-terminal.so: $(topdir)/tilde.h $(topdir)/history.h
-terminal.so: $(topdir)/rltypedefs.h
-text.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-text.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-text.so: $(topdir)/rltypedefs.h
-text.so: $(topdir)/history.h $(topdir)/tilde.h $(topdir)/ansi_stdlib.h
-tilde.so: $(topdir)/ansi_stdlib.h ${BUILD_DIR}/config.h $(topdir)/tilde.h
-undo.so: $(topdir)/ansi_stdlib.h
-undo.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-undo.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-undo.so: $(topdir)/rltypedefs.h
-undo.so: $(topdir)/tilde.h $(topdir)/history.h
-util.so: $(topdir)/posixjmp.h $(topdir)/ansi_stdlib.h
-util.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-util.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-util.so: $(topdir)/rltypedefs.h $(topdir)/tilde.h
-vi_mode.so: $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
-vi_mode.so: $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
-vi_mode.so: $(topdir)/history.h $(topdir)/ansi_stdlib.h $(topdir)/tilde.h
-vi_mode.so: $(topdir)/rltypedefs.h
-xfree.so: ${BUILD_DIR}/config.h
-xfree.so: $(topdir)/ansi_stdlib.h
-xmalloc.so: ${BUILD_DIR}/config.h
-xmalloc.so: $(topdir)/ansi_stdlib.h
-
-bind.so: $(topdir)/rlshell.h
-histfile.so: $(topdir)/rlshell.h
-nls.so: $(topdir)/rlshell.h
-readline.so: $(topdir)/rlshell.h
-shell.so: $(topdir)/rlshell.h
-terminal.so: $(topdir)/rlshell.h
-histexpand.so: $(topdir)/rlshell.h
-
-bind.so: $(topdir)/rlprivate.h
-callback.so: $(topdir)/rlprivate.h
-complete.so: $(topdir)/rlprivate.h
-display.so: $(topdir)/rlprivate.h
-input.so: $(topdir)/rlprivate.h
-isearch.so: $(topdir)/rlprivate.h
-kill.so: $(topdir)/rlprivate.h
-macro.so: $(topdir)/rlprivate.h
-mbutil.so: $(topdir)/rlprivate.h
-misc.so: $(topdir)/rlprivate.h
-nls.so: $(topdir)/rlprivate.h   
-parens.so: $(topdir)/rlprivate.h
-readline.so: $(topdir)/rlprivate.h
-rltty.so: $(topdir)/rlprivate.h 
-search.so: $(topdir)/rlprivate.h
-signals.so: $(topdir)/rlprivate.h
-terminal.so: $(topdir)/rlprivate.h
-text.so: $(topdir)/rlprivate.h
-undo.so: $(topdir)/rlprivate.h
-util.so: $(topdir)/rlprivate.h
-vi_mode.so: $(topdir)/rlprivate.h
-
-bind.so: $(topdir)/xmalloc.h
-complete.so: $(topdir)/xmalloc.h
-display.so: $(topdir)/xmalloc.h
-funmap.so: $(topdir)/xmalloc.h
-histexpand.so: $(topdir)/xmalloc.h
-histfile.so: $(topdir)/xmalloc.h
-history.so: $(topdir)/xmalloc.h
-input.so: $(topdir)/xmalloc.h
-isearch.so: $(topdir)/xmalloc.h
-keymaps.so: $(topdir)/xmalloc.h
-kill.so: $(topdir)/xmalloc.h
-macro.so: $(topdir)/xmalloc.h
-mbutil.so: $(topdir)/xmalloc.h
-misc.so: $(topdir)/xmalloc.h
-readline.so: $(topdir)/xmalloc.h
-savestring.so: $(topdir)/xmalloc.h
-search.so: $(topdir)/xmalloc.h
-shell.so: $(topdir)/xmalloc.h
-terminal.so: $(topdir)/xmalloc.h
-text.so: $(topdir)/xmalloc.h
-tilde.so: $(topdir)/xmalloc.h
-undo.so: $(topdir)/xmalloc.h
-util.so: $(topdir)/xmalloc.h
-vi_mode.so: $(topdir)/xmalloc.h
-xfree.so: $(topdir)/xmalloc.h
-xmalloc.so: $(topdir)/xmalloc.h
+parens.$(SO): $(topdir)/rlconf.h ${BUILD_DIR}/config.h
+parens.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+parens.$(SO): $(topdir)/rltypedefs.h
+parens.$(SO): $(topdir)/tilde.h
+rltty.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+rltty.$(SO): $(topdir)/rltty.h $(topdir)/tilde.h
+rltty.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+rltty.$(SO): $(topdir)/rltypedefs.h
+search.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+search.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+search.$(SO): $(topdir)/ansi_stdlib.h $(topdir)/history.h $(topdir)/tilde.h
+search.$(SO): $(topdir)/rltypedefs.h
+signals.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+signals.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+signals.$(SO): $(topdir)/history.h $(topdir)/tilde.h
+signals.$(SO): $(topdir)/rltypedefs.h
+terminal.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+terminal.$(SO): $(topdir)/tcap.h
+terminal.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+terminal.$(SO): $(topdir)/tilde.h $(topdir)/history.h
+terminal.$(SO): $(topdir)/rltypedefs.h
+text.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+text.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+text.$(SO): $(topdir)/rltypedefs.h
+text.$(SO): $(topdir)/history.h $(topdir)/tilde.h $(topdir)/ansi_stdlib.h
+tilde.$(SO): $(topdir)/ansi_stdlib.h ${BUILD_DIR}/config.h $(topdir)/tilde.h
+undo.$(SO): $(topdir)/ansi_stdlib.h
+undo.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+undo.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+undo.$(SO): $(topdir)/rltypedefs.h
+undo.$(SO): $(topdir)/tilde.h $(topdir)/history.h
+util.$(SO): $(topdir)/posixjmp.h $(topdir)/ansi_stdlib.h
+util.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+util.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+util.$(SO): $(topdir)/rltypedefs.h $(topdir)/tilde.h
+vi_mode.$(SO): $(topdir)/rldefs.h ${BUILD_DIR}/config.h $(topdir)/rlconf.h
+vi_mode.$(SO): $(topdir)/readline.h $(topdir)/keymaps.h $(topdir)/chardefs.h
+vi_mode.$(SO): $(topdir)/history.h $(topdir)/ansi_stdlib.h $(topdir)/tilde.h
+vi_mode.$(SO): $(topdir)/rltypedefs.h
+xfree.$(SO): ${BUILD_DIR}/config.h
+xfree.$(SO): $(topdir)/ansi_stdlib.h
+xmalloc.$(SO): ${BUILD_DIR}/config.h
+xmalloc.$(SO): $(topdir)/ansi_stdlib.h
+
+bind.$(SO): $(topdir)/rlshell.h
+histfile.$(SO): $(topdir)/rlshell.h
+nls.$(SO): $(topdir)/rlshell.h
+readline.$(SO): $(topdir)/rlshell.h
+shell.$(SO): $(topdir)/rlshell.h
+terminal.$(SO): $(topdir)/rlshell.h
+histexpand.$(SO): $(topdir)/rlshell.h
+
+bind.$(SO): $(topdir)/rlprivate.h
+callback.$(SO): $(topdir)/rlprivate.h
+complete.$(SO): $(topdir)/rlprivate.h
+display.$(SO): $(topdir)/rlprivate.h
+input.$(SO): $(topdir)/rlprivate.h
+isearch.$(SO): $(topdir)/rlprivate.h
+kill.$(SO): $(topdir)/rlprivate.h
+macro.$(SO): $(topdir)/rlprivate.h
+mbutil.$(SO): $(topdir)/rlprivate.h
+misc.$(SO): $(topdir)/rlprivate.h
+nls.$(SO): $(topdir)/rlprivate.h   
+parens.$(SO): $(topdir)/rlprivate.h
+readline.$(SO): $(topdir)/rlprivate.h
+rltty.$(SO): $(topdir)/rlprivate.h 
+search.$(SO): $(topdir)/rlprivate.h
+signals.$(SO): $(topdir)/rlprivate.h
+terminal.$(SO): $(topdir)/rlprivate.h
+text.$(SO): $(topdir)/rlprivate.h
+undo.$(SO): $(topdir)/rlprivate.h
+util.$(SO): $(topdir)/rlprivate.h
+vi_mode.$(SO): $(topdir)/rlprivate.h
+
+bind.$(SO): $(topdir)/xmalloc.h
+complete.$(SO): $(topdir)/xmalloc.h
+display.$(SO): $(topdir)/xmalloc.h
+funmap.$(SO): $(topdir)/xmalloc.h
+histexpand.$(SO): $(topdir)/xmalloc.h
+histfile.$(SO): $(topdir)/xmalloc.h
+history.$(SO): $(topdir)/xmalloc.h
+input.$(SO): $(topdir)/xmalloc.h
+isearch.$(SO): $(topdir)/xmalloc.h
+keymaps.$(SO): $(topdir)/xmalloc.h
+kill.$(SO): $(topdir)/xmalloc.h
+macro.$(SO): $(topdir)/xmalloc.h
+mbutil.$(SO): $(topdir)/xmalloc.h
+misc.$(SO): $(topdir)/xmalloc.h
+readline.$(SO): $(topdir)/xmalloc.h
+savestring.$(SO): $(topdir)/xmalloc.h
+search.$(SO): $(topdir)/xmalloc.h
+shell.$(SO): $(topdir)/xmalloc.h
+terminal.$(SO): $(topdir)/xmalloc.h
+text.$(SO): $(topdir)/xmalloc.h
+tilde.$(SO): $(topdir)/xmalloc.h
+undo.$(SO): $(topdir)/xmalloc.h
+util.$(SO): $(topdir)/xmalloc.h
+vi_mode.$(SO): $(topdir)/xmalloc.h
+xfree.$(SO): $(topdir)/xmalloc.h
+xmalloc.$(SO): $(topdir)/xmalloc.h
 
 complete.o: $(topdir)/rlmbutil.h
 display.o: $(topdir)/rlmbutil.h
@@ -391,72 +455,72 @@
 text.o: $(topdir)/rlmbutil.h
 vi_mode.o: $(topdir)/rlmbutil.h
 
-bind.so: $(topdir)/bind.c
-callback.so: $(topdir)/callback.c
-compat.so: $(topdir)/compat.c
-complete.so: $(topdir)/complete.c
-display.so: $(topdir)/display.c
-funmap.so: $(topdir)/funmap.c
-input.so: $(topdir)/input.c
-isearch.so: $(topdir)/isearch.c
-keymaps.so: $(topdir)/keymaps.c $(topdir)/emacs_keymap.c $(topdir)/vi_keymap.c
-kill.so: $(topdir)/kill.c
-macro.so: $(topdir)/macro.c
-mbutil.so: $(topdir)/mbutil.c
-misc.so: $(topdir)/mbutil.c
-nls.so: $(topdir)/nls.c
-parens.so: $(topdir)/parens.c
-readline.so: $(topdir)/readline.c
-rltty.so: $(topdir)/rltty.c
-savestring.so: $(topdir)/savestring.c
-search.so: $(topdir)/search.c
-shell.so: $(topdir)/shell.c
-signals.so: $(topdir)/signals.c
-terminal.so: $(topdir)/terminal.c
-text.so: $(topdir)/text.c
-tilde.so: $(topdir)/tilde.c
-undo.so: $(topdir)/undo.c
-util.so: $(topdir)/util.c
-vi_mode.so: $(topdir)/vi_mode.c
-xfree.so: $(topdir)/xfree.c
-xmalloc.so: $(topdir)/xmalloc.c
-
-histexpand.so: $(topdir)/histexpand.c
-histfile.so: $(topdir)/histfile.c
-history.so: $(topdir)/history.c
-histsearch.so: $(topdir)/histsearch.c
-
-bind.so: bind.c
-callback.so: callback.c
-comapt.so: compat.c
-complete.so: complete.c
-display.so: display.c
-funmap.so: funmap.c
-input.so: input.c
-isearch.so: isearch.c
-keymaps.so: keymaps.c emacs_keymap.c vi_keymap.c
-kill.so: kill.c
-macro.so: macro.c
-mbutil.so: mbutil.c
-misc.so: misc.c
-nls.so: nls.c
-parens.so: parens.c
-readline.so: readline.c
-rltty.so: rltty.c
-savestring.so: savestring.c
-search.so: search.c
-signals.so: signals.c
-shell.so: shell.c
-terminal.so: terminal.c
-text.so: text.c
-tilde.so: tilde.c
-undo.so: undo.c
-util.so: util.c
-vi_mode.so: vi_mode.c
-xfree.so: xfree.c
-xmalloc.so: xmalloc.c
-
-histexpand.so: histexpand.c
-histfile.so: histfile.c
-history.so: history.c
-histsearch.so: histsearch.c
+bind.$(SO): $(topdir)/bind.c
+callback.$(SO): $(topdir)/callback.c
+compat.$(SO): $(topdir)/compat.c
+complete.$(SO): $(topdir)/complete.c
+display.$(SO): $(topdir)/display.c
+funmap.$(SO): $(topdir)/funmap.c
+input.$(SO): $(topdir)/input.c
+isearch.$(SO): $(topdir)/isearch.c
+keymaps.$(SO): $(topdir)/keymaps.c $(topdir)/emacs_keymap.c $(topdir)/vi_keymap.c
+kill.$(SO): $(topdir)/kill.c
+macro.$(SO): $(topdir)/macro.c
+mbutil.$(SO): $(topdir)/mbutil.c
+misc.$(SO): $(topdir)/mbutil.c
+nls.$(SO): $(topdir)/nls.c
+parens.$(SO): $(topdir)/parens.c
+readline.$(SO): $(topdir)/readline.c
+rltty.$(SO): $(topdir)/rltty.c
+savestring.$(SO): $(topdir)/savestring.c
+search.$(SO): $(topdir)/search.c
+shell.$(SO): $(topdir)/shell.c
+signals.$(SO): $(topdir)/signals.c
+terminal.$(SO): $(topdir)/terminal.c
+text.$(SO): $(topdir)/text.c
+tilde.$(SO): $(topdir)/tilde.c
+undo.$(SO): $(topdir)/undo.c
+util.$(SO): $(topdir)/util.c
+vi_mode.$(SO): $(topdir)/vi_mode.c
+xfree.$(SO): $(topdir)/xfree.c
+xmalloc.$(SO): $(topdir)/xmalloc.c
+
+histexpand.$(SO): $(topdir)/histexpand.c
+histfile.$(SO): $(topdir)/histfile.c
+history.$(SO): $(topdir)/history.c
+histsearch.$(SO): $(topdir)/histsearch.c
+
+bind.$(SO): bind.c
+callback.$(SO): callback.c
+comapt.$(SO): compat.c
+complete.$(SO): complete.c
+display.$(SO): display.c
+funmap.$(SO): funmap.c
+input.$(SO): input.c
+isearch.$(SO): isearch.c
+keymaps.$(SO): keymaps.c emacs_keymap.c vi_keymap.c
+kill.$(SO): kill.c
+macro.$(SO): macro.c
+mbutil.$(SO): mbutil.c
+misc.$(SO): misc.c
+nls.$(SO): nls.c
+parens.$(SO): parens.c
+readline.$(SO): readline.c
+rltty.$(SO): rltty.c
+savestring.$(SO): savestring.c
+search.$(SO): search.c
+signals.$(SO): signals.c
+shell.$(SO): shell.c
+terminal.$(SO): terminal.c
+text.$(SO): text.c
+tilde.$(SO): tilde.c
+undo.$(SO): undo.c
+util.$(SO): util.c
+vi_mode.$(SO): vi_mode.c
+xfree.$(SO): xfree.c
+xmalloc.$(SO): xmalloc.c
+
+histexpand.$(SO): histexpand.c
+histfile.$(SO): histfile.c
+history.$(SO): history.c
+histsearch.$(SO): histsearch.c
--- examples/rlfe/Makefile.in.orig	2014-04-15 11:49:12 +0200
+++ examples/rlfe/Makefile.in	2014-04-15 11:49:27 +0200
@@ -49,7 +49,7 @@
 all:	rlfe
 
 rlfe: $(OFILES)
-	$(CC) $(LDFLAGS) -o $@ $(OFILES) $(LIBS)
+	$(LTLINK) $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(OFILES) $(LIBS)
 
 rlfe-$(VERSION).tar.gz:
 	tar czf $@ $(CFILES) $(HFILES) $(EXTRA_DIST)