GNUmakefile 2.46 KB
#!smake -k
# --------------------------------------------------------------------
#        Copyright (C) 1997,1998 Nintendo. (Originated by SGI)
#        
#        $RCSfile: GNUmakefile,v $
#        $Revision: 1.1 $
#        $Date: 2003/04/05 15:20:46 $
# --------------------------------------------------------------------
#
# Makefile for chrome effect 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 =		letters

TARGETS =	rom

TEXTURES =	./Texture/metallic.rgb ./Texture/mahogany.rgb ./Texture/smroad.rgb ./Texture/gameday.rgb

TEXHFILES =	./mahogany.h ./metallic.h ./smroad.h ./sp_gameday.h

HFILES =	letters.h u64_tri.h u64_vtx.h

CODEFILES   =	letters.c dram_stack.c

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

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

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

CODESEGMENT =	codesegment.o

OBJECTS =	$(TEXHFILES) $(CODESEGMENT) $(DATAOBJECTS)

LCINCS =	-I.
LCOPTS =	-Wall -non_shared -G 0 -mips2

LDIRT  =	$(APP) $(TEXHFILES) *.so ./Texture/gameday*.h

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/chrome \
			$(HFILES) $(CODEFILES) $(DATAFILES) Makefile spec \
			$(TEXTURES)


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

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

$(OBJECTS): $(HFILES)

#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

letters.o: letters.c letters.h ./sp_gameday.h
	$(CC) $(CFLAGS) -c $< 

#
# Header file build rules
#

./mahogany.h: Texture/mahogany.rgb $(RGB2C)
	$(RGB2C) -m mahogany -f RGBA Texture/mahogany.rgb > mahogany.h

./metallic.h: Texture/metallic.rgb $(RGB2C)
	$(RGB2C) -m tex_metallic -f RGBA Texture/metallic.rgb > metallic.h

./smroad.h: Texture/smroad.rgb $(RGB2C)
	$(RGB2C) -m tex_smroad -f RGBA Texture/smroad.rgb > smroad.h

./sp_gameday.h:     Texture/gameday.rgb
	cd Texture; $(MKSPRITE) gameday gameday.rgb 64 16 0 > ./sp_gameday.h; mv ./sp_gameday.h ../