# Set compiler's options depending on the architecture
ifeq ($(ARCHI),i86)
  CC     = gcc 
  CFLAGS = -O3 -c -Wuninitialized -Wunused -Winline -Wshadow \
           -fexpensive-optimizations -funroll-loops
  LDFLAGS= -static-libgcc
endif
ifeq ($(ARCHI),i86x64)
  CC     = gcc
  CFLAGS = -O3 -arch x86_64 -c -Wuninitialized -Wunused -Winline -Wshadow \
           -fexpensive-optimizations -funroll-loops
  LDFLAGS= -arch x86_64 -static-libgcc
endif
ifeq ($(ARCHI),ppc)
  CC     = gcc
  CFLAGS = -O3 -s -c \
           -Wuninitialized -Wunused -Winline -Wshadow \
           -fexpensive-optimizations -funroll-loops
  LDFLAGS= 
endif
ifeq ($(ARCHI), gccub)
  CC      = gcc
  CFLAGS  = -c -O3 -fast -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch ppc -mcpu=G4
  LDFLAGS =
endif

ifeq ($(ARCHI),win32)
  CC    = gcc
  CFLAGS= -c -O3 -mno-cygwin -Wuninitialized -Wunused -Winline -Wshadow
  LDFLAGS=-v -s -mno-cygwin
endif
ifeq ($(ARCHI), ia64)
  CC	 = c89
  CFLAGS = +Ofast +Odata_prefetch +Ofltacc +DSitanium -s
  LDFLAGS= -s -N +Oprocelim
endif
ifeq ($(ARCHI), mips)
  CC	 = c89
  CFLAGS = -O3
  LDFLAGS= -s
endif

# working dirs
SRCDIR = sources
OBJDIR = objects/$(ARCHI)
ARCDIR = archives
DIRDIR = objects $(OBJDIR) $(ARCDIR)
VPATH  = $(SRCDIR)

# objects list
src    = $(wildcard $(SRCDIR)/*.c)
header = $(wildcard $(SRCDIR)/*.h)
objs   = $(patsubst $(SRCDIR)%,$(OBJDIR)%,$(src:.c=.o))
lib    = $(OBJDIR)/libmetric.a

$(OBJDIR)/%.o: $(SRCDIR)/%.c
	$(CC) $(OPT64) $(CFLAGS) $< -o $@

$(lib): $(objs)
	@echo 'Fin Archivage' $@

$(objs):$(header)

$(DIRDIR):
	@[ -d $@ ] || mkdir $@

clean:
	-rm $(objs)

tar:$(DIRDIR)
	tar czf $(ARCDIR)/library.`date +"%Y.%m.%d"`.tgz sources makefile

target:
