
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      = chatc
OBJS        = ../../../ps2common/ps2common.o \
	      	  ../../../nonport.o \
	      	  ../../../darray.o \
	      	  ../../../hashtable.o \
              ../../chatCrypt.o \
              ../../chatCallbacks.o \
              ../../chatMain.o \
              ../../chatHandlers.o \
              ../../chatSocket.o \
              ../../chatChannel.o \
              crt0.o\
              ../$(TARGET).o

snsystems: STACKOBJ =

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


LCFILE      = $(LIBDIR)/app.cmd
LIBS        = \
	$(LIBDIR)/libdev.a \
	$(LIBDIR)/libgraph.a \
	$(LIBDIR)/libcdvd.a \
	$(LIBDIR)/libdma.a \
	$(LIBDIR)/libpkt.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:

