#
#************************************************************************\
#*                                                                      *
#* Copyright 2003-2004 Stretch, Inc. All rights reserved.               *
#*                                                                      *
#* THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE SECRETS OF *
#* STRETCH, INC. USE, DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT *
#* THE PRIOR EXPRESS WRITTEN PERMISSION OF STRETCH, INC.                *
#*                                                                      *
#************************************************************************/
#

ifndef VER
VER = b
endif

ifdef OPT
O = -O3
else
O = -O0
endif

ifdef x86
X = -ms5-native
E = -x86
else
X = 
E = -S5
endif

CFLAGS = -g $(O) $(X)

ifeq (${OS},Windows_NT)
CP = copy /y
else
CP = cp -fp
RM = rm -rf
endif


default:
	@echo "usage: make [VER=a|b|c] [OPT=1] [x86=1] [build|run|profile]"

build: rgb2ycc_$(VER)$(O)$(E).exe

run: rgb2ycc_$(VER)$(O)$(E).exe
	st-run $^

profile: rgb2ycc_$(VER)$(O)$(E).exe
	st-run --mem_model --profile=gmon.out $^
	st-gprof $^ > $^.prof

trace: fir$(MUL)$(VER)$(O)$(E).exe
	st-run --trace=6 --mem_model $^ > $^.tr

rgb2ycc_a$(O)$(E).exe: rgb2ycc_a.c data.h
	scc $(CFLAGS) -o rgb2ycc_a$(O)$(E).exe rgb2ycc_a.c

rgb2ycc_b$(O)$(E).exe: rgb2ycc_b$(O)$(E).o
	scc $(CFLAGS) -o rgb2ycc_b$(O)$(E).exe rgb2ycc_b.c rgb2ycc.a

rgb2ycc_c$(O)$(E).exe: rgb2ycc_c$(O)$(E).o
	scc $(CFLAGS) -o rgb2ycc_c$(O)$(E).exe rgb2ycc_c.c rgb2ycc.a

rgb2ycc_b$(O)$(E).o: rgb2ycc.h rgb2ycc_b.c data.h
	scc $(CFLAGS) -c -o rgb2ycc_b$(O)$(E).o rgb2ycc_b.c

rgb2ycc_c$(O)$(E).o: rgb2ycc.h rgb2ycc_c.c data.h
	scc $(CFLAGS) -c -o rgb2ycc_c$(O)$(E).o rgb2ycc_c.c

rgb2ycc.h: rgb2ycc.xc
#	scc $(CFLAGS) -stretch-nobits -stretch-h rgb2ycc.h -o rgb2ycc.a rgb2ycc.xc
	scc $(CFLAGS) -stretch-h rgb2ycc.h -o rgb2ycc.a rgb2ycc.xc

clean:
	$(RM) profiles rgb2ycc.a rgb2ycc.h *.xo *.xr stretch-tdk
