GNUmakefile 2.17 KB
#!smake -k
# --------------------------------------------------------------------
#        Copyright (C) 1997,1998 Nintendo. (Originated by SGI)
#        
#        $RCSfile: GNUmakefile,v $
#        $Revision: 1.1 $
#        $Date: 2003/04/03 17:48:39 $
# --------------------------------------------------------------------
#
# Makefile for teapot demo application 
#
#
#

include $(ROOT)/usr/include/make/PRdefs

#FINAL =

#ifdef FINAL
OPTIMIZER       = -O2
LCDEFS          = -DNDEBUG -D_FINALROM -DF3DEX_GBI_2
N64LIB          = -lultra_rom
#else
OPTIMIZER       = -g
LCDEFS          = -DDEBUG -DF3DEX_GBI_2
N64LIB          = -lultra_d
#endif

APP =		teapot

TARGETS =	rom

TEXHFILES =	teapot_shad64.h

HFILES =	I4spec.h controller.h teapot_tri.h \
		IA8phong.h teapot.h teapot_vtx.h


CODEFILES   =	teapot.c controller.c dram_stack.c

CODEOBJECTS =	$(CODEFILES:.c=.o)

DATAFILES   =	zbuffer.c	\
		cfb.c \
		static.c

DATAOBJECTS =	$(DATAFILES:.c=.o)

CODESEGMENT =	codesegment.o

OBJECTS =	$(CODESEGMENT) $(DATAOBJECTS)

LCDEFS +=	-DUSE_HIGHLIGHT -DUSE_MIPMAP
LCINCS =	-I. -I$(ROOT)/usr/include/PR -I $(ROOT)/usr/include
LCOPTS =	-Wall -non_shared -G 0  -mips2

LDIRT  =	$(APP) teapot $(TEXHFILES) *.so

#
# Use non debug library just so we have some demos using it to test it
#
LDFLAGS =	$(MKDEPOPT) -L$(ROOT)/usr/lib -L$(ROOT)/usr/lib/PR $(N64LIB) -lgcc

default:	$(TARGETS)

include $(COMMONRULES)

install:        default
		$(INSTALL) -m 444 -F /usr/src/PR/demos/lights \
			$(HFILES) $(CODEFILES) $(DATAFILES) Makefile spec \
			Texture/teapot_shad64.rgb

$(CODESEGMENT):	$(CODEOBJECTS)
		$(LD) -o $(CODESEGMENT) -r $(CODEOBJECTS) $(LDFLAGS)

#
# This must depend on the generated h-files.
# If we don't do this, smake fails.
#
teapot.o: $(TEXHFILES)

$(OBJECTS): $(HFILES) $(TEXHFILES)

#ifdef FINAL
$(TARGETS) $(APP):      spec $(OBJECTS)
	$(MAKEROM) -s 9 -r $(TARGETS) spec
#ifndef NOMAKEMASK
	makemask $(TARGETS)
#endif
#else
$(TARGETS) $(APP):      spec $(OBJECTS)
	$(MAKEROM) -r $(TARGETS) spec
#endif

teapot.o: teapot.c
	$(CC) $(CFLAGS) -c $< 

#
# Header file build rules
#

teapot_shad64.h: Texture/teapot_shad64.rgb
	$(RGB2C) -s 4 -m teapot_shadow -f I Texture/teapot_shad64.rgb > teapot_shad64.h