GNUmakefile
2.5 KB
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
#!smake -k
# --------------------------------------------------------------------
# Copyright (C) 1997,1998 Nintendo. (Originated by SGI)
#
# $RCSfile: GNUmakefile,v $
# $Revision: 1.1 $
# $Date: 2003/04/04 17:00:12 $
# --------------------------------------------------------------------
#
# This demo has the following features
#
# CPU vertex morphing
# Multi-pass rendering using transparency
#
# Bill Mark
#
include $(ROOT)/usr/include/make/PRdefs
#FINAL =
#ifdef FINAL
OPTIMIZER = -O2
LCDEFS = -D_FINALROM -DNDEBUG -DF3DEX_GBI_2
N64LIB = -lultra_rom
#else
OPTIMIZER = -g
LCDEFS = -DDEBUG -DF3DEX_GBI_2
N64LIB = -lultra_d
#endif
APP = morphfaces
TARGETS = rom
HFILES = morphfaces.h
CODEFILES = morphfaces.c morph.c data.c dram_stack.c
CODEOBJECTS = $(CODEFILES:.c=.o)
CODESEGMENT = codesegment.o
DATAFILES = static.c dynamic.c zbuf.c cfb.c
DATAOBJECTS = $(DATAFILES:.c=.o)
OBJECTS = $(CODESEGMENT) $(DATAOBJECTS)
LCINCS = -I. -I$(ROOT)/usr/include/PR
LCOPTS = -D_DEBUG -Wall -non_shared -G 0 -mips2
LDFLAGS = $(MKDEPOPT) -L$(ROOT)/usr/lib -L$(ROOT)/usr/lib/PR \
$(N64LIB) -lgcc
LDIRT = $(APP) medit medit2c load.map mstatic.h mcode.h
default: $(TARGETS)
include $(COMMONRULES)
install: default
$(INSTALL) -m 444 -F /usr/src/PR/demos/morphfaces \
$(HFILES) $(CODEFILES) $(DATAFILES) Makefile spec \
ed.ppm tj.ppm ed_tj.v ed_tj.t \
medit.c medit2c.c n_aux.h libaux.a NOTES
$(CODESEGMENT): $(CODEOBJECTS)
$(LD) -o $(CODESEGMENT) -r $(CODEOBJECTS) $(LDFLAGS)
#ifdef FINAL
$(TARGETS) $(APP): spec $(OBJECTS) $(MAKEROM)
$(MAKEROM) -s 9 -r $(TARGETS) spec
#ifndef NOMAKEMASK
makemask $(TARGETS)
#endif
#else
$(TARGETS) $(APP): spec $(OBJECTS) $(MAKEROM)
$(MAKEROM) -r $(TARGETS) spec
#endif
static.o: static.c ./mstatic.h
morphfaces.o: morphfaces.c morphfaces.h
data.o: ./mcode.h data.c
./mstatic.h: ./mcode.h
# program is not actually dependent on medit, but put it here to force it to
# be kept up to date
# (I've now commented out this dependency because it requires X11 header files
# which some people don't have)
#
# Note: run medit as follows:
# medit -p ed.ppm -p tj.ppm -v ed_tj.v -t ed_tj.t [-m 6]
#./mcode.h: medit medit2c ed_tj.v ed_tj.t
./mcode.h: medit2c ed_tj.v ed_tj.t
./medit2c -v ed_tj.v -t ed_tj.t -i ed.ppm -j tj.ppm \
-s mstatic.h -c mcode.h -m 16
medit: medit.c
$(HOST_CC) -o medit medit.c libaux.a -lX11 -lGL -lGLU -lm
medit2c: medit2c.c
$(HOST_CC) -o medit2c medit2c.c