2 # ------------------------------------------------------------------------
3 # Makefile for static version of BLT library
4 # ------------------------------------------------------------------------
6 # ------------------------------------------------------------------------
8 # ------------------------------------------------------------------------
10 BLT_LIBRARY = @BLT_LIBRARY@
11 TCLLIBPATH = @TCL_LIB_DIR@/tcl@TCL_VERSION@
15 EXTRA_CFLAGS = @GCCFLAGS@
16 LDFLAGS = @LDFLAGS@ @LD_RUN_PATH@
17 version = @BLT_MAJOR_VERSION@@BLT_MINOR_VERSION@
19 # ------------------------------------------------------------------------
20 # Source and targer installation directories
21 # ------------------------------------------------------------------------
23 bindir = $(exec_prefix)/bin
24 exec_prefix = @exec_prefix@
25 incdir = $(prefix)/include
27 scriptdir = $(exec_prefix)/lib
32 instdirs = $(prefix) $(exec_prefix) $(bindir) $(libdir) $(incdir)
34 # ------------------------------------------------------------------------
35 # Directories containing Tcl and Tk include files and libraries
36 # ------------------------------------------------------------------------
38 INCLUDES = -I. -I$(srcdir) @INCLUDES@
40 # ------------------------------------------------------------------------
41 # Libraries directives for Tcl, Tk, X11, and BLT
42 # ------------------------------------------------------------------------
44 LIBS = @LIB_SPECS@ @EXTRA_LIB_SPECS@
45 TCL_ONLY_LIBS = @TCL_ONLY_LIB_SPECS@ @EXTRA_LIB_SPECS@
47 # ------------------------------------------------------------------------
48 # You don't need to edit anything beyond this point
49 # ------------------------------------------------------------------------
52 V3_OBJS = bltTri.o bltGrMt.o
54 TK_OBJS = tkButton.o tkFrame.o bltScrollbar.o
56 GRAPH_OBJS = bltGrAxis.o \
73 IMAGE_OBJS = bltWinImage.o
74 PIPE_OBJS = bltWinPipe.o \
82 DND_OBJS = bltUnixDnd.o
83 IMAGE_OBJS = bltUnixImage.o
84 PIPE_OBJS = bltUnixPipe.o
88 TCL_ONLY_OBJS = bltAlloc.o \
112 OBJS = $(GRAPH_OBJS) \
137 bltTreeViewColumn.o \
145 # GNU Make-specific macro
146 SRCS = $(patsubst %.o,$(srcdir)/%.c,$(OBJS))
150 headers = $(srcdir)/blt.h \
151 $(srcdir)/bltBind.h \
152 $(srcdir)/bltChain.h \
154 $(srcdir)/bltList.h \
155 $(srcdir)/bltPool.h \
156 $(srcdir)/bltTree.h \
157 $(srcdir)/bltDecls.h \
158 $(srcdir)/bltVector.h
161 libvers_a = libBLT$(version).a
162 tcl_only_lib_a = libBLTlite.a
163 tcl_only_libvers_a = libBLTlite$(version).a
165 CC_SWITCHES = $(EXTRA_CFLAGS) $(CFLAGS) $(DEFINES) $(INCLUDES)
167 INSTALL_DATA = @INSTALL_DATA@
180 all: $(bltsh) $(bltwish) @SHLIB_TARGET@
181 #all: $(bltwish) @SHLIB_TARGET@
184 (cd shared; $(MAKE) CFLAGS="$(CFLAGS)" all)
186 $(bltwish): $(lib_a) $(srcdir)/bltUnixMain.c
188 $(CC) $(CC_SWITCHES) $(LDFLAGS) -o $(bltwish) \
189 -DTCLLIBPATH=\"$(TCLLIBPATH)\" \
190 $(srcdir)/bltUnixMain.c $(lib_a) $(LIBS)
192 $(bltsh): $(tcl_only_lib_a) $(srcdir)/bltUnixMain.c
194 $(CC) $(CC_SWITCHES) $(LDFLAGS) -DTCL_ONLY -o $(bltsh) \
195 -DTCLLIBPATH=\"$(TCLLIBPATH)\" \
196 $(srcdir)/bltUnixMain.c $(tcl_only_lib_a) $(TCL_ONLY_LIBS)
198 $(lib_a): $(OBJS) $(srcdir)/bltInit.c
199 $(CC) -c $(CC_SWITCHES) -DBLT_LIBRARY=\"$(BLT_LIBRARY)\" \
202 $(AR) $@ $(OBJS) bltInit.o
205 $(tcl_only_lib_a): $(TCL_ONLY_OBJS) $(srcdir)/bltInit.c
206 $(CC) -c $(CC_SWITCHES) -DTCL_ONLY -DBLT_LIBRARY=\"$(BLT_LIBRARY)\" \
209 $(AR) $@ $(TCL_ONLY_OBJS) bltInit.o
212 install: mkdirs install-lib install-demo install-headers
214 install-demo: $(bltwish) $(bltsh)
215 $(INSTALL) -m 0755 $(bltwish) $(INSTALL_ROOT)$(bindir)
216 $(INSTALL) -m 0755 $(bltsh) $(INSTALL_ROOT)$(bindir)
218 install-lib: $(lib_a) $(tcl_only_lib_a)
219 $(INSTALL_DATA) $(lib_a) $(INSTALL_ROOT)$(libdir)/$(libvers_a)
220 (cd $(INSTALL_ROOT)$(libdir); $(RM) $(lib_a) ; $(LN_S) $(libvers_a) $(lib_a))
221 $(RANLIB) $(INSTALL_ROOT)$(libdir)/$(libvers_a)
222 $(INSTALL_DATA) $(tcl_only_lib_a) $(INSTALL_ROOT)$(libdir)/$(tcl_only_libvers_a)
223 (cd $(INSTALL_ROOT)$(libdir); $(RM) $(tcl_only_lib_a) ; $(LN_S) $(tcl_only_libvers_a) $(tcl_only_lib_a))
224 $(RANLIB) $(INSTALL_ROOT)$(libdir)/$(tcl_only_libvers_a)
225 (cd shared; $(MAKE) install)
228 @for i in $(instdirs) ; do \
229 if test -d $(INSTALL_ROOT)$$i ; then \
232 echo " mkdir $(INSTALL_ROOT)$$i" ; \
233 mkdir $(INSTALL_ROOT)$$i ; \
238 @for i in $(headers) ; do \
239 echo "installing $$i..." ; \
240 $(INSTALL_DATA) -m 0444 $$i $(INSTALL_ROOT)$(incdir) ; \
244 $(LINT) $(LINTFLAGS) $(DEFINES) $(INCLUDES) $(SRCS)
247 $(CC) -I$(srcdir) @INCLUDES@ -c $(srcdir)/bltStubLib.c
248 $(AR) libBLTstub.a bltStubLib.o
249 $(RANLIB) libBLTstub.a
253 tclsh $(TCLLIBPATH)/tools/genStubs.tcl $(srcdir) blt.decl
256 $(XREF) $(XREFFLAGS) $(DEFINES) $(INCLUDES) $(SRCS)
259 $(RM) $(OBJS) bltInit.o $(lib_a) $(tcl_only_lib_a) \
260 $(bltsh)* $(bltwish)*
261 (cd shared; $(MAKE) clean)
264 $(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"* Makefile
265 $(RM) bltConfig.h Makefile TAGS
268 $(CC) -c $(CC_SWITCHES) $<
272 $(QUANTIFYHOME)/quantify $(QUANTIFYFLAGS) $(CC) $(CC_SWITCHES) \
273 $(srcdir)/bltUnixMain.c -o bltwish $(lib_a) $(LIBS)