GNUmakefile 1.76 KB
#!smake -k
# --------------------------------------------------------------------
#        Copyright (C) 1997,1998 Nintendo. (Originated by SGI)
#        
#        $RCSfile: GNUmakefile,v $
#        $Revision: 1.1 $
#        $Date: 2003/04/05 17:13:02 $
# --------------------------------------------------------------------
#
# Makefile for overlay 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          = -DF3DEX_GBI_2 -DDEBUG
N64LIB          = -lultra_d
#endif

APP	=	overlay

TARGETS =	rom

TEXHFILES =	brick.h

HFILES =	$(TEXHFILES) overlay.h

KERNCFILES   =	overlay.c dram_stack.c

KERNOBJECTS =	$(KERNCFILES:.c=.o)

SEGCFILES   =	plain.c texture.c cfb.c rsp_cfb.c

OBJECTS =	$(SEGCFILES:.c=.o) kernel.o

LCINCS =	-I.
LCOPTS =	-Wall -non_shared -G 0 -mips2
LDFLAGS =	$(MKDEPOPT) -L$(ROOT)/usr/lib $(N64LIB) -lgcc

LDIRT  =	plain texture

default:	$(TARGETS)

include $(COMMONRULES)

install:	default
		$(INSTALL) -m 444 -F /usr/src/PR/demos/overlay \
			$(HFILES) $(KERNCFILES) $(SEGCFILES) Makefile spec

#
# Note the use of the "-u" flag to force inclusion of the given routines
# into the kernel segment, although they are not referenced by any other
# code in the kernel segment.  They are, however, referenced by the
# "plain" and "texture" segments and thus these routines are included in
# the kernel segment.
#

kernel.o:	$(KERNOBJECTS) Makefile
		$(LD) -o $@ -r $(KERNOBJECTS) $(LDFLAGS)

#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