Added stage stuff.
[external/binutils.git] / readline / Makefile.in
1 ## -*- text -*- ####################################################
2 #                                                                  #
3 # Makefile for readline and history libraries.                     #
4 #                                                                  #
5 ####################################################################
6
7 srcdir = .
8 destdir = /usr/local
9
10 #### host and target dependent Makefile fragments come in here.
11 ##
12
13 # Here is a rule for making .o files from .c files that doesn't force
14 # the type of the machine (like -sun3) into the flags.
15 .c.o:
16         $(CC) -c $(CFLAGS) $(LOCAL_INCLUDES) $(CPPFLAGS) $(READLINE_DEFINES) $<
17
18 # Destination installation directory.  The libraries are copied to DESTDIR
19 # when you do a `make install', and the header files to INCDIR/readline/*.h.
20 DESTDIR = $(destdir)/lib
21 INCDIR = $(destdir)/include
22
23 # Define TYPES as -DVOID_SIGHANDLER if your operating system uses
24 # a return type of "void" for signal handlers.
25 TYPES = -DVOID_SIGHANDLER
26
27 # Define SYSV as -DSYSV if you are using a System V operating system.
28 #SYSV = -DSYSV
29
30 # HP-UX compilation requires the BSD library.
31 #LOCAL_LIBS = -lBSD
32
33 # Xenix compilation requires -ldir -lx
34 #LOCAL_LIBS = -ldir -lx
35
36 # Comment out "-DVI_MODE" if you don't think that anyone will ever desire
37 # the vi line editing mode and features.
38 READLINE_DEFINES = $(TYPES) -DVI_MODE
39
40 DEBUG_FLAGS = -g
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
47 RANLIB = /bin/ranlib
48 AR = ar
49 AR_FLAGS = clq
50 RM = rm
51 CP = cp
52
53 LOCAL_INCLUDES = -I$(srcdir)/../
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
61 DOCUMENTATION = readline.texinfo inc-readline.texinfo \
62                 history.texinfo inc-history.texinfo
63
64 SUPPORT = COPYING Makefile $(DOCUMENTATION) ChangeLog
65
66 THINGS_TO_TAR = $(SOURCES) $(SUPPORT)
67
68 ##########################################################################
69
70 STAGESTUFF = *.o *.a *.log *.cp *.tp *.vr *.fn *.aux *.pg *.toc
71
72 all: libreadline.a
73
74 libreadline.a:  readline.o history.o funmap.o keymaps.o
75                 $(RM) -f libreadline.a
76                 $(AR) $(AR_FLAGS) libreadline.a readline.o history.o funmap.o keymaps.o
77                 $(RANLIB) libreadline.a
78
79 readline.o:     readline.h chardefs.h  keymaps.h history.h readline.c vi_mode.c
80 history.o:      history.c history.h
81 funmap.o:       readline.h
82 keymaps.o:      emacs_keymap.c vi_keymap.c keymaps.h chardefs.h keymaps.c
83
84 libtest:        libreadline.a libtest.c
85                 $(CC) -o libtest $(CFLAGS) $(CPPFLAGS) -L. libtest.c -lreadline -ltermcap
86
87 readline: readline.c history.o keymaps.o funmap.o readline.h chardefs.h
88         $(CC) $(CFLAGS) $(CPPFLAGS) $(READLINE_DEFINES) \
89                 $(LOCAL_INCLUDES) -DTEST -o readline readline.c funmap.o \
90                  keymaps.o history.o -L. -ltermcap
91
92 readline.tar:   $(THINGS_TO_TAR)
93                 tar -cf readline.tar $(THINGS_TO_TAR)
94
95 readline.tar.Z: readline.tar
96                 compress -f readline.tar
97
98 install:        $(DESTDIR)/libreadline.a includes
99
100 includes:
101                 if [ ! -r $(INCDIR)/readline ]; then\
102                  mkdir $(INCDIR)/readline;\
103                  chmod a+r $(INCDIR)/readline;\
104                 fi
105                 $(CP) readline.h keymaps.h chardefs.h $(INCDIR)/readline/
106 clean:
107                 rm -f $(STAGESTUFF)
108
109 $(DESTDIR)/libreadline.a: libreadline.a
110                 -mv $(DESTDIR)/libreadline.a $(DESTDIR)/libreadline.old
111                 cp libreadline.a $(DESTDIR)/libreadline.a
112                 $(RANLIB) -t $(DESTDIR)/libreadline.a
113
114 # Copy the object files from a particular stage into a subdirectory.
115 stage1: force
116         -mkdir stage1
117         -mv $(STAGESTUFF) stage1
118
119 stage2: force
120         -mkdir stage2
121         -mv $(STAGESTUFF) stage2
122
123 stage3: force
124         -mkdir stage3
125         -mv $(STAGESTUFF) stage3
126
127 de-stage1: force
128         - (cd stage1 ; mv -f * ..)
129         - rmdir stage1
130
131 de-stage2: force
132         - (cd stage2 ; mv -f * ..)
133         - rmdir stage2
134
135 de-stage3: force
136         - (cd stage3 ; mv -f * ..)
137         - rmdir stage3
138
139 force:
140
141 # with the gnu make, this is done automatically.
142
143 Makefile: $(srcdir)/Makefile.in $(srcdir)/configure
144         (cd $(srcdir) ; \
145                 ./configure +destdir=$(destdir) +norecurse \
146                  `if [ "$(srcdir)" != "." ] ; then echo +f; fi` \
147                 $(host) +target=$(target))
148