forked from franzinc/clim2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.cobjs
139 lines (120 loc) · 4.64 KB
/
Makefile.cobjs
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
#
# Makefile.cobj for CLIM 2.0
#
# stub files - identify the required definitions from Xm,Ol,Xt,X11
stub-motif.c: $(XMC_UNDEFS) $(XM_UNDEFS) misc/make-stub-file misc/make-stub-file1
sh misc/make-stub-file "void ___lisp_load_motif_stub ()" \
$(XM_UNDEFS) > stub-motif.c
sh misc/make-stub-file1 "void ___lisp_load_motif_stub_vars ()" \
$(XMC_UNDEFS) >> stub-motif.c
stub-olit.c: $(OLC_UNDEFS) $(OL_UNDEFS) misc/make-stub-file misc/make-stub-file1
sh misc/make-stub-file "void ___lisp_load_olit_stub ()" \
$(OL_UNDEFS) > stub-olit.c
sh misc/make-stub-file1 "void ___lisp_load_olit_stub_vars ()" \
$(OLC_UNDEFS) >> stub-olit.c
stub-xt.c: $(XT_UNDEFS) misc/make-stub-file
sh misc/make-stub-file "void ___lisp_load_xt_stub ()" \
$(XT_UNDEFS) > stub-xt.c
stub-x.c: $(UNDEFS) misc/make-stub-file
sh misc/make-stub-file "void ___lisp_load_x_stub ()" \
$(UNDEFS) > stub-x.c
stub-wnn.c: $(WNN_UNDEFS) misc/make-stub-file
sh misc/make-stub-file "void ___lisp_load_wnn_stub ()" \
$(WNN_UNDEFS) > stub-wnn.c
# support files - CLIM's C source files
xmsupport.o : misc/xmsupport.c misc/climgccursor.c \
misc/MyDrawingA.c misc/MyDrawingA.h misc/MyDrawingAP.h
$(CC) -c $(PICFLAGS) $(CFLAGS) $(XINCLUDES) \
-o xmsupport.o misc/xmsupport.c
olsupport.o: misc/olsupport.c misc/climgccursor.c
$(CC) -c $(PICFLAGS) $(CFLAGS) $(XINCLUDES) \
-o olsupport.o misc/olsupport.c
xtsupport.o : misc/xtsupport.c
$(CC) -c $(PICFLAGS) $(CFLAGS) $(XINCLUDES) \
-o xtsupport.o misc/xtsupport.c
xlibsupport.o : xlib/xlibsupport.c
$(CC) -c $(PICFLAGS) $(CFLAGS) $(XINCLUDES) \
-o xlibsupport.o xlib/xlibsupport.c
# .so's made from above support files (for dynamic loading)
climxm.$(SHARED_EXT): xlibsupport.o xtsupport.o xmsupport.o $(IMPORTS)
(eval '$(SET_LIBRARY_PATH)' ; \
$(MAKE_SHARED) $(SHAREFLAGS) -o climxm.$(SHARED_EXT) \
xlibsupport.o xtsupport.o xmsupport.o $(THREADLIB) \
$(IMPORTS) $(TKLIB) $(XTLIB) $(XLIB) $(MOTIFXTRAS))
# climxm.sl: xlibsupport.o xtsupport.o xmsupport.o $(IMPORTS)
# (eval '$(SET_LIBRARY_PATH)' ; \
# $(MAKE_SHARED) $(SHAREFLAGS) -o climxm.sl \
# xlibsupport.o xtsupport.o xmsupport.o \
# $(IMPORTS) $(TKLIB) $(XTLIB) $(XLIB) $(MOTIFXTRAS))
climol.$(SHARED_EXT): xlibsupport.o xtsupport.o olsupport.o $(IMPORTS)
(eval '$(SET_LIBRARY_PATH)' ; \
$(MAKE_SHARED) $(SHAREFLAGS) -o climol.$(SHARED_EXT) \
xlibsupport.o xtsupport.o olsupport.o \
$(IMPORTS) $(TKLIB) $(XTLIB) $(XLIB))
# climol.sl: xlibsupport.o xtsupport.o olsupport.o $(IMPORTS)
# (eval '$(SET_LIBRARY_PATH)' ; \
# $(MAKE_SHARED) $(SHAREFLAGS) -o climol.sl \
# xlibsupport.o xtsupport.o olsupport.o \
# $(IMPORTS) $(TKLIB) $(XTLIB) $(XLIB))
# mainxm.o contains foreign code from the libraries X11,Xt and Xm
# required by Motif version of CLIM statically linked
makemainxm: $(ACL_MAIN_OBJ) $(PRODUCT-GENERIC-OBJS) $(STATIC-XM-OBJS)
(eval '$(SET_LIBRARY_PATH)' ; \
ld -r $(LDFLAGS) -o $(MAIN_OBJ) \
$(ACL_MAIN_OBJ) \
stub-xt.o stub-x.o stub-motif.o \
$(TKLIB) $(XTLIB) $(XLIB) $(MOTIFXTRAS))
# Here's the deal on the CLIM cobjs. (cim 3/13/96)
#
# 1. Objects that contain CLIM's C support code. When building a CLIM image
# these should always be linked in to the initial executable if possible.
# NB they are still required even if mainxm.o is being used.
#
# xtsupport.o
# xlibsupport.o
# xmsupport.o
#
# If they're not linked in then when climxm is loaded they will be
# loaded individually or in the case of dlfcn
#
# climxm.$(SHARED_EXT)
#
# (a shared library made from all of the above) will be loaded.
#
# 2. Stub files that define what we need from the X libraries -
#
# stub-xt.o
# stub-x.o
# stub-motif.o
#
# These also should always be linked in to the initial executable if
# possible. They are not required if mainxm.o is being used but using
# them will not do any harm as long as
#
# 3. All of the required functionality from the X libraries put into a
# single .o (with main for licensing restrictions on SunOS)
#
# mainxm.o
# ics_mainxm.o
#
# ics_mainxm.o is identical to mainxm.o except that it's built from a
# ci/main.o rather than a c/main.o
#
# in the distn
# mainxm.o -> dist-clim2/build/c/mainxm.o
# ics_mainxm.o -> dist-clim2-ics/build/ci/mainxm.o
#
# This needs to be used where the libraries are not available on the
# machine on which CLIM is being installed. If this is not available
# then the 3 stub files must be used.
#
# 4. Stub files + library for wnn
#
# stub-wnn.o
# libwnn.a
#
# Use both of these in creating the initial executable - the stub-wnn.o
# must come before the libwnn.a in the list of cobjs.
#
# On dlfcn we _have_ to link into the initial executable because we
# don't currently have a shared version of libwnn