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