source: trunk/kitgen/makefile.include@ 175

Last change on this file since 175 was 175, checked in by demin, 12 years ago

initial commit

File size: 5.9 KB
Line 
1# -*- Makefile -*-
2# NOTE: this file requires GNU Make.
3#
4#PLAT = unix
5#PRIV = install-private-headers
6#
7# Linux:
8#LDFLAGS = -L/usr/X11R6/lib -lX11 -ldl -lm # -lpthread
9#
10# Mac OS X:
11#LDFLAGS = -framework CoreFoundation -L/usr/X11R6/lib -lX11 -weak-lXss -lXext
12#LDFLAGS = -framework CoreFoundation -framework Carbon -framework IOKit
13#LDSTRIP = -x
14
15EXTDIR = ../../../../8.x
16STATIC = --disable-shared --enable-static
17OUTDIR = $(shell pwd)/build
18OBJ = $(OUTDIR)/zvfs$O $(OUTDIR)/zlib$O $(OUTDIR)/usb$O \
19 $(OUTDIR)/g2lite$O $(OUTDIR)/swt$O $(OUTDIR)/csr_test$O
20GUIOBJ ?= $(OBJ) $(OUTDIR)/tclAppInit$O
21TCLDIR = --with-tcl=$(OUTDIR)/lib --prefix=$(OUTDIR) --exec-prefix=$(OUTDIR)
22STRIP ?= strip
23UPX ?= :
24O ?=.o
25A ?=.a
26SO ?=.so
27
28BLT_OPTS = --disable-threads
29VFS_OPTS = --disable-threads
30TDOM_OPTS = --disable-threads
31TCLX_OPTS = --disable-threads
32XOTCL_OPTS = --disable-threads
33SQLITE_OPTS = --disable-threads
34ZLIB_OPTS = --prefix=$(OUTDIR)
35LIBUSB_OPTS = --prefix=$(OUTDIR)
36
37tclkit-gui$(EXE): kit-gui$(EXE) ../../setupvfs.tcl build/files
38 cp kit-gui$(EXE) $@
39 sleep 3
40 $(STRIP) $@
41 $(UPX) $@
42 ./kit-gui -init- ../../setupvfs.tcl $(KIT_OPTS) $@ gui
43
44ifeq ($(PLAT), unix)
45kit-gui$(EXE): build/tcl build/tk build/blt build/tclvfs build/zlib \
46 build/tdom build/tcllib build/xotcl build/sqlite build/libusb $(GUIOBJ)
47 $(CC) -o $@ $(CFLAGS) ../../kitInit.c $(GUIOBJ) \
48 -Ibuild/include -DKIT_LITE -DSTATIC_BUILD \
49 build/lib/vfs1*/*vfs1*$A \
50 -DKIT_INCLUDES_TK build/lib/*tk8*$A \
51 build/lib/libz$A build/lib/libusb$A \
52 build/lib/*tcl8*$A \
53 build/lib/BLT2*/*BLT2*$A \
54 build/lib/tdom0*/*tdom0*$A \
55 build/lib/sqlite3*/*sqlite3*$A \
56 build/lib/xotcl1*/*xotcl1*$A \
57 $(LDFLAGS) $(GUI_OPTS)
58endif
59
60ifeq ($(PLAT), win)
61kit-gui$(EXE): build/tcl build/tk build/blt build/tclvfs build/zlib \
62 build/tdom build/tcllib build/xotcl build/sqlite build/libusb-win32 $(GUIOBJ)
63 $(CC) -o $@ $(CFLAGS) ../../kitInit.c $(GUIOBJ) \
64 -Ibuild/include -DKIT_LITE -DSTATIC_BUILD \
65 build/lib/vfs1*/*vfs1*$A \
66 -DKIT_INCLUDES_TK build/lib/*tk8*$A \
67 build/lib/libz$A build/lib/libusb$A \
68 build/lib/*tcl8*$A \
69 build/lib/BLT2*/*BLT2*$A \
70 build/lib/tdom0*/*tdom0*$A \
71 build/lib/sqlite3*/*sqlite3*$A \
72 build/lib/xotcl1*/*xotcl1*$A \
73 $(LDFLAGS) $(GUI_OPTS)
74endif
75
76
77
78build/files:
79 mkdir -p $@ && cd $@ && ln -s ../../../../files/* .
80
81build/tcl:
82 mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \
83 sh ../../../tcl/$(PLAT)/configure $(STATIC) $(TCL_OPTS) \
84 --prefix=$(OUTDIR) --exec-prefix=$(OUTDIR) && \
85 $(MAKE) install-binaries install-libraries $(PRIV)
86
87build/tk: build/tcl
88 mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \
89 sh ../../../tk/$(PLAT)/configure $(STATIC) $(TCLDIR) $(TK_OPTS) && \
90 $(MAKE) install-binaries install-libraries $(PRIV)
91
92build/blt: build/tk
93 mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \
94 sh $(EXTDIR)/blt/configure $(STATIC) $(TCLDIR) $(BLT_OPTS) && \
95 $(MAKE) install-binaries install-libraries
96
97build/tclvfs: build/tcl
98 mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \
99 sh $(EXTDIR)/tclvfs/configure $(STATIC) $(TCLDIR) $(VFS_OPTS) && \
100 $(MAKE) install
101
102build/zlib: build/tcl
103 cp -R ../../8.x/zlib/. $@
104 cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \
105 sh $(EXTDIR)/zlib/configure $(ZLIB_OPTS) && \
106 $(MAKE) install
107
108build/libusb-win32: build/tcl
109 cp -R ../../8.x/libusb-win32/. $@
110 cd $@ && $(MAKE) && cp libusb.a ../lib/ && cp lusb0_usb.h ../include/usb.h
111
112build/libusb: build/tcl
113 cp -R ../../8.x/libusb/. $@
114 cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \
115 sh configure $(LIBUSB_OPTS) && \
116 $(MAKE) && $(MAKE) install
117
118build/tdom: build/tcl
119 mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \
120 sh $(EXTDIR)/tdom/configure $(STATIC) $(TCLDIR) $(TDOM_OPTS) && \
121 $(MAKE) install
122
123build/tcllib: build/tcl
124 mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \
125 sh $(EXTDIR)/tcllib/configure $(STATIC) $(TCLDIR) $(TCLLIB_OPTS) && \
126 $(MAKE) install-libraries
127
128build/xotcl: build/tcl
129 mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \
130 sh $(EXTDIR)/xotcl/configure $(STATIC) $(TCLDIR) $(XOTCL_OPTS) && \
131 $(MAKE) install-binaries
132
133build/sqlite: build/tcl
134 mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \
135 sh $(EXTDIR)/sqlite/tea/configure $(STATIC) $(TCLDIR) $(SQLITE_OPTS) && \
136 $(MAKE) install-binaries
137
138base: build/tcl build/tk
139 ls -l build/bin
140
141tidy: cleanext
142 rm -rf build/tcl build/tk build/tkdyn
143
144cleanext:
145 rm -rf build/tclvfs build/thread build/zlib build/*.o
146 rm -rf build/lib/vfs* build/lib/thread*
147
148clean:
149 rm -rf build kit-gui$(EXE)
150
151distclean: clean
152 rm -f tclkit-gui$(EXE)
153
154.PHONY: all base clean distclean threaded tidy
155
156$(OUTDIR)/zvfs$O: ../../zvfs.c
157 $(CC) -o $@ $(CFLAGS) -DHAVE_UNISTD_H=1 -DSTATIC_BUILD -Ibuild/include -c $<
158
159$(OUTDIR)/zlib$O: ../../zlib.c
160 $(CC) -o $@ $(CFLAGS) -DSTATIC_BUILD -Ibuild/include -c $<
161
162$(OUTDIR)/g2lite$O: ../../g2lite.c
163 $(CC) -o $@ $(CFLAGS) -DSTATIC_BUILD -Ibuild/include -c $<
164
165$(OUTDIR)/usb$O: ../../usb.c
166 $(CC) -o $@ $(CFLAGS) -DSTATIC_BUILD -Ibuild/include -c $<
167
168$(OUTDIR)/swt$O: ../../swt.c
169 $(CC) -o $@ $(CFLAGS) -DSTATIC_BUILD -Ibuild/include -c $<
170
171$(OUTDIR)/csr_test$O: ../../csr_test.c
172 $(CC) -o $@ $(CFLAGS) -DSTATIC_BUILD -Ibuild/include -c $<
173
174$(OUTDIR)/tclAppInit$O: ../tcl/$(PLAT)/tclAppInit.c
175 $(CC) -o $@ $(CFLAGS) -DSTATIC_BUILD -Ibuild/include \
176 -DTCL_LOCAL_APPINIT=TclKit_AppInit -c $<
177
178$(OUTDIR)/winMain$O: ../tk/$(PLAT)/winMain.c
179 $(CC) -o $@ $(CFLAGS) -DSTATIC_BUILD -Ibuild/include \
180 -DTK_LOCAL_APPINIT=TclKit_AppInit -c $<
181
182$(OUTDIR)/tclkit.res.o: ../../tclkit.rc
183 cp $< build/tk/tclkit.rc
184 windres -o $@ --define STATIC_BUILD --define TCLKIT_WITH_TK \
185 --define BASE_NO_TK_ICON --include build/include \
186 --include build/tk --include ../../files --include ../tk/win/rc \
187 build/tk/tclkit.rc
188
189$(OUTDIR)/tclkitsh.res.o: ../../tclkit.rc
190 windres -o $@ --define STATIC_BUILD --include build/include \
191 --include ../../files $<
Note: See TracBrowser for help on using the repository browser.