CC=gcc2
CFLAGS=-O2 -fomit-frame-pointer -funroll-loops -DDEBUG -Wall
CSW=-c
INCS=-I../library
LIB=libstdlib.a

.s.o:
	@copy $*.s x.c
	@gcc -traditional -E x.c -o x.s
	$(CC) $(CFLAGS) $(INCS) $(CSW) x.s -o $*.o

.c.o:
	$(CC) $(CFLAGS) $(INCS) $(CSW) $*.c

.c.X:
	gcc2 -I/scsu -DFINAL -DTRANSLATE_DOTS -fgen-aux-info -fsyntax-only -S $*.c -o foo.s
	-egrep -v "(static|compiled from|:[INO]C )" $*.c.X >$*.X
	rm -f $*.c.X

SRC= abort.c abs.s atexit.c atof.c atoi.c atol.c bsearch.c calloc.c div.c getenv.c \
	labs.c ldiv.c putenv.c qsort.c rand.c setenv.c strtol.c strtoul.c \
	system.c ldexp.c ssystem.c execve.c exec.c multibyte.c heapsort.c \
	radixsort.c 

OBJ= abort.o abs.o atexit.o atof.o atoi.o atol.o bsearch.o calloc.o div.o getenv.o \
	labs.o ldiv.o putenv.o qsort.o rand.o setenv.o strtol.o strtoul.o \
	system.o ldexp.o ssystem.o execve.o exec.o multibyte.o heapsort.o \
	radixsort.o

AUX= abort.X atexit.X atof.X atoi.X atol.X bsearch.X calloc.X div.X getenv.X \
	labs.X ldiv.X putenv.X qsort.X rand.X setenv.X strtol.X strtoul.X \
	system.X ldexp.X ssystem.X execve.X exec.X multibyte.X heapsort.X \
	radixsort.X


$(LIB) .LIBRARY : $(OBJ)

aux: $(AUX)

clean:
	rm -f $(OBJ) $(LIB)

dep: $(SRC)
	gcc2 -MM $(INCS) $(SRC) $(CFLAGS) > deps
    

##########################################################################
abort.o : abort.c  
atexit.o : atexit.c  atexit.h 
atof.o : atof.c  
atoi.o : atoi.c  
atol.o : atol.c  
bsearch.o : bsearch.c  
calloc.o : calloc.c  
div.o : div.c  
getenv.o : getenv.c  
labs.o : labs.c  
ldiv.o : ldiv.c  
putenv.o : putenv.c  
qsort.o : qsort.c  
rand.o : rand.c  
setenv.o : setenv.c  
strtol.o : strtol.c  
strtoul.o : strtoul.c  
system.o : system.c
