
.EXPORT_ALL_VARIABLES:

CROSS_COMPILE = /opt/hardhat/devkit/ppc/8xx/bin/ppc_8xx-

# use '-Os' optimization if available, else use -O2
OPTIMIZATION = $(shell if $(CC) -Os -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \
    then echo "-Os"; else echo "-O2" ; fi)

INCLUDES = -I../include -I $(RAS_DIR)/src

CFLAGS  = -Wall $(OPTIMIZATION) -fomit-frame-pointer $(INCLUDES) -D_GNU_SOURCE

ifeq ($(TARG),ts1h)
CFLAGS += -DCONFIG_TS1H
endif

ifeq ($(TARG),ts1h2)
CFLAGS += -DCONFIG_TS1H
endif

ifeq ($(TARG),sm100)
CFLAGS += -DCONFIG_SM100
endif


LDFLAGS  = -s

CC      = $(CROSS_COMPILE)gcc
AS      =$(CROSS_COMPILE)as
LD      =$(CROSS_COMPILE)ld
CPP     =$(CC) -E
AR      =$(CROSS_COMPILE)ar
NM      =$(CROSS_COMPILE)nm
STRIP   =$(CROSS_COMPILE)strip --remove-section=.note --remove-section=.comment
OBJCOPY =$(CROSS_COMPILE)objcopy
OBJDUMP =$(CROSS_COMPILE)objdump
RANLIB  =$(CROSS_COMPILE)ranlib
MAKE    =make
INSTALL =install

OPT=-O2 -fomit-frame-pointer
# CFLAGS=-O2 -Wall -W -Wno-parentheses -Wstrict-prototypes -g3 -I./
# CFLAGS=$(OPT) -Wall -W -Wno-parentheses -Wstrict-prototypes
# LDFLAGS=$(CFLAGS)

#XLIBS=-L/usr/X11R6/lib -lXext -lX11
#OTHERLIBS=-lc
#LIBS=$(XLIBS) $(OTHERLIBS)

PCILIB_VERSION=2.0
SUFFIX=

export

ifeq ($(TARG),ts1h)
 TARGETS=tstest tstest_ts1h
else
ifeq ($(TARG),ts1h2)
 TARGETS=tstest tstest_ts1h
else
 TARGETS=tstest
endif
endif

INCL =  cyclades.h cyconst.h cyfunc.h cystruct.h macro.h

TSTEST_OBJS = tstest.o detect.o utils.o\
        yboard.o port.o $(RAS_DIR)/src/rot_nports.o \
		$(RAS_DIR)/src/tstr.o 

ifeq ($(TARG),ts1h2)
TSTEST_OBJS += io_port.o
endif

ifeq ($(TARG),ts1h)
TSTEST_OBJS += io_port.o
endif

ifeq ($(TARG),sm100)
TSTEST_OBJS += sm_port.o
endif

all: $(TARGETS) install

ifeq ($(TARG),sm100)

cdk_sm100: sm_bin sm100_clean

ifeq ($(WITH_CDK),yes)

sm_port.o: sm_bin/sm_port.o
	cp -af $< $@

else

sm_bin: sm_port.o
	install -d sm_bin
	cp -af $? sm_bin

endif
else
cdk_sm100: sm100_clean
endif

sm100_clean: sm_port.c
	rm -f $?

install:
	@( for file in $(TARGETS) ;  do \
		$(INSTALL) -m 755 $$file    $(TARGET_DIR)/bin ; \
	done )

$(RAS_DIR)/src/rot_nports.o: $(RAS_DIR)/src/rot_nports.c
	make -C $(RAS_DIR)
 
tstest_ts1h: $(TSTEST_TS1H_OBJS) 

tstest: $(TSTEST_OBJS) 

tstest.s: tstest.c
	cc $(LDFLAGS) -S tstest.c

clean:
	rm -f *o *~ $(TARGETS) core tstest.s

cleanall:
	-rm -f `find . -name "*.[oas]"`
	-rm -f $(TARGETS) core 
	-rm -f `find . -name "*~"`
