# $Id: makefile.src,v 1.4 1997/07/02 19:21:13 ldp Exp $
TOP=../..

USER_INCLUDES=-Iinclude

include $(TOP)/config/make.cfg

OBJDIR=$(GENDIR)/compiler/clib
INCDIR=$(BINDIR)/include

LIB = $(LIBDIR)/libarosc.a

%define_libs

FILES = \
	__assert \
	__getfilenode4fd \
	__ioerr2errno \
	__log \
	__log10 \
	__kernel_standard \
	__pow \
	__stdio \
	__vcformat \
	__vcscan \
	abort \
	abs \
	asctime \
	atoi \
	atol \
	bcopy \
	bsearch \
	bzero \
	calloc \
	clearerr \
	ctime \
	ctype \
	close \
	copysign \
	creat \
	errno \
	exit \
	fclose \
	feof \
	ferror \
	fflush \
	fgetc \
	fgets \
	finite \
	fopen \
	fprintf \
	fscanf \
	fputc \
	fputs \
	fread \
	free \
	fseek \
	fwrite \
	gettimeofday \
	gmtime \
	isnan \
	labs \
	localtime \
	log10 \
	malloc \
	matherr \
	memchr \
	memcmp \
	memcpy \
	memmove \
	memset \
	open \
	pow \
	printf \
	puts \
	qsort \
	rand \
	read \
	realloc \
	rint \
	scalbn \
	scanf \
	snprintf \
	sprintf \
	sqrt \
	sscanf \
	strcasecmp \
	strcat \
	strchr \
	strcmp \
	strcpy \
	strcspn \
	strdup \
	strerror \
	strftime \
	strlen \
	strncasecmp \
	strncat \
	strncmp \
	strncpy \
	strpbrk \
	strrchr \
	strspn \
	strstr \
	strtok \
	strtol \
	strtoul \
	time \
	ungetc \
	unlink \
	vfprintf \
	vfscanf \
	vprintf \
	vscanf \
	vsnprintf \
	vsprintf \
	vsscanf \
	write

ASMFILES = setjmp longjmp

OBJS = $(foreach f,$(FILES) $(ASMFILES),$(OBJDIR)/$(f).o)
DEPS = $(foreach f,$(FILES),$(OBJDIR)/$(f).d)

all: setup $(LIB)

setup: make-dirs update-includes
	@echo "APPCFLAGS=$(APPCFLAGS)"

make-dirs:
	%mkdirs_q $(INCDIR)/sys $(OBJDIR)

test: $(TESTDIR)/snprint

$(TESTDIR)/snprintf: snprintf.c $(LIBDIR)/startup.o $(DEPLIBS)
	$(CC) -DTEST $(ILDFLAGS) $(LIBDIR)/startup.o $< -o $@ $(LIBS)

update-includes:
	@echo "Updating ANSI C includes"
	@cd include ; \
	$(MAKE) $(MFLAGS) TOP="$(TOP)/.." CURDIR="$(CURDIR)/include" all

clean::
	-$(RM) $(OBJDIR) *.err $(LIB)

$(OBJDIR)/%.o: %.c
	%compile_q cmd=$(SYS_CC) opt=$(APPCFLAGS)

$(LIB): $(OBJS)
	%mklib_q

$(OBJDIR)/%.d: %.c
	%mkdepend_q flags=$(APPCFLAGS)

%common
%include_deps
