Commit | Line | Data |
---|---|---|
bd5635a1 RP |
1 | # # |
2 | # Makefile for readline and history libraries. # | |
3 | # # | |
bcb14db5 | 4 | |
bd5635a1 | 5 | |
7da15eff | 6 | srcdir = . |
c21b1b26 | 7 | ddestdir = /usr/local |
3558ead5 | 8 | idestdir = /usr/local |
7187e60c RP |
9 | INSTALL_PROG = install -c |
10 | INSTALL_FILE = $(INSTALL_PROG) | |
11 | ||
7da15eff RP |
12 | #### host and target dependent Makefile fragments come in here. |
13 | ## | |
14 | ||
bd5635a1 RP |
15 | # Here is a rule for making .o files from .c files that doesn't force |
16 | # the type of the machine (like -sun3) into the flags. | |
17 | .c.o: | |
18 | $(CC) -c $(CFLAGS) $(LOCAL_INCLUDES) $(CPPFLAGS) $(READLINE_DEFINES) $< | |
19 | ||
20 | # Destination installation directory. The libraries are copied to DESTDIR | |
21 | # when you do a `make install', and the header files to INCDIR/readline/*.h. | |
c21b1b26 SC |
22 | DESTDIR = $(ddestdir)/lib |
23 | INCDIR = $(ddestdir)/include | |
bd5635a1 RP |
24 | |
25 | # Define TYPES as -DVOID_SIGHANDLER if your operating system uses | |
26 | # a return type of "void" for signal handlers. | |
27 | TYPES = -DVOID_SIGHANDLER | |
28 | ||
bd5635a1 RP |
29 | # HP-UX compilation requires the BSD library. |
30 | #LOCAL_LIBS = -lBSD | |
31 | ||
32 | # Xenix compilation requires -ldir -lx | |
33 | #LOCAL_LIBS = -ldir -lx | |
34 | ||
35 | # Comment out "-DVI_MODE" if you don't think that anyone will ever desire | |
36 | # the vi line editing mode and features. | |
37 | READLINE_DEFINES = $(TYPES) -DVI_MODE | |
38 | ||
c21b1b26 SC |
39 | MINUS_G=-g |
40 | DEBUG_FLAGS = $(MINUS_G) | |
bd5635a1 RP |
41 | LDFLAGS = $(DEBUG_FLAGS) |
42 | CFLAGS = $(DEBUG_FLAGS) $(SYSV) -I. | |
43 | ||
44 | # A good alternative is gcc -traditional. | |
45 | #CC = gcc -traditional | |
46 | CC = cc | |
7da15eff | 47 | RANLIB = /bin/ranlib |
bd5635a1 | 48 | AR = ar |
7da15eff | 49 | AR_FLAGS = clq |
bd5635a1 RP |
50 | RM = rm |
51 | CP = cp | |
52 | ||
7da15eff | 53 | LOCAL_INCLUDES = -I$(srcdir)/../ |
bd5635a1 RP |
54 | |
55 | CSOURCES = readline.c history.c funmap.c keymaps.c vi_mode.c \ | |
56 | emacs_keymap.c vi_keymap.c | |
57 | ||
58 | HSOURCES = readline.h chardefs.h history.h keymaps.h | |
59 | SOURCES = $(CSOURCES) $(HSOURCES) | |
60 | ||
fff3e61f RP |
61 | DOCUMENTATION = readline.texi inc-read.texi \ |
62 | history.texi inc-hist.texi | |
bd5635a1 RP |
63 | |
64 | SUPPORT = COPYING Makefile $(DOCUMENTATION) ChangeLog | |
65 | ||
66 | THINGS_TO_TAR = $(SOURCES) $(SUPPORT) | |
67 | ||
68 | ########################################################################## | |
69 | ||
502ef32a | 70 | STAGESTUFF = *.o |
7da15eff | 71 | |
e92ee469 RP |
72 | all: libreadline.a |
73 | ||
74 | all-info: history.info readline.info | |
fff3e61f RP |
75 | |
76 | history.info: history.texi | |
c5bbc6ea | 77 | $(MAKEINFO) -o history.info $(srcdir)/history.texi |
fff3e61f | 78 | |
c5bbc6ea SG |
79 | readline.info: readline.texi inc-read.texi |
80 | $(MAKEINFO) -o readline.info $(srcdir)/readline.texi | |
bd5635a1 | 81 | |
c5bbc6ea | 82 | libreadline.a: readline.o history.o funmap.o keymaps.o tilde.o |
bd5635a1 | 83 | $(RM) -f libreadline.a |
c5bbc6ea | 84 | $(AR) $(AR_FLAGS) libreadline.a readline.o history.o funmap.o keymaps.o tilde.o |
7da15eff | 85 | $(RANLIB) libreadline.a |
bd5635a1 RP |
86 | |
87 | readline.o: readline.h chardefs.h keymaps.h history.h readline.c vi_mode.c | |
88 | history.o: history.c history.h | |
89 | funmap.o: readline.h | |
90 | keymaps.o: emacs_keymap.c vi_keymap.c keymaps.h chardefs.h keymaps.c | |
c5bbc6ea SG |
91 | tilde.o: ../glob/tilde.c |
92 | $(CC) -c $(CFLAGS) $(LOCAL_INCLUDES) $(CPPFLAGS) $(READLINE_DEFINES) ../glob/tilde.c | |
bd5635a1 RP |
93 | |
94 | libtest: libreadline.a libtest.c | |
95 | $(CC) -o libtest $(CFLAGS) $(CPPFLAGS) -L. libtest.c -lreadline -ltermcap | |
96 | ||
97 | readline: readline.c history.o keymaps.o funmap.o readline.h chardefs.h | |
98 | $(CC) $(CFLAGS) $(CPPFLAGS) $(READLINE_DEFINES) \ | |
99 | $(LOCAL_INCLUDES) -DTEST -o readline readline.c funmap.o \ | |
100 | keymaps.o history.o -L. -ltermcap | |
101 | ||
102 | readline.tar: $(THINGS_TO_TAR) | |
103 | tar -cf readline.tar $(THINGS_TO_TAR) | |
104 | ||
105 | readline.tar.Z: readline.tar | |
106 | compress -f readline.tar | |
107 | ||
fff3e61f | 108 | install: includes |
3558ead5 SC |
109 | $(INSTALL_PROG) libreadline.a $(DESTDIR)/libreadline.an |
110 | -mv $(DESTDIR)/libreadline.an $(DESTDIR)/libreadline.a | |
fff3e61f | 111 | $(RANLIB) $(DESTDIR)/libreadline.a |
e92ee469 RP |
112 | |
113 | install-info: all-info | |
fff3e61f RP |
114 | for i in *.info* ; do \ |
115 | echo Installing $$i... ; \ | |
3558ead5 | 116 | cp $$i $(idestdir)/info/$$i ; \ |
fff3e61f | 117 | done |
bd5635a1 RP |
118 | |
119 | includes: | |
120 | if [ ! -r $(INCDIR)/readline ]; then\ | |
121 | mkdir $(INCDIR)/readline;\ | |
122 | chmod a+r $(INCDIR)/readline;\ | |
123 | fi | |
bcb14db5 RP |
124 | $(INSTALL_FILE) $(srcdir)/readline.h $(INCDIR)/readline/ |
125 | $(INSTALL_FILE) $(srcdir)/keymaps.h $(INCDIR)/readline/ | |
126 | $(INSTALL_FILE) $(srcdir)/chardefs.h $(INCDIR)/readline/ | |
bd5635a1 | 127 | clean: |
fff3e61f RP |
128 | rm -f $(STAGESTUFF) *.a *.log *.cp *.tp *.vr *.fn |
129 | rm -f *.aux *.pg *.toc *.info* | |
bd5635a1 RP |
130 | |
131 | $(DESTDIR)/libreadline.a: libreadline.a | |
7da15eff RP |
132 | |
133 | # Copy the object files from a particular stage into a subdirectory. | |
134 | stage1: force | |
135 | -mkdir stage1 | |
136 | -mv $(STAGESTUFF) stage1 | |
137 | ||
138 | stage2: force | |
139 | -mkdir stage2 | |
140 | -mv $(STAGESTUFF) stage2 | |
141 | ||
142 | stage3: force | |
143 | -mkdir stage3 | |
144 | -mv $(STAGESTUFF) stage3 | |
145 | ||
30ba1dfe RP |
146 | against=stage2 |
147 | ||
148 | comparison: force | |
149 | for i in $(STAGESTUFF) ; do cmp $$i $(against)/$$i ; done | |
150 | ||
7da15eff RP |
151 | de-stage1: force |
152 | - (cd stage1 ; mv -f * ..) | |
153 | - rmdir stage1 | |
154 | ||
155 | de-stage2: force | |
156 | - (cd stage2 ; mv -f * ..) | |
157 | - rmdir stage2 | |
158 | ||
159 | de-stage3: force | |
160 | - (cd stage3 ; mv -f * ..) | |
161 | - rmdir stage3 | |
162 | ||
163 | force: | |
164 | ||
165 | # with the gnu make, this is done automatically. | |
166 | ||
c21b1b26 | 167 | Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag) |
bcb14db5 | 168 | $(SHELL) ./config.status |