1 |
# SCCSid "$SunId$ LBL" |
2 |
|
3 |
# |
4 |
# Compiles for ray tracing programs. |
5 |
# |
6 |
|
7 |
OPT = -O -pipe |
8 |
MACH = -DSTRUCTASSIGN -DBSD -DIEEE -f68881 /usr/lib/f68881.il |
9 |
CFLAGS = $(MACH) $(OPT) |
10 |
CC = cc |
11 |
|
12 |
# |
13 |
# The following are user-definable: |
14 |
# |
15 |
DESTDIR = . |
16 |
INSTDIR = /usr/local/ray |
17 |
INSTALL = cp |
18 |
|
19 |
# |
20 |
# The following paths must exist and be relative to root: |
21 |
# |
22 |
DEVDIR = $(INSTDIR) |
23 |
LIBDIR = /usr/local/lib/ray |
24 |
|
25 |
# |
26 |
# Library routines: |
27 |
# |
28 |
LIBS = -lm |
29 |
COMPAT = malloc.o |
30 |
|
31 |
# |
32 |
# Device drivers for rview (see also devtable.c): |
33 |
# |
34 |
DOBJS = devtable.o devcomm.o aed.o tty.o editline.o x10.o xtwind.o \ |
35 |
colortab.o nwsdev.o |
36 |
DLIBS = -lX -lcps |
37 |
DRIVERS = $(DEVDIR)/sundev $(DEVDIR)/sun.com $(DEVDIR)/x11dev |
38 |
|
39 |
# |
40 |
# Standard object files: |
41 |
# |
42 |
|
43 |
RTOBJS = rtmain.o rtrace.o $(ROBJS) |
44 |
|
45 |
RPOBJS = rpmain.o rpict.o image.o $(ROBJS) |
46 |
|
47 |
RVOBJS = rvmain.o rview.o rv2.o rv3.o image.o $(DOBJS) $(ROBJS) |
48 |
|
49 |
ROBJS = $(OCTOBJS) $(RAYOBJS) $(SURFOBJS) $(MATOBJS) \ |
50 |
$(MODOBJS) $(SUPPOBJS) $(MISCOBJS) $(COMPAT) |
51 |
|
52 |
OCTOBJS = octree.o readobj.o readoct.o objset.o otypes.o |
53 |
|
54 |
RAYOBJS = raytrace.o ambient.o |
55 |
|
56 |
SURFOBJS = face.o sphere.o source.o o_face.o cone.o \ |
57 |
o_cone.o o_instance.o instance.o |
58 |
|
59 |
MATOBJS = normal.o dielectric.o m_clip.o glass.o |
60 |
|
61 |
MODOBJS = p_func.o t_func.o p_data.o t_data.o text.o mx_func.o mx_data.o |
62 |
|
63 |
SUPPOBJS = zeroes.o calexpr.o caldefn.o calfunc.o func.o noise3.o data.o |
64 |
|
65 |
MISCOBJS = misc.o color.o header.o mat4.o xf.o fvect.o savestr.o \ |
66 |
fgetline.o ealloc.o |
67 |
|
68 |
# |
69 |
# What this makefile produces: |
70 |
# |
71 |
|
72 |
PROGS = $(DESTDIR)/rtrace $(DESTDIR)/rpict $(DESTDIR)/rview $(DESTDIR)/lookamb |
73 |
|
74 |
all: $(PROGS) $(DRIVERS) |
75 |
|
76 |
install: all |
77 |
$(INSTALL) $(PROGS) $(INSTDIR) |
78 |
|
79 |
clean: |
80 |
rm -f *.o core |
81 |
|
82 |
# |
83 |
# Links: |
84 |
# |
85 |
|
86 |
$(DESTDIR)/rtrace: $(RTOBJS) |
87 |
$(CC) $(CFLAGS) -o $(DESTDIR)/rtrace $(RTOBJS) $(LIBS) |
88 |
|
89 |
$(DESTDIR)/rpict: $(RPOBJS) |
90 |
$(CC) $(CFLAGS) -o $(DESTDIR)/rpict $(RPOBJS) $(LIBS) |
91 |
|
92 |
$(DESTDIR)/rview: $(RVOBJS) |
93 |
$(CC) $(CFLAGS) -o $(DESTDIR)/rview $(RVOBJS) $(DLIBS) $(LIBS) |
94 |
|
95 |
$(DESTDIR)/lookamb: lookamb.o |
96 |
$(CC) $(CFLAGS) -o $(DESTDIR)/lookamb lookamb.o |
97 |
|
98 |
$(DEVDIR)/sundev: sundev.o devmain.o colortab.o editline.o |
99 |
$(CC) $(CFLAGS) -o $(DEVDIR)/sundev devmain.o sundev.o colortab.o \ |
100 |
editline.o -lsuntool -lsunwindow -lpixrect $(LIBS) |
101 |
|
102 |
$(DEVDIR)/sun.com: suncom.o editline.o |
103 |
$(CC) $(CFLAGS) -o $(DEVDIR)/sun.com suncom.o editline.o |
104 |
|
105 |
$(DEVDIR)/x11dev: x11.o x11twind.o colortab.o devmain.o editline.o |
106 |
$(CC) $(CFLAGS) -o $(DEVDIR)/x11dev x11.o x11twind.o devmain.o \ |
107 |
colortab.o editline.o -lX11 $(LIBS) |
108 |
|
109 |
# |
110 |
# Special compiles: |
111 |
# |
112 |
|
113 |
rtmain.o: rmain.c |
114 |
$(CC) $(CFLAGS) -DRTRACE -DNICE=4 -DDEFPATH=\":$(LIBDIR)\" -c rmain.c |
115 |
mv rmain.o rtmain.o |
116 |
|
117 |
rpmain.o: rmain.c |
118 |
$(CC) $(CFLAGS) -DRPICT -DNICE=6 -DDEFPATH=\":$(LIBDIR)\" -c rmain.c |
119 |
mv rmain.o rpmain.o |
120 |
|
121 |
rvmain.o: rmain.c |
122 |
$(CC) $(CFLAGS) -DRVIEW -DDEFPATH=\":$(LIBDIR)\" -c rmain.c |
123 |
mv rmain.o rvmain.o |
124 |
|
125 |
# |
126 |
# Uncomment the following to model dispersion: |
127 |
# |
128 |
#dielectric.o: dielectric.c source.h |
129 |
# $(CC) $(CFLAGS) -DDISPERSE -c dielectric.c |
130 |
# |
131 |
#color.o: color.c color.h |
132 |
# $(CC) $(CFLAGS) -DSPEC_RGB -c color.c |
133 |
# |
134 |
# end of dispersion compiles. |
135 |
|
136 |
sundev.o: sundev.c |
137 |
$(CC) $(CFLAGS) -Dsun_init=dinit -c sundev.c |
138 |
|
139 |
x11.o: x11.c |
140 |
$(CC) $(CFLAGS) -Dx11_init=dinit -c x11.c |
141 |
|
142 |
ambient.o: ambient.c |
143 |
$(CC) $(CFLAGS) -DAMBFLUSH=16 -c ambient.c |
144 |
|
145 |
calexpr.o: calexpr.c calcomp.h |
146 |
$(CC) $(CFLAGS) -DVARIABLE -DFUNCTION -DINCHAN -DRCONST -c calexpr.c |
147 |
|
148 |
caldefn.o: caldefn.c calcomp.h |
149 |
$(CC) $(CFLAGS) -DFUNCTION -DREDEFW -c caldefn.c |
150 |
|
151 |
calfunc.o: calfunc.c calcomp.h |
152 |
$(CC) $(CFLAGS) -DVARIABLE -DBIGLIB -c calfunc.c |
153 |
|
154 |
xf.o: xf.c |
155 |
$(CC) $(CFLAGS) -DINVXF -c xf.c |
156 |
|
157 |
nwsdev.o: nwsdev.c nwsdev.h newsconstants.h |
158 |
$(CC) $(CFLAGS) -c nwsdev.c |
159 |
|
160 |
nwsdev.h: nwsdev.cps newsconstants.h |
161 |
cps nwsdev.cps |
162 |
|
163 |
# |
164 |
# Include dependencies: |
165 |
# |
166 |
|
167 |
caldefn.o calexpr.o calfunc.o: calcomp.h |
168 |
|
169 |
aed.o color.o colortab.o data.o devcomm.o \ |
170 |
devmain.o lookamb.o rview.o sundev.o x10.o x11.o: color.h |
171 |
|
172 |
cone.o o_cone.o source.o: cone.h |
173 |
|
174 |
data.o mx_data.o p_data.o t_data.o: data.h |
175 |
|
176 |
aed.o devcomm.o devmain.o devtable.o \ |
177 |
editline.o nwsdev.o sundev.o tty.o x10.o x11.o: driver.h |
178 |
|
179 |
face.o o_face.o source.o: face.h |
180 |
|
181 |
fvect.o: fvect.h |
182 |
|
183 |
cone.o face.o objset.o otypes.o readobj.o readoct.o: object.h |
184 |
|
185 |
ambient.o objset.o octree.o raytrace.o readoct.o \ |
186 |
rpmain.o rtmain.o rtrace.o rvmain.o rv2.o rv3.o source.o: octree.h |
187 |
|
188 |
o_instance.o instance.o: instance.h octree.h |
189 |
|
190 |
ambient.o cone.o dielectric.o func.o normal.o o_cone.o otypes.o \ |
191 |
text.o raytrace.o readobj.o readoct.o rtrace.o \ |
192 |
rv2.o source.o sphere.o: otypes.h |
193 |
|
194 |
ambient.o rpict.o rv3.o source.o: random.h |
195 |
|
196 |
ambient.o dielectric.o func.o glass.o m_clip.o \ |
197 |
mx_data.o mx_func.o normal.o o_cone.o o_face.o o_instance.o \ |
198 |
p_data.o p_func.o text.o raytrace.o rpmain.o rtmain.o rvmain.o rpict.o \ |
199 |
rtrace.o rv2.o rv3.o source.o \ |
200 |
sphere.o t_data.o t_func.o: ray.h standard.h fvect.h object.h color.h |
201 |
|
202 |
rv2.o rv3.o rview.o: rpaint.h driver.h view.h |
203 |
|
204 |
source.o: source.h |
205 |
|
206 |
cone.o data.o devcomm.o face.o image.o misc.o objset.o octree.o otypes.o \ |
207 |
readobj.o readoct.o rview.o: standard.h fvect.h |
208 |
|
209 |
sundev.o: suntools.icon |
210 |
|
211 |
image.o rpmain.o rtmain.o rvmain.o rpict.o: view.h |
212 |
|
213 |
x10.o xtwind.o: xtwind.h |
214 |
|
215 |
x11.o x11twind.o: x11twind.h |