# use gmake
# use sun or dec as TARGET

ifdef WINDIR
EXE=.exe
else
EXE=
endif

TARGET	:= sun

EXEC	:= og-$(TARGET)
BINDIR	:= bin
INCDIR	:= include

SRCDIR	:= ../shared

CC	   :=	gcc
CYCC	:= cyclone
FLAGS	:= -Doldpair_ -O3 $(EXTRACFLAGS)

SRC	:= Time.cyc NewPairs.cyc NewAddPol.cyc NewRed.cyc \
	   NewUtil.cyc og.cyc 

LIB	:= -Llib -Blib  -lmultpol-$(TARGET) -lcmump-$(TARGET) $(EXTRALIBS)
NC_LIB  := -Llib -Blib  -lmultpol-$(TARGET)-nc -lcmump-$(TARGET)-nc $(EXTRALIBS)

# - ----- no need to change the following

INCSTR	:= ${addprefix -I, ${INCDIR}}
LIBSTR	:= ${addprefix -L, ${LIBDIR}}
OBJ	:= ${addprefix ${BINDIR}/, ${addsuffix .o, ${basename ${SRC}}}}
NC_OBJ  := ${addprefix ${BINDIR}/nc_, ${addsuffix .o, ${basename ${SRC}}}}

build: ${EXEC}$(EXE)
${EXEC}$(EXE)	:  ${BINDIR} ${OBJ} makelib
#	gcc  -o og-sun$(EXE) -g bin/Time.o bin/NewPairs.o bin/NewAddPol.o bin/NewRed.o bin/NewUtil.o bin/og.o  -lmultpol-sun -lcmump-sun -L lib -L ~/local/lib/cyclone ~/local/lib/cyclone/libcyc.a ~/local/lib/cyclone/gc.a
	${CYCC} -g -o $@ ${OBJ} ${LIBSTR} ${LIB}

build-nocheck: ${EXEC}-nochk$(EXE)
${EXEC}-nochk$(EXE)	:  ${BINDIR} ${NC_OBJ} makelib-nocheck
#	gcc  -o og-sun$(EXE) -g bin/Time.o bin/NewPairs.o bin/NewAddPol.o bin/NewRed.o bin/NewUtil.o bin/og.o  -lmultpol-sun -lcmump-sun -L lib -L ~/local/lib/cyclone ~/local/lib/cyclone/libcyc.a ~/local/lib/cyclone/gc.a
	${CYCC} -g --nochecks -o $@ ${OBJ} ${LIBSTR} ${NC_LIB}

makelib:
	(cd cmu/src/cmump;make EXTRACFLAGS="$(EXTRACFLAGS)")
	-ranlib lib/libcmump-sun.a
	(cd cmu/src/multpol;make EXTRACFLAGS="$(EXTRACFLAGS)")
	-ranlib lib/libmultpol-sun.a

makelib-nocheck:
	(cd cmu/src/cmump;make EXTRACFLAGS="$(EXTRACFLAGS)" nocheck)
	(cd cmu/src/multpol;make EXTRACFLAGS="$(EXTRACFLAGS)" nocheck)

${BINDIR}:
	   mkdir ${BINDIR}

# ${BINDIR}/%.o: %.c
# 	   ${CC} ${FLAGS} ${INCSTR} -o $@ -c $*.c

${BINDIR}/%.o: %.cyc
	   ${CYCC} ${FLAGS} ${INCSTR} -o $@ -c $*.cyc

${BINDIR}/nc_%.o: %.cyc
	   ${CYCC} ${FLAGS} --nochecks ${INCSTR} -o $@ -c $*.cyc

# ${BINDIR}/%.o: ${SRCDIR}/%.c
# 	   ${CC} ${FLAGS} ${INCSTR} -o $@ -c ${SRCDIR}/$*.c

${BINDIR}/%.o: ${SRCDIR}/%.cyc
	   ${CYCC} ${FLAGS} ${INCSTR} -o $@ -c ${SRCDIR}/$*.cyc

${BINDIR}/nc_%.o: ${SRCDIR}/%.cyc
	   ${CYCC} ${FLAGS} --nochecks ${INCSTR} -o $@ -c ${SRCDIR}/$*.cyc

clean	: cleantarget
	bash mclean

cleantarget:
	-rm ${EXEC}$(EXE) ${EXEC}-nochk$(EXE)

tags:
	etags *.c include/*.h cmu/src/cmump/*.c cmu/src/multpol/*.c

malloc:

bwgc:

