
SHELL       = /bin/sh

TOP         = /usr/local/sce/ee
LIBDIR      = $(TOP)/lib
INCDIR		= $(TOP)/include -I/usr/local/sce/ee/include -I /usr/local/sce/common/include

TARGET      = cengtest
OBJS        = \
	../../ps2common/ps2common.o \
	../../nonport.o \
	../../darray.o \
	../../hashtable.o \
	../gserverlist.o \
	../gserver.o \
	../gutil.o \
	crt0.o\
	../$(TARGET).o

snsystems: STACKOBJ =

cisco: STACKOBJ = ../../ps2common/nftioctl.o

LCFILE      = $(LIBDIR)/app.cmd

LIBS        = \
	$(STACKLIB) \
	$(LIBDIR)/libdev.a \
	$(LIBDIR)/libgraph.a \
	$(LIBDIR)/libdma.a \
	$(LIBDIR)/libpkt.a \
	$(LIBDIR)/libcdvd.a


snsystems: STACKLIB = $(LIBDIR)/sneetcp.a

cisco: STACKLIB = $(LIBDIR)/nft/libnftee.a

snsystems: STACKDEF = SN_SYSTEMS

cisco: STACKDEF = CISCO_NFT	

PREFIX      = ee
AS          = $(PREFIX)-gcc
CC          = $(PREFIX)-gcc
LD          = $(PREFIX)-gcc
DVPASM      = $(PREFIX)-dvp-as
OBJDUMP     = $(PREFIX)-objdump
RUN         = dsedb -r run
RM          = /bin/rm -f

CFLAGS      = -g -O0 -Wall -Wa,-al -fno-common
CXXFLAGS    = -g -Wall -Werror -Wa,-al -fno-exceptions -fno-common
ASFLAGS     = -c -xassembler-with-cpp -Wa,-al
DVPASMFLAGS = -g 
LDFLAGS     = -Wl,-Map,$(TARGET).map -mno-crt0 -L$(LIBDIR) -lm
TMPFLAGS    =

.SUFFIXES: .c .s .cc .dsm

all: FORCE
	@echo type either make snsystems or make cisco 

$(TARGET).elf: $(OBJS) $(LIBS)
	$(LD) -o $@ -T $(LCFILE) $(OBJS) $(STACKOBJ) $(STACKLIB) $(LIBS) $(LDFLAGS)

crt0.o: $(LIBDIR)/crt0.s
	$(AS) $(ASFLAGS) $(TMPFLAGS) -o $@ $< > $*.lst

.s.o:
	$(AS) $(ASFLAGS) $(TMPFLAGS) -I$(INCDIR) -o $@ $< > $*.lst

.dsm.o:
	$(DVPASM) $(DVPASMFLAGS) -I$(INCDIR) -o $@ $< > $*.lst

.c.o:
	$(CC) $(CFLAGS) $(TMPFLAGS) -D$(STACKDEF) -I$(INCDIR) -c $< -o $*.o > $*.lst

.cc.o:
	$(CC) $(CXXFLAGS) $(TMPFLAGS) -D$(STACKDEF) -I$(INCDIR) -c $< -o $*.o > $*.lst

run: $(TARGET).elf
	$(RUN) $(TARGET).elf

snsystems: $(TARGET).elf

cisco: $(TARGET).elf

clean:
	$(RM) $(OBJS) *.o *.map *.lst core *.dis *.elf

FORCE:

