Makefile 2.51 KB
#!smake -k
# --------------------------------------------------------------------
#        Copyright (C) 1997,1998 Nintendo. (Originated by SGI)
#        
#        $RCSfile: Makefile,v $
#        $Revision: 1.1.1.2 $
#        $Date: 2002/10/29 08:06:07 $
# --------------------------------------------------------------------
#
# 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 -fullwarn -non_shared -G 0

LDFLAGS =	$(MKDEPOPT) -nostdlib -L$(ROOT)/usr/lib -L$(ROOT)/usr/lib/PR \
		$(N64LIB)

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) -m -o $(CODESEGMENT) -r $(CODEOBJECTS) $(LDFLAGS) > load.map

#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
	$(CC) -o medit medit.c libaux.a -lX11 -lGL -lGLU -lm

medit2c: medit2c.c
	$(CC) -o medit2c medit2c.c