# Compilateur et editeur de liens
CC         = xlc_r
CLD        = $(CC)

RM         = /usr/bin/rm -f

#
# COMPILATION
#

# Options d'optimisation
OLEV       = -qhot -O3 -qtune=auto -qarch=auto -qcache=auto
COPT       = -qstrict

CMAX       = -qipa
CMAX       = 

# Options de parallelisation
OPAR       = 

# Options de deboguage
ODEB       = -qnooptimize
CDEB       = -qcheck -g -qextchk -qfullpath -qundef \
	-qflttrap=:ov:und:zero:inv:en -qinitauto=FF

# Options de listing
OLST       = -qlistopt -qreport=hotlist -qsource
OLST       = 

# Options de profilage
PROF       = -pg -qfullpath -g
PROF       = -qfullpath -g

# Options compilation
CFLAGS     = $(OLEV) $(COPT) $(CMAX) $(OPAR) $(PROF) $(OLST)

#
# EDITION DES LIENS
#

# Librairies C
LIBS      = -lmass -lmassv -lessl -lm

# Option optimisation
LDLEV     = $(OLEV)

# Option de portage
LDREN     = -brename:.flush,.flush_ -brename:.etime,.etime_
LDREN     = 

# Options memoire
LDMEM     = -bmaxdata:0x80000000 -blpdata
LDMEM     = -blpdata

# Options editions des liens
LDFLAGS   = $(LDLEV) $(LDMEM) $(LDREN) $(PROF)


# Includes C
CHDRS      =

# objects C
COBJS      = \
		numerics.o \
		sub1.o \
		main.o

# sources C
CSRCS      = \
		numerics.c \
		sub1.c \
		main.c

# compilation C
.c.o:
	$(CC) $(CFLAGS) $< -c

# link C
EXEC = test_c.out
DEST = ../bin

all: 	$(COBJS)
	$(CLD) $(LDFLAGS) $(COBJS) $(LIBS) -o $(EXEC)
	mv $(EXEC) $(DEST)

# nettoyage
clean:
	$(RM) $(COBJS) $(EXEC)

###
numerics.o: numerics.c
	$(CC) -c $(CFLAGS) numerics.c
main.o: main.c numerics.o
	$(CC) -c $(CFLAGS) main.c
sub1.o: sub1.c numerics.o cdim.h
	$(CC) -c $(CFLAGS) sub1.c

