GNUmakefile 2.4 KB
#!smake -k
# --------------------------------------------------------------------
#        Copyright (C) 1997,1998 Nintendo. (Originated by SGI)
#        
#        $RCSfile: GNUmakefile,v $
#        $Revision: 1.1 $
#        $Date: 2003/04/04 19:34:06 $
# --------------------------------------------------------------------
#
# Makefile for turbo demo application 
#

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

#FINAL =

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

APP =		gtdemo

TARGETS =	rom

TEXHFILES =	../Texture/RGBA16checkerMM.h

HFILES =	gtdemo.h controller.h turbo.h character.h char_data.h 	\
		timer.h walk.h punch.h

CODEFILES   =	gtdemo.c floor.c turbo.c character.c controller.c 	\
		timer.c walk.c punch.c rdp_output.c rdp_output_len.c

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

DATAFILES   =	static.c zbuffer.c cfb.c

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

CODESEGMENT =	codesegment.o

OBJECTS =	$(CODESEGMENT) $(DATAOBJECTS)

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

LDIRT  =	$(APP) *.so walktable walktable.h punchtable punchtable.h

#
# 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_old/gtdemo \
			README $(HFILES) $(CODEFILES) $(DATAFILES) 	\
			spec walktable.c punchtable.c
		$(INSTALL) -m 444 -F /usr/src/PR/demos_old/gtdemo -src Makefile.src Makefile

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

#
# These must depend on the generated h-files.
# If we don't do this, smake fails.
#
walk.o:	walktable.h

punch.o:	punchtable.h

static.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

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

#
# Header file build rules
#
walktable:	walktable.c
	$(HOST_CC) -o $@ walktable.c

walktable.h:	walktable
	-./walktable > walktable.h	

punchtable:	punchtable.c
	$(HOST_CC) -o $@ punchtable.c

punchtable.h:	punchtable
	-./punchtable > punchtable.h