1 |
578 |
markom |
## This file is CYGNUS LOCAL. It is a copy of makefile.vc modified for
|
2 |
|
|
# GNU make.
|
3 |
|
|
#
|
4 |
|
|
# Visual C++ 4.0 makefile
|
5 |
|
|
#
|
6 |
|
|
# Copyright (c) 1993-1996 Lucent Technologies
|
7 |
|
|
# based on original from
|
8 |
|
|
# Copyright (c) 1995-1996 by Sun Microsystems, Inc.
|
9 |
|
|
#
|
10 |
|
|
# See the file "license.terms" for information on usage and redistribution
|
11 |
|
|
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
12 |
|
|
|
13 |
|
|
prefix = @prefix@
|
14 |
|
|
exec_prefix = @exec_prefix@
|
15 |
|
|
VPATH = @srcdir@:@srcdir@/../generic:@srcdir@/../unix
|
16 |
|
|
srcdir = @srcdir@
|
17 |
|
|
|
18 |
|
|
CC = @CC@
|
19 |
|
|
CFLAGS = @CFLAGS@
|
20 |
|
|
NM = @NM@
|
21 |
|
|
AS = @AS@
|
22 |
|
|
LD = @LD@
|
23 |
|
|
DLLTOOL = @DLLTOOL@
|
24 |
|
|
WINDRES = @WINDRES@
|
25 |
|
|
|
26 |
|
|
DLL_LDFLAGS = @DLL_LDFLAGS@
|
27 |
|
|
DLL_LDLIBS = @DLL_LDLIBS@
|
28 |
|
|
|
29 |
|
|
|
30 |
|
|
INSTALL = @INSTALL@
|
31 |
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
32 |
|
|
INSTALL_DATA = @INSTALL_DATA@
|
33 |
|
|
|
34 |
|
|
ITCL_VERSION = @ITCL_VERSION@
|
35 |
|
|
VERSION = $(ITCL_VERSION)
|
36 |
|
|
|
37 |
|
|
ITKLIB = libitk$(VERSION).a
|
38 |
|
|
ITKDLL = cygitk$(VERSION).dll
|
39 |
|
|
ITKWISH = cygitkwish$(VERSION).exe
|
40 |
|
|
ITKTEST = itktest.exe
|
41 |
|
|
|
42 |
|
|
TCLLIBDIR = @TCL_BIN_DIR@
|
43 |
|
|
TCLLIB = @TCL_LIB_FILE@
|
44 |
|
|
TKLIBDIR = @TK_BIN_DIR@
|
45 |
|
|
TKLIB = @TK_LIB_FILE@
|
46 |
|
|
ITCLLIBDIR = @ITCL_BIN_DIR@
|
47 |
|
|
ITCLLIB = @ITCL_LIB_FILE@
|
48 |
|
|
|
49 |
|
|
# Project directories
|
50 |
|
|
#
|
51 |
|
|
# ROOT = top of source tree
|
52 |
|
|
# TMPDIR = location where .obj files should be stored during build
|
53 |
|
|
|
54 |
|
|
ROOT = $(srcdir)/..
|
55 |
|
|
TMPDIR = .
|
56 |
|
|
|
57 |
|
|
######################################################################
|
58 |
|
|
# Link flags
|
59 |
|
|
######################################################################
|
60 |
|
|
|
61 |
|
|
conlflags = $(lflags) -Wl,--subsystem,console -mwindows
|
62 |
|
|
guilflags = $(lflags) -mwindows
|
63 |
|
|
dlllflags = $(lflags)
|
64 |
|
|
|
65 |
|
|
baselibs = -lkernel32 $(optlibs) -ladvapi32
|
66 |
|
|
winlibs = $(baselibs) -luser32 -lgdi32 -lcomdlg32 -lwinspool
|
67 |
|
|
guilibs = $(libc) $(winlibs)
|
68 |
|
|
|
69 |
|
|
guilibsdll = $(libcdll) $(winlibs)
|
70 |
|
|
|
71 |
|
|
######################################################################
|
72 |
|
|
# Compile flags
|
73 |
|
|
######################################################################
|
74 |
|
|
|
75 |
|
|
# Comment the following line to compile with symbols
|
76 |
|
|
|
77 |
|
|
NODEBUG=1
|
78 |
|
|
|
79 |
|
|
# uncomment the following two lines to compile with TCL_MEM_DEBUG
|
80 |
|
|
#DEBUGDEFINES =-DTCL_MEM_DEBUG
|
81 |
|
|
|
82 |
|
|
|
83 |
|
|
WINDIR = $(ROOT)/win
|
84 |
|
|
GENERICDIR = $(ROOT)/generic
|
85 |
|
|
|
86 |
|
|
TCLSRCDIR = @TCL_SRC_DIR@
|
87 |
|
|
TKSRCDIR = @TK_SRC_DIR@
|
88 |
|
|
ITCLSRCDIR = @ITCL_SRC_DIR@
|
89 |
|
|
|
90 |
|
|
TCL_INCLUDES = -I$(TCLSRCDIR)/generic -I$(TCLSRCDIR)/win
|
91 |
|
|
TK_INCLUDES = -I$(TKSRCDIR)/generic -I$(TKSRCDIR)/win -I$(TKSRCDIR)/xlib
|
92 |
|
|
ITCL_INCLUDES = -I$(ITCLSRCDIR)/generic -I$(ITCLSRCDIR)/win
|
93 |
|
|
ITK_INCLUDES = -I$(GENERICDIR) -I$(WINDIR) $(ITCL_INCLUDES) \
|
94 |
|
|
$(TCL_INCLUDES) $(TK_INCLUDES)
|
95 |
|
|
|
96 |
|
|
ITK_DEFINES = -D__WIN32__ $(DEBUGDEFINES)
|
97 |
|
|
ITK_CFLAGS = $(ITK_INCLUDES) $(ITK_DEFINES) $(CFLAGS)
|
98 |
|
|
|
99 |
|
|
ITKWISHOBJS = \
|
100 |
|
|
$(TKLIBDIR)/tkConsole.o \
|
101 |
|
|
$(TMPDIR)/winMain.o
|
102 |
|
|
|
103 |
|
|
TKTESTOBJS = \
|
104 |
|
|
$(TMPDIR)/tkConsole.o \
|
105 |
|
|
$(TMPDIR)/tkTest.o \
|
106 |
|
|
$(TMPDIR)/tkSquare.o \
|
107 |
|
|
$(TMPDIR)/testMain.o
|
108 |
|
|
|
109 |
|
|
ITKOBJS = \
|
110 |
|
|
$(TMPDIR)/itk_archetype.o \
|
111 |
|
|
$(TMPDIR)/itk_cmds.o \
|
112 |
|
|
$(TMPDIR)/itk_option.o \
|
113 |
|
|
$(TMPDIR)/itk_util.o \
|
114 |
|
|
$(TMPDIR)/dllEntryPoint.o
|
115 |
|
|
|
116 |
|
|
ITKDLL = itk$(VERSION).dll
|
117 |
|
|
ITKLIB = libitk$(VERSION).a
|
118 |
|
|
ITKWISH = itkwish.exe
|
119 |
|
|
ITKTEST = tktest.exe
|
120 |
|
|
DUMPEXTS = # $(TCLLIBDIR)/dumpexts.exe
|
121 |
|
|
|
122 |
|
|
CPU = i386
|
123 |
|
|
|
124 |
|
|
#
|
125 |
|
|
# Targets
|
126 |
|
|
#
|
127 |
|
|
|
128 |
|
|
all: $(ITKDLL) $(ITKWISH)
|
129 |
|
|
test: $(ITKDLL) $(ITKTEST)
|
130 |
|
|
|
131 |
|
|
install: install-binaries install-libraries
|
132 |
|
|
|
133 |
|
|
install-binaries: $(ITKDLL) $(ITKLIB) $(ITKWISH)
|
134 |
|
|
@for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \
|
135 |
|
|
do \
|
136 |
|
|
if [ ! -d $$i ] ; then \
|
137 |
|
|
echo "Making directory $$i"; \
|
138 |
|
|
mkdir $$i; \
|
139 |
|
|
chmod 755 $$i; \
|
140 |
|
|
else true; \
|
141 |
|
|
fi; \
|
142 |
|
|
done;
|
143 |
|
|
@echo "Installing $(ITKLIB)"
|
144 |
|
|
@$(INSTALL_DATA) $(ITKLIB) $(LIB_INSTALL_DIR)/$(ITKLIB)
|
145 |
|
|
@chmod 555 $(LIB_INSTALL_DIR)/$(ITKLIB)
|
146 |
|
|
@echo "Installing wish"
|
147 |
|
|
@$(INSTALL_PROGRAM) $(ITKWISH) $(BIN_INSTALL_DIR)/$(ITKWISH)
|
148 |
|
|
@echo "Installing tkConfig.sh"
|
149 |
|
|
@$(INSTALL_DATA) ../unix/tkConfig.sh $(LIB_INSTALL_DIR)/tkConfig.sh
|
150 |
|
|
|
151 |
|
|
install-libraries:
|
152 |
|
|
@echo "Installing DLL"
|
153 |
|
|
@$(INSTALL_DATA) $(ITKDLL) $(BIN_INSTALL_DIR)/$(ITKDLL)
|
154 |
|
|
@for i in $(INSTALL_ROOT)@datadir@ $(INCLUDE_INSTALL_DIR) \
|
155 |
|
|
$(SCRIPT_INSTALL_DIR) $(INSTALL_ROOT)@exec_prefix@ \
|
156 |
|
|
$(INSTALL_ROOT)@exec_prefix@/@host_alias@ \
|
157 |
|
|
$(INSTALL_ROOT)@exec_prefix@/@host_alias@/include \
|
158 |
|
|
$(X11_INCLUDE_INSTALL_DIR) ; \
|
159 |
|
|
do \
|
160 |
|
|
if [ ! -d $$i ] ; then \
|
161 |
|
|
echo "Making directory $$i"; \
|
162 |
|
|
mkdir $$i; \
|
163 |
|
|
chmod 755 $$i; \
|
164 |
|
|
else true; \
|
165 |
|
|
fi; \
|
166 |
|
|
done;
|
167 |
|
|
@echo "Installing tk.h"
|
168 |
|
|
@$(INSTALL_DATA) $(GENERICDIR)/tk.h $(INCLUDE_INSTALL_DIR)/tk.h
|
169 |
|
|
for i in $(XLIBDIR)/X11/*.h; \
|
170 |
|
|
do \
|
171 |
|
|
echo "Installing $$i"; \
|
172 |
|
|
$(INSTALL_DATA) $$i $(X11_INCLUDE_INSTALL_DIR); \
|
173 |
|
|
done;
|
174 |
|
|
for i in $(ROOT)/library/*.tcl $(ROOT)/library/tclIndex $(ROOT)/library/prolog.ps $(ROOT)/unix/tkAppInit.c; \
|
175 |
|
|
do \
|
176 |
|
|
echo "Installing $$i"; \
|
177 |
|
|
$(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); \
|
178 |
|
|
done;
|
179 |
|
|
|
180 |
|
|
install-minimal:
|
181 |
|
|
@echo "Installing DLL"
|
182 |
|
|
@$(INSTALL_DATA) $(ITKDLL) $(BIN_INSTALL_DIR)/$(ITKDLL)
|
183 |
|
|
@for i in $(INSTALL_ROOT)@datadir@ $(SCRIPT_INSTALL_DIR) ; \
|
184 |
|
|
do \
|
185 |
|
|
if [ ! -d $$i ] ; then \
|
186 |
|
|
echo "Making directory $$i"; \
|
187 |
|
|
mkdir $$i; \
|
188 |
|
|
chmod 755 $$i; \
|
189 |
|
|
else true; \
|
190 |
|
|
fi; \
|
191 |
|
|
done;
|
192 |
|
|
for i in $(ROOT)/library/*.tcl $(ROOT)/library/tclIndex $(ROOT)/library/prolog.ps; \
|
193 |
|
|
do \
|
194 |
|
|
echo "Installing $$i"; \
|
195 |
|
|
$(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); \
|
196 |
|
|
done;
|
197 |
|
|
|
198 |
|
|
$(TMPDIR)/itkcyg.def: $(DUMPEXTS) $(ITKOBJS)
|
199 |
|
|
echo 'EXPORTS' > tmp.def
|
200 |
|
|
-for o in $(ITKOBJS); do \
|
201 |
|
|
$(NM) --extern-only --defined-only $$o | sed -e 's/[^ ]* [^ ]* //' -e 's/^_//' | fgrep -v DllEntryPoint | fgrep -v DllMain | fgrep -v impure_ptr >> tmp.def; \
|
202 |
|
|
done
|
203 |
|
|
mv tmp.def $(TMPDIR)/itkcyg.def
|
204 |
|
|
|
205 |
|
|
$(ITKDLL): $(ITKOBJS) $(TMPDIR)/itkcyg.def
|
206 |
|
|
$(CC) -s $(DLL_LDFLAGS) -Wl,--base-file,itk.base \
|
207 |
|
|
-o $(ITKDLL) $(ITKOBJS) \
|
208 |
|
|
$(TKLIBDIR)/$(TKLIB) $(ITCLLIBDIR)/$(ITCLLIB) $(TCLLIBDIR)/$(TCLLIB) \
|
209 |
|
|
$(DLL_LDLIBS) -mwindows -Wl,-e,_DllMain@12 \
|
210 |
|
|
-Wl,--image-base,0x66600000
|
211 |
|
|
$(DLLTOOL) --as=$(AS) --dllname $(ITKDLL) --def $(TMPDIR)/itkcyg.def \
|
212 |
|
|
--base-file itk.base --output-exp itk.exp
|
213 |
|
|
$(CC) -s $(DLL_LDFLAGS) -Wl,--base-file,itk.base -Wl,itk.exp \
|
214 |
|
|
-o $(ITKDLL) $(ITKOBJS) \
|
215 |
|
|
$(TKLIBDIR)/$(TKLIB) $(ITCLLIBDIR)/$(ITCLLIB) $(TCLLIBDIR)/$(TCLLIB) \
|
216 |
|
|
$(DLL_LDLIBS) -mwindows -Wl,-e,_DllMain@12 \
|
217 |
|
|
-Wl,--image-base,0x66600000
|
218 |
|
|
$(DLLTOOL) --as=$(AS) --dllname $(ITKDLL) --def $(TMPDIR)/itkcyg.def \
|
219 |
|
|
--base-file itk.base --output-exp itk.exp
|
220 |
|
|
$(CC) $(DLL_LDFLAGS) -Wl,itk.exp -o $(ITKDLL) $(ITKOBJS) \
|
221 |
|
|
$(TKLIBDIR)/$(TKLIB) $(ITCLLIBDIR)/$(ITCLLIB) $(TCLLIBDIR)/$(TCLLIB) \
|
222 |
|
|
$(DLL_LDLIBS) -mwindows \
|
223 |
|
|
-Wl,-e,_DllMain@12 -Wl,--image-base,0x66600000
|
224 |
|
|
|
225 |
|
|
$(ITKLIB): $(TMPDIR)/itkcyg.def
|
226 |
|
|
$(DLLTOOL) --as=$(AS) --dllname $(ITKDLL) --def $(TMPDIR)/itkcyg.def \
|
227 |
|
|
--output-lib $(ITKLIB)
|
228 |
|
|
|
229 |
|
|
$(ITKWISH): $(ITKWISHOBJS) $(ITKLIB) $(TMPDIR)/itkwishres.o
|
230 |
|
|
$(CC) $(ldebug) $(guilflags) $(ITKWISHOBJS) $(ITK_CFLAGS) $(TMPDIR)/itkwishres.o \
|
231 |
|
|
$(ITKLIB) $(TKLIBDIR)/$(TKLIB) \
|
232 |
|
|
$(ITCLLIBDIR)/$(ITCLLIB) $(TCLLIBDIR)/$(TCLLIB) \
|
233 |
|
|
$(guilibsdll) \
|
234 |
|
|
-o $(ITKWISH)
|
235 |
|
|
|
236 |
|
|
$(ITKTEST): $(ITKTESTOBJS) $(ITKLIB) $(TMPDIR)/itkwishres.o
|
237 |
|
|
$(CC) $(ldebug) $(guilflags) $(WISHOBJS) $(ITK_CFLAGS) $(TMPDIR)/itkwishres.o \
|
238 |
|
|
$(ITKLIB) $(TKLIBDIR)/$(TKLIB) \
|
239 |
|
|
$(ITCLLIBDIR)/$(ITCLLIB) $(TCLLIBDIR)/$(TCLLIB) \
|
240 |
|
|
$(guilibsdll) \
|
241 |
|
|
-o $(ITKTEST)
|
242 |
|
|
|
243 |
|
|
#
|
244 |
|
|
# Special case object file targets
|
245 |
|
|
#
|
246 |
|
|
|
247 |
|
|
$(TMPDIR)/testMain.o: $(ROOT)/win/winMain.c
|
248 |
|
|
$(CC) -c $(ITK_CFLAGS) -DTK_TEST -o $@ $?
|
249 |
|
|
|
250 |
|
|
$(TMPDIR)/winMain.o: $(ROOT)/win/winMain.c
|
251 |
|
|
$(CC) -c $(ITK_CFLAGS) -DTK_TEST -o $@ $?
|
252 |
|
|
|
253 |
|
|
#
|
254 |
|
|
# Implicit rules
|
255 |
|
|
#
|
256 |
|
|
|
257 |
|
|
$(TMPDIR)/%.o: $(GENERICDIR)/%.c
|
258 |
|
|
$(CC) -c $(ITK_CFLAGS) -o $@ $<
|
259 |
|
|
|
260 |
|
|
itkres.o: $(ROOT)/win/rc/itk.rc
|
261 |
|
|
$(WINDRES) --include $(ROOT)/win/rc --include $(ROOT)/generic \
|
262 |
|
|
--include $(ITCLSRCDIR)/generic \
|
263 |
|
|
--include $(TCLSRCDIR)/generic --include $(TKSRCDIR)/generic \
|
264 |
|
|
--define VS_VERSION_INFO=1 $(ROOT)/win/rc/itk.rc itkres.o
|
265 |
|
|
|
266 |
|
|
itkwishres.o: $(ROOT)/win/rc/itkwish.rc
|
267 |
|
|
$(WINDRES) --include $(ROOT)/win/rc --include $(ITCLSRCDIR)/generic \
|
268 |
|
|
--include $(TCLSRCDIR)/generic --include $(TKSRCDIR)/generic\
|
269 |
|
|
--include $(ROOT)/generic --define VS_VERSION_INFO=1 \
|
270 |
|
|
$(ROOT)/win/rc/itkwish.rc itkwishres.o
|
271 |
|
|
|
272 |
|
|
|
273 |
|
|
Makefile: $(WINDIR)/Makefile.in config.status
|
274 |
|
|
$(SHELL) config.status
|
275 |
|
|
|
276 |
|
|
config.status: $(WINDIR)/configure
|
277 |
|
|
./config.status --recheck
|