-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile.in
359 lines (299 loc) · 11.9 KB
/
Makefile.in
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
#
# This file is a Makefile for curses wish. If it has the name "Makefile.in"
# then it is a template for a Makefile; to generate the actual Makefile,
# run "./configure", which is a configuration script generated by the
# "autoconf" program (constructs like "@foo@" will get replaced in the
# actual Makefile.
#
# Current Ck version; used in various names.
VERSION = @CK_VERSION@
#----------------------------------------------------------------
# Things you can change to personalize the Makefile for your own
# site (you can make these changes in either Makefile.in or
# Makefile, but changes to Makefile will get lost if you re-run
# the configuration script).
#----------------------------------------------------------------
# Default top-level directories in which to install architecture-
# specific files (exec_prefix) and machine-independent files such
# as scripts (prefix). The values specified here may be overridden
# at configure-time with the --exec-prefix and --prefix options
# to the "configure" script.
prefix = @prefix@
exec_prefix = @exec_prefix@
libdir = @libdir@
mandir = @mandir@
includedir = @includedir@
# The following definition can be set to non-null for special systems
# like AFS with replication. It allows the pathnames used for installation
# to be different than those used for actually reference files at
# run-time. INSTALL_ROOT is prepended to $prefix and $exec_prefix
# when installing files.
INSTALL_ROOT =
# Directory from which applications will reference the library of Tcl
# scripts (note: you can set the CK_LIBRARY environment variable at
# run-time to override the compiled-in location):
CK_LIBRARY = $(prefix)/lib/ck$(VERSION)
# Path name to use when installing library scripts:
SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(CK_LIBRARY)
# Directory in which to install the archive libck*:
LIB_INSTALL_DIR = $(INSTALL_ROOT)$(libdir)
# Directory in which to install the program cwsh:
BIN_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/bin
# Directory from which the program cwsh should be referenced by scripts:
BIN_DIR = $(exec_prefix)/bin
# Directory in which to install the include file ck.h:
INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir)
# Top-level directory for manual entries:
MAN_INSTALL_DIR = $(INSTALL_ROOT)$(mandir)
# Directory in which to install manual entry for cwsh:
MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1
# Directory in which to install manual entries for C library
# procedures:
MAN3_INSTALL_DIR = $(MAN_INSTALL_DIR)/man3
# Directory in which to install manual entries for the built-in
# Tcl commands implemented by Ck:
MANN_INSTALL_DIR = $(MAN_INSTALL_DIR)/mann
# The directory containing the Tcl headers appropriate
# for this version ("srcdir" will be replaced or has already
# been replaced by the configure script):
TCL_VERSION = @TCL_VERSION@
TCL_DIR = @TCL_DIR@
TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@
# The directory containing the Tcl library archive file appropriate
# for this version:
TCL_BIN_DIR = @TCL_BIN_DIR@
# A "-I" switch that can be used when compiling to make curses.h
# accessible (the configure script will try to set this value, and
# will cause it to be an empty string if the include file is accessible
# via /usr/include).
CURSES_INCLUDES = @CURSESINCLUDES@ @USE_NCURSES@ @USE_NCURSESW@
# Linker switch(es) to use to link with the curses library archive (the
# configure script will try to set this value automatically, but you
# can override it).
CURSES_LIB_SWITCHES = @CURSESLIBSW@
# Libraries to use when linking: must include at least Ck, Tcl, curses,
# and the math library (in that order). The "LIBS" part will be
# replaced (or has already been replaced) with relevant libraries as
# determined by the configure script.
LIBS = @TCL_BUILD_LIB_SPEC@ @LIBS@ $(CURSES_LIB_SWITCHES) @DL_LIBS@ @MATH_LIBS@ -lc
# To change the compiler switches, for example to change from -O
# to -g, change the following line:
CFLAGS = -O
# To disable ANSI-C procedure prototypes reverse the comment characters
# on the following lines:
PROTO_FLAGS =
#PROTO_FLAGS = -DNO_PROTOTYPE
# To enable memory debugging reverse the comment characters on the following
# lines. Warning: if you enable memory debugging, you must do it
# *everywhere*, including all the code that calls Tcl, and you must use
# ckalloc and ckfree everywhere instead of malloc and free.
MEM_DEBUG_FLAGS =
#MEM_DEBUG_FLAGS = -DTCL_MEM_DEBUG
# Some versions of make, like SGI's, use the following variable to
# determine which shell to use for executing commands:
SHELL = /bin/sh
# Ck used to let the configure script choose which program to use
# for installing, but there are just too many different versions of
# "install" around; better to use the install-sh script that comes
# with the distribution, which is slower but guaranteed to work.
INSTALL = @srcdir@/install-sh -c
#----------------------------------------------------------------
# The symbols below provide support for dynamic loading and shared
# libraries. The values of the symbols are normally set by the
# configure script. You shouldn't normally need to modify any of
# these definitions by hand. However, you can reverse the comments
# on the pairs of lines to force "no dynamic loading or shared
# libraries".
#----------------------------------------------------------------
# Additional cc flags needed for Ck
CK_CFLAGS = @CK_CFLAGS@
# Additional cc flags needed in order to compile Ck as a shared library.
# This will be an empty string if Ck isn't configured as a shared library.
CK_SHLIB_CFLAGS = @CK_SHLIB_CFLAGS@
#CK_SHLIB_CFLAGS =
# Base command to use for combining object files into a shared
# library:
SHLIB_LD = @SHLIB_LD@
# Suffix to use for the name of the shared library. An empty string
# means we don't know how to use shared libraries on this platform.
SHLIB_SUFFIX = @SHLIB_SUFFIX@
#SHLIB_SUFFIX =
# Version string to tack onto the name of shared libraries (after the
# suffix), if it is needed for -lxxx to work during linking (e.g. on
# FreeBSD and NetBSD).
SHLIB_VERSION = @SHLIB_VERSION@
#SHLIB_VERSION =
# Library file(s) to include in cwsh and other base applications
# in order for the the "load" command to work (e.g. "-ldl").
DL_LIBS = @DL_LIBS@
#DL_LIBS =
# Flags to pass to the compiler when linking object files into
# an executable cwsh.
LD_FLAGS = @LD_FLAGS@ @CK_LD_SEARCH_FLAGS@
#LD_FLAGS =
CK_LIB_FILE = @CK_LIB_FILE@
#CK_LIB_FILE = libck.a
#----------------------------------------------------------------
# The information below is modified by the configure script when
# Makefile is generated from Makefile.in. You shouldn't normally
# modify any of this stuff by hand.
#----------------------------------------------------------------
AC_FLAGS = @DEFS@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
RANLIB = @RANLIB@
SRC_DIR = @srcdir@
VPATH = @srcdir@
#----------------------------------------------------------------
# The information below should be usable as is. The configure
# script won't modify it and you shouldn't need to modify it
# either.
#----------------------------------------------------------------
CC = @CC@
CC_SWITCHES = ${CFLAGS} ${CK_CFLAGS} ${CK_SHLIB_CFLAGS} -I${SRC_DIR} \
${TCL_INCLUDE_SPEC} -I${TCL_DIR} \
${CURSES_INCLUDES} ${AC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \
-DCK_LIBRARY=\"${CK_LIBRARY}\"
WIDGOBJS = ckButton.o ckEntry.o ckFrame.o ckListbox.o \
ckMenu.o ckMenubutton.o ckMessage.o ckScrollbar.o ckTree.o
TEXTOBJS = ckText.o ckTextBTree.o ckTextDisp.o ckTextIndex.o \
ckTextMark.o ckTextTag.o
OBJS = ckBind.o ckBorder.o ckCmds.o ckConfig.o ckEvent.o ckFocus.o \
ckGeometry.o ckGet.o ckGrid.o ckMain.o ckOption.o ckPack.o ckPlace.o \
ckPreserve.o ckRecorder.o ckUtil.o ckWindow.o tkEvent.o \
$(WIDGOBJS) $(TEXTOBJS)
SRCS = ckBind.c ckBorder.c ckCmds.c ckConfig.c ckEvent.c ckFocus.c \
ckGeometry.c ckGet.c ckGrid.c ckMain.c ckOption.c ckPack.c ckPlace.c \
ckPreserve.c ckRecorder.c ckUtil.c ckWindow.c tkEvent.c \
ckButton.c ckEntry.c ckFrame.c ckListbox.c \
ckMenu.c ckMenubutton.c ckMessage.c ckScrollbar.o \
ckText.c ckTextBTree.c ckTextDisp.c ckTextIndex.c \
ckTextMark.c ckTextTag.c ckTree.c \
ckAppInit.c
HDRS = default.h ks_names.h ck.h ckPort.h ckText.h
all: cwsh
@CK_LIB_FILE@: $(OBJS)
rm -f @CK_LIB_FILE@
@MAKE_LIB@
$(RANLIB) @CK_LIB_FILE@
cwsh: ckAppInit.o $(CK_LIB_FILE)
$(CC) $(LD_FLAGS) ckAppInit.o @CK_BUILD_LIB_SPEC@ $(LIBS) -o cwsh
configInfo: Makefile
@rm -f configInfo
@echo "# Definitions and libraries needed to build Ck applications" >> configInfo
@echo "# (generated by the configure script):" >> configInfo
@echo "CK_CC_SWITCHES = ${AC_FLAGS} ${MEM_DEBUG_FLAGS}" >> configInfo
@echo "CK_CURSES_INCLUDES = ${CURSES_INCLUDES}" >> configInfo
@echo "CK_LIBS = ${CURSES_LIB_SWITCHES} @LIBS@" >> configInfo
install: install-binaries install-libraries
install-binaries: $(CK_LIB_FILE) cwsh
@for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \
do \
if [ ! -d $$i ] ; then \
echo "Making directory $$i"; \
mkdir $$i; \
chmod 755 $$i; \
else true; \
fi; \
done;
@echo "Installing $(CK_LIB_FILE)"
@$(INSTALL_DATA) $(CK_LIB_FILE) $(LIB_INSTALL_DIR)/$(CK_LIB_FILE)
@$(RANLIB) $(LIB_INSTALL_DIR)/$(CK_LIB_FILE)
chmod 555 $(LIB_INSTALL_DIR)/$(CK_LIB_FILE)
@echo "Installing cwsh"
@$(INSTALL_PROGRAM) cwsh $(BIN_INSTALL_DIR)/cwsh
install-libraries:
@for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \
$(SCRIPT_INSTALL_DIR) ; \
do \
if [ ! -d $$i ] ; then \
echo "Making directory $$i"; \
mkdir $$i; \
chmod 755 $$i; \
else true; \
fi; \
done;
@echo "Installing ck.h"
@$(INSTALL_DATA) $(SRC_DIR)/ck.h $(INCLUDE_INSTALL_DIR)
for i in $(SRC_DIR)/library/*.tcl $(SRC_DIR)/library/tclIndex \
$(SRC_DIR)/ckAppInit.c; do \
echo "Installing $$i"; \
$(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); \
done;
install-demos:
@for i in $(INSTALL_ROOT)$(prefix)/lib $(SCRIPT_INSTALL_DIR) \
$(SCRIPT_INSTALL_DIR)/demos \
$(SCRIPT_INSTALL_DIR)/demos/images ; \
do \
if [ ! -d $$i ] ; then \
echo "Making directory $$i"; \
mkdir $$i; \
chmod 755 $$i; \
else true; \
fi; \
done;
@for i in $(SRC_DIR)/library/demos/*; \
do \
if [ -f $$i ] ; then \
echo "Installing $$i"; \
$(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/demos; \
fi; \
done;
@for i in $(DEMOPROGS); \
do \
chmod 755 $(SCRIPT_INSTALL_DIR)/demos/$$i; \
done;
@for i in $(SRC_DIR)/library/demos/images/*; \
do \
if [ -f $$i ] ; then \
echo "Installing $$i"; \
$(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/demos/images; \
fi; \
done;
install-man:
@for i in $(MAN_INSTALL_DIR) $(MAN1_INSTALL_DIR) $(MAN3_INSTALL_DIR) $(MANN_INSTALL_DIR) ; \
do \
if [ ! -d $$i ] ; then \
echo "Making directory $$i"; \
mkdir $$i; \
chmod 755 $$i; \
else true; \
fi; \
done;
@cd $(SRC_DIR)/doc; for i in *.1; \
do \
echo "Installing doc/$$i"; \
rm -f $(MAN1_INSTALL_DIR)/$$i; \
sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
$$i > $(MAN1_INSTALL_DIR)/$$i; \
chmod 444 $(MAN1_INSTALL_DIR)/$$i; \
done;
@cd $(SRC_DIR)/doc; for i in *.3; \
do \
echo "Installing doc/$$i"; \
rm -f $(MAN3_INSTALL_DIR)/$$i; \
sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
$$i > $(MAN3_INSTALL_DIR)/$$i; \
chmod 444 $(MAN3_INSTALL_DIR)/$$i; \
done;
@cd $(SRC_DIR)/doc; for i in *.n; \
do \
echo "Installing doc/$$i"; \
rm -f $(MANN_INSTALL_DIR)/$$i; \
sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
$$i > $(MANN_INSTALL_DIR)/$$i; \
chmod 444 $(MANN_INSTALL_DIR)/$$i; \
done;
Makefile: $(SRC_DIR)/Makefile.in
$(SHELL) config.status
clean:
rm -f *.a *.o core errs *~ \#* TAGS *.E a.out errors cwsh \
config.info
distclean: clean
rm -f Makefile config.status config.cache config.log \
ckConfig.sh $(CK_LIB_FILE)
depend:
makedepend -- $(CC_SWITCHES) -- $(SRCS)
.c.o:
$(CC) -c $(CC_SWITCHES) $<
# DO NOT DELETE THIS LINE -- make depend depends on it.