alpha:
	clear
	-make clean
	make   objects2    'CC=gcc'  'CFLAGS=-g   -DONALPHA'
	make   link2       'CC=gcc'  'LFLAGS=-g -lm -DONALPHA'



sun     :
	clear
	-make clean
	make   objects1    'CC=gcc'  'CFLAGS=-g   -DONSUN'
	make   link1       'CC=gcc'  'LFLAGS=-g -lm -DONSUN '

sunpg   :
	clear
	-make clean
	make   objects1    'CC=gcc'  'CFLAGS=-g -pg   -DONSUN'
	make   link1       'CC=gcc'  'LFLAGS=-g -pg -lm -DONSUN '

suno    :
	clear
	-make clean
	make   objects1    'CC=gcc'  'CFLAGS=-O3     -DONSUN'
	make   link1       'CC=gcc'  'LFLAGS=-O3 -lm -DONSUN '

pc      :
	clear
	gmake   objects1    'CC=megcs'  'CFLAGS=-g3 -O0 -Iahead  -Wunused -Wall -DONPC' 
	gmake   link1       'CC=megcs'  'LFLAGS=-g2 -O0 -Iahead -lm  -DONPC' 

sun2     :
	clear
	-make clean
	make   objects2    'CC=gcc'  'CFLAGS=-g   -DONSUN'
	make   link2       'CC=gcc'  'LFLAGS=-g -lm -DONSUN '

sunpg2   :
	clear
	-make clean
	make   objects2    'CC=gcc'  'CFLAGS=-g -pg   -DONSUN'
	make   link2       'CC=gcc'  'LFLAGS=-g -pg -lm -DONSUN '

suno2    :
	clear
	-make clean
	make   objects2    'CC=gcc'  'CFLAGS=-O3     -DONSUN'
	make   link2       'CC=gcc'  'LFLAGS=-O3 -lm -DONSUN '

pc2      :
	clear
	gmake   objects2    'CC=megcs'  'CFLAGS=-g3 -O0 -Iahead  -Wunused -Wall -DONPC' 
	gmake   link2       'CC=megcs'  'LFLAGS=-g2 -O0 -Iahead -lm   -DONPC' 

pc2o    :
	clear
	gmake   objects2    'CC=megcs'  'CFLAGS= -O5 -Iahead  -Wunused -Wall -DONPC' 
	gmake   link2       'CC=megcs'  'LFLAGS= -O5 -Iahead -lm   -DONPC' 

pc2mem      :
	clear
	gmake   objects2    'CC=megcs'  'CFLAGS=-g3 -O0 -Iahead  -Wunused -Wall -DONPC' 
	gmake   linkmem       'CC=megcs'  'LFLAGS=-g2 -O0 -Iahead -lm   -DONPC' 

CSRC1   = main.c  mc.c  initialize.c island.c initrand.c
CSRC2   = main2.c mc2.c initialize.c island.c mc.c initrand.c
COBJ1   =$(CSRC1:%.c=%.o)
COBJ2   =$(CSRC2:%.c=%.o)

sources1 : $(CSRC1) 
objects1 : $(COBJ1) 

sources2 : $(CSRC2) 
objects2 : $(COBJ2) 

$(COBJ1) : project.h
$(COBJ2) : project.h

link1    :
	$(CC) -L.$(LFLAGS) $(COBJ1)  -o  prog

link2    :
	$(CC) -L.$(LFLAGS) $(COBJ2)  -o  prog2

linkmem    :
	$(CC) -L.$(LFLAGS) $(COBJ2)  libefence.a -o  prog2

%.o : %.c
	$(CC) $(CFLAGS) -c $< -o $@

%.o : %.h
	$(CC) $(CFLAGS) -c $< -o $@
clean : 
	-rm prog
	-rm prog2
	-rm *.o
	-rm *.prc
	-rm *.out
