1# ------------------------------------------------------------------------
2# 	Makefile for shared version of BLT library
3# ------------------------------------------------------------------------
4
5SHLIB_SUFFIX =	@SHLIB_SUFFIX@
6version =	@BLT_MAJOR_VERSION@@BLT_MINOR_VERSION@
7
8# ------------------------------------------------------------------------
9# 	C Compiler options
10# ------------------------------------------------------------------------
11
12CC =		@CC@
13CFLAGS =	@CFLAGS@
14EXTRA_CFLAGS =	@GCCFLAGS@ @SHLIB_CFLAGS@
15DEFINES =	@DEFINES@
16DEF_BLTINIT =	-DBLT_LIBRARY=\"$(scriptdir)\"
17SHLIB_LD_FLAGS = @SHLIB_LD_FLAGS@ @LD_RUN_PATH@
18SHLIB_TCL_ONLY_LIB_SPECS = -lm  @SHLIB_TCL_ONLY_LIB_SPECS@
19SHLIB_LIB_SPECS = -lm  @SHLIB_LIB_SPECS@
20SHLIB_LD =	@SHLIB_LD@
21LDFLAGS =	@LDFLAGS@ @LD_RUN_PATH@
22
23prefix =	@prefix@
24exec_prefix =	@exec_prefix@
25libdir =	@libdir@
26bindir =	$(exec_prefix)/bin
27srcdir =	@srcdir@/..
28
29instdirs =	$(exec_prefix) $(libdir)
30
31scriptdir =	@BLT_LIBRARY@
32
33LIBS =		@LIB_SPECS@ @EXTRA_LIB_SPECS@
34TCL_ONLY_LIB_SPECS = -lm  @TCL_ONLY_LIB_SPECS@ @EXTRA_LIB_SPECS@
35
36# ------------------------------------------------------------------------
37# 	Don't edit anything beyond this point
38# ------------------------------------------------------------------------
39
40N_OBJS =	bltTed.o
41V3_OBJS =	bltTri.o bltGrMt.o
42
43TK_OBJS =	tkButton.o tkFrame.o bltScrollbar.o
44
45GRAPH_OBJS =	bltGrAxis.o \
46		bltGrBar.o \
47		bltGrElem.o \
48		bltGrGrid.o \
49		bltGrHairs.o \
50		bltGrLegd.o \
51		bltGrLine.o \
52		bltGrMarker.o \
53		bltGrMisc.o \
54		bltGrPen.o \
55		bltGrPs.o \
56		bltGraph.o
57
58TCL_ONLY_OBJS =	bltAlloc.o \
59		bltArrayObj.o \
60		bltBgexec.o \
61		bltChain.o \
62		bltDebug.o \
63		bltHash.o \
64		bltList.o \
65		bltNsUtil.o \
66		bltParse.o \
67		bltPool.o \
68		bltSpline.o \
69		bltSwitch.o \
70		bltTree.o \
71		bltTreeCmd.o \
72		bltUnixPipe.o \
73		bltUtil.o \
74		bltVector.o \
75		bltVecMath.o \
76		bltVecCmd.o \
77		bltVecObjCmd.o \
78		bltWatch.o
79
80OBJS =		$(GRAPH_OBJS) \
81		$(TCL_ONLY_OBJS) \
82		bltBeep.o \
83		bltBind.o \
84		bltBitmap.o \
85		bltBusy.o \
86		bltCanvEps.o \
87		bltColor.o \
88		bltConfig.o \
89		bltContainer.o \
90		bltCutbuffer.o \
91		bltDragdrop.o \
92		bltHierbox.o \
93		bltHtext.o \
94		bltImage.o \
95		bltUnixImage.o \
96		bltPs.o \
97		bltTable.o \
98		bltTabnotebook.o \
99		bltTabset.o \
100		bltText.o \
101		bltTile.o \
102		bltTreeView.o \
103		bltTreeViewCmd.o \
104		bltTreeViewColumn.o \
105		bltTreeViewEdit.o \
106		bltTreeViewStyle.o \
107		bltUnixDnd.o \
108		bltWindow.o \
109		bltObjConfig.o \
110		bltWinop.o \
111		$(TK_OBJS) $(N_OBJS)
112
113INCLUDES =	-I.. -I$(srcdir) -I$(srcdir)/.. @INCLUDES@
114CC_SWITCHES =	$(EXTRA_CFLAGS) $(CFLAGS) $(DEFINES) $(INCLUDES)
115INSTALL =	@INSTALL@
116INSTALL_DATA =	@INSTALL_DATA@
117INSTALL_ROOT =  ${DESTDIR}
118SHELL =		/bin/sh
119RM =		rm -f
120LN_S =		@LN_S@
121bltwish =	bltwish$(version)
122bltsh =		bltsh$(version)
123lib_so =	libBLT$(version)$(SHLIB_SUFFIX)
124tcl_only_lib_so = libBLTlite$(version)$(SHLIB_SUFFIX)
125
126all: build_lib build_demo
127
128build_demo: $(bltwish) $(bltsh)
129
130$(bltwish): $(lib_so)
131	$(RM) $(bltwish)
132	$(CC) $(CC_SWITCHES) $(LDFLAGS) -o $(bltwish) \
133		$(srcdir)/bltUnixMain.c $(lib_so) $(LIBS)
134
135$(bltsh): $(tcl_only_lib_so)
136	$(RM) $(bltsh)
137	$(CC) $(CC_SWITCHES) $(LDFLAGS) -DTCL_ONLY -o $(bltsh) \
138		$(srcdir)/bltUnixMain.c $(tcl_only_lib_so) \
139		$(TCL_ONLY_LIB_SPECS)
140
141build_lib: $(lib_so) $(tcl_only_lib_so)
142
143$(lib_so): $(OBJS)
144	$(CC) -c $(CC_SWITCHES) -DBLT_LIBRARY=\"$(scriptdir)\" \
145		$(srcdir)/bltInit.c
146	$(RM) $@
147	$(SHLIB_LD) $(SHLIB_LD_FLAGS) -o $@ bltInit.o $(OBJS) \
148		$(SHLIB_LIB_SPECS)
149
150$(tcl_only_lib_so): $(TCL_ONLY_OBJS)
151	$(CC) -c $(CC_SWITCHES) -DTCL_ONLY -DBLT_LIBRARY=\"$(scriptdir)\" \
152		$(srcdir)/bltInit.c
153	$(RM) $@
154	$(SHLIB_LD) $(SHLIB_LD_FLAGS) -o $@ bltInit.o $(TCL_ONLY_OBJS) \
155		$(SHLIB_TCL_ONLY_LIB_SPECS)
156
157install: mkdirs install-lib install-demo
158
159install-demo: $(bltwish)
160	$(INSTALL) -m 0755 bltwish$(version) $(INSTALL_ROOT)$(bindir)
161	$(INSTALL) -m 0755 bltsh$(version) $(INSTALL_ROOT)$(bindir)
162
163install-lib: $(lib_so) $(tcl_only_lib_so)
164	$(INSTALL) -m 0755 $(lib_so) $(INSTALL_ROOT)$(libdir)
165	$(INSTALL) -m 0755 $(tcl_only_lib_so) $(INSTALL_ROOT)$(libdir)
166
167mkdirs:
168	@for i in $(instdirs) ; do \
169          if test -d $(INSTALL_ROOT)$$i ; then \
170	    : ;\
171	  else \
172	    echo " mkdir $(INSTALL_ROOT)$$i" ; \
173            mkdir $(INSTALL_ROOT)$$i ; \
174	  fi ; \
175        done
176clean:
177	$(RM) $(OBJS) $(lib_so) $(tcl_only_lib_so) $(bltwish) $(bltsh) \
178		*pure* .pure*
179
180distclean: clean
181	$(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"*
182
183# ------------------------------------------------------------------------
184# 	in lieu of viewpath-ing...
185#
186bltAlloc.o: 	$(srcdir)/bltAlloc.c
187	$(CC) -c $(CC_SWITCHES) $?
188bltArrayObj.o: 	$(srcdir)/bltArrayObj.c
189	$(CC) -c $(CC_SWITCHES) $?
190bltBeep.o: 	$(srcdir)/bltBeep.c
191	$(CC) -c $(CC_SWITCHES) $?
192bltBgexec.o: 	$(srcdir)/bltBgexec.c
193	$(CC) -c $(CC_SWITCHES) $?
194bltBind.o: 	$(srcdir)/bltBind.c
195	$(CC) -c $(CC_SWITCHES) $?
196bltBitmap.o: 	$(srcdir)/bltBitmap.c
197	$(CC) -c $(CC_SWITCHES) $?
198bltBusy.o: 	$(srcdir)/bltBusy.c
199	$(CC) -c $(CC_SWITCHES) $?
200bltCanvEps.o: 	$(srcdir)/bltCanvEps.c
201	$(CC) -c $(CC_SWITCHES) $?
202bltColor.o: 	$(srcdir)/bltColor.c
203	$(CC) -c $(CC_SWITCHES) $?
204bltConfig.o: 	$(srcdir)/bltConfig.c
205	$(CC) -c $(CC_SWITCHES) $?
206bltObjConfig.o: $(srcdir)/bltObjConfig.c
207	$(CC) -c $(CC_SWITCHES) $?
208bltContainer.o: $(srcdir)/bltContainer.c
209	$(CC) -c $(CC_SWITCHES) $?
210bltCutbuffer.o: $(srcdir)/bltCutbuffer.c
211	$(CC) -c $(CC_SWITCHES) $?
212bltDebug.o: $(srcdir)/bltDebug.c
213	$(CC) -c $(CC_SWITCHES) $?
214bltDragdrop.o: $(srcdir)/bltDragdrop.c
215	$(CC) -c $(CC_SWITCHES) $?
216bltUnixDnd.o: $(srcdir)/bltUnixDnd.c
217	$(CC) -c $(CC_SWITCHES) $?
218bltGrAxis.o:	$(srcdir)/bltGrAxis.c
219	$(CC) -c $(CC_SWITCHES) $?
220bltGrBar.o:	$(srcdir)/bltGrBar.c
221	$(CC) -c $(CC_SWITCHES) $?
222bltGrElem.o:	$(srcdir)/bltGrElem.c
223	$(CC) -c $(CC_SWITCHES) $?
224bltGrGrid.o:	$(srcdir)/bltGrGrid.c
225	$(CC) -c $(CC_SWITCHES) $?
226bltGrHairs.o:	$(srcdir)/bltGrHairs.c
227	$(CC) -c $(CC_SWITCHES) $?
228bltGrLegd.o: 	$(srcdir)/bltGrLegd.c
229	$(CC) -c $(CC_SWITCHES) $?
230bltGrLine.o:	$(srcdir)/bltGrLine.c
231	$(CC) -c $(CC_SWITCHES) $?
232bltGrMisc.o: 	$(srcdir)/bltGrMisc.c
233	$(CC) -c $(CC_SWITCHES) $?
234bltGrPen.o: 	$(srcdir)/bltGrPen.c
235	$(CC) -c $(CC_SWITCHES) $?
236bltGrPs.o: 	$(srcdir)/bltGrPs.c
237	$(CC) -c $(CC_SWITCHES) $?
238bltGrMarker.o: 	$(srcdir)/bltGrMarker.c
239	$(CC) -c $(CC_SWITCHES) $?
240bltGrMt.o: 	$(srcdir)/bltGrMt.c
241	$(CC) -c $(CC_SWITCHES) $?
242bltGrCont.o: 	$(srcdir)/bltGrCont.c
243	$(CC) -c $(CC_SWITCHES) $?
244bltGraph.o:	$(srcdir)/bltGraph.c
245	$(CC) -c $(CC_SWITCHES) $?
246bltHash.o: 	$(srcdir)/bltHash.c
247	$(CC) -c $(CC_SWITCHES) $?
248bltHierbox.o: 	$(srcdir)/bltHierbox.c
249	$(CC) -c $(CC_SWITCHES) $?
250bltHtext.o: 	$(srcdir)/bltHtext.c
251	$(CC) -c $(CC_SWITCHES) $?
252bltImage.o: 	$(srcdir)/bltImage.c
253	$(CC) -c $(CC_SWITCHES) $?
254bltUnixImage.o: $(srcdir)/bltUnixImage.c
255	$(CC) -c $(CC_SWITCHES) $?
256bltList.o: 	$(srcdir)/bltList.c
257	$(CC) -c $(CC_SWITCHES) $?
258bltChain.o: 	$(srcdir)/bltChain.c
259	$(CC) -c $(CC_SWITCHES) $?
260bltNsUtil.o: 	$(srcdir)/bltNsUtil.c
261	$(CC) -c $(CC_SWITCHES) $?
262bltParse.o: 	$(srcdir)/bltParse.c
263	$(CC) -c $(CC_SWITCHES) $?
264bltPool.o: 	$(srcdir)/bltPool.c
265	$(CC) -c $(CC_SWITCHES) $?
266bltPs.o: 	$(srcdir)/bltPs.c
267	$(CC) -c $(CC_SWITCHES) $?
268bltSpline.o: 	$(srcdir)/bltSpline.c
269	$(CC) -c $(CC_SWITCHES) $?
270bltSwitch.o: 	$(srcdir)/bltSwitch.c
271	$(CC) -c $(CC_SWITCHES) $?
272bltTable.o: 	$(srcdir)/bltTable.c
273	$(CC) -c $(CC_SWITCHES) $?
274bltTabset.o: 	$(srcdir)/bltTabset.c
275	$(CC) -c $(CC_SWITCHES) $?
276bltTabnotebook.o: $(srcdir)/bltTabnotebook.c
277	$(CC) -c $(CC_SWITCHES) $?
278bltTed.o: 	$(srcdir)/bltTed.c
279	$(CC) -c $(CC_SWITCHES) $?
280bltText.o: 	$(srcdir)/bltText.c
281	$(CC) -c $(CC_SWITCHES) $?
282bltTile.o: 	$(srcdir)/bltTile.c
283	$(CC) -c $(CC_SWITCHES) $?
284bltTree.o: 	$(srcdir)/bltTree.c
285	$(CC) -c $(CC_SWITCHES) $?
286bltTreeCmd.o: 	$(srcdir)/bltTreeCmd.c
287	$(CC) -c $(CC_SWITCHES) $?
288bltTreeView.o: 	$(srcdir)/bltTreeView.c
289	$(CC) -c $(CC_SWITCHES) $?
290bltTreeViewCmd.o: $(srcdir)/bltTreeViewCmd.c
291	$(CC) -c $(CC_SWITCHES) $?
292bltTreeViewColumn.o: $(srcdir)/bltTreeViewColumn.c
293	$(CC) -c $(CC_SWITCHES) $?
294bltTreeViewEdit.o: $(srcdir)/bltTreeViewEdit.c
295	$(CC) -c $(CC_SWITCHES) $?
296bltTreeViewStyle.o: $(srcdir)/bltTreeViewStyle.c
297	$(CC) -c $(CC_SWITCHES) $?
298bltTri.o: 	$(srcdir)/bltTri.c
299	$(CC) -c $(CC_SWITCHES) $?
300bltVector.o: 	$(srcdir)/bltVector.c
301	$(CC) -c $(CC_SWITCHES) $?
302bltVecObjCmd.o: $(srcdir)/bltVecObjCmd.c
303	$(CC) -c $(CC_SWITCHES) $?
304bltVecCmd.o: 	$(srcdir)/bltVecCmd.c
305	$(CC) -c $(CC_SWITCHES) $?
306bltVecMath.o: 	$(srcdir)/bltVecMath.c
307	$(CC) -c $(CC_SWITCHES) $?
308bltWatch.o:	$(srcdir)/bltWatch.c
309	$(CC) -c $(CC_SWITCHES) $?
310bltWindow.o: 	$(srcdir)/bltWindow.c
311	$(CC) -c $(CC_SWITCHES) $?
312bltWinop.o:     $(srcdir)/bltWinop.c
313	$(CC) -c $(CC_SWITCHES) $?
314bltUnixPipe.o: 	$(srcdir)/bltUnixPipe.c
315	$(CC) -c $(CC_SWITCHES) $?
316bltUtil.o: 	$(srcdir)/bltUtil.c
317	$(CC) -c $(CC_SWITCHES) $?
318tkButton.o: 	$(srcdir)/tkButton.c
319	$(CC) -c $(CC_SWITCHES) $?
320tkFrame.o: 	$(srcdir)/tkFrame.c
321	$(CC) -c $(CC_SWITCHES) $?
322tkMenubutton.o: $(srcdir)/tkMenubutton.c
323	$(CC) -c $(CC_SWITCHES) $?
324bltScrollbar.o: $(srcdir)/bltScrollbar.c
325	$(CC) -c $(CC_SWITCHES) $?
326