home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / misc / emu / AROSdev.lha / AROS / compiler / clib / makefile < prev    next >
Encoding:
Makefile  |  1997-02-07  |  2.4 KB  |  152 lines

  1. # $Id: makefile,v 1.32 1997/02/07 15:25:45 digulla Exp $
  2. TOP=../..
  3.  
  4. USER_INCLUDES=-Iinclude
  5.  
  6. include $(TOP)/config/make.cfg
  7.  
  8. OBJDIR=$(GENDIR)/clib
  9. INCDIR=$(BINDIR)/include
  10. LIBS = -L$(LIBDIR) -larosc -lamiga -laros -larosc
  11. DEPLIBS = $(LIBDIR)/startup.o $(LIBDIR)/libarosc.a \
  12.     $(LIBDIR)/libamiga.a $(LIBDIR)/libaros.a
  13.  
  14. FILES = \
  15.     __assert \
  16.     __getfilenode4fd \
  17.     __ioerr2errno \
  18.     __stdio \
  19.     __vcformat \
  20.     __vcscan \
  21.     abort \
  22.     abs \
  23.     asctime \
  24.     atoi \
  25.     atol \
  26.     bcopy \
  27.     bsearch \
  28.     bzero \
  29.     calloc \
  30.     clearerr \
  31.     ctime \
  32.     ctype \
  33.     close \
  34.     creat \
  35.     errno \
  36.     exit \
  37.     fclose \
  38.     feof \
  39.     ferror \
  40.     fflush \
  41.     fgetc \
  42.     fgets \
  43.     fopen \
  44.     fprintf \
  45.     fscanf \
  46.     fputc \
  47.     fputs \
  48.     fread \
  49.     free \
  50.     fwrite \
  51.     gmtime \
  52.     labs \
  53.     localtime \
  54.     malloc \
  55.     memchr \
  56.     memcmp \
  57.     memcpy \
  58.     memmove \
  59.     memset \
  60.     open \
  61.     printf \
  62.     puts \
  63.     qsort \
  64.     rand \
  65.     read \
  66.     realloc \
  67.     scanf \
  68.     snprintf \
  69.     sprintf \
  70.     sscanf \
  71.     strcasecmp \
  72.     strcat \
  73.     strchr \
  74.     strcmp \
  75.     strcpy \
  76.     strcspn \
  77.     strdup \
  78.     strerror \
  79.     strftime \
  80.     strlen \
  81.     strncasecmp \
  82.     strncat \
  83.     strncmp \
  84.     strncpy \
  85.     strpbrk \
  86.     strrchr \
  87.     strspn \
  88.     strstr \
  89.     strtok \
  90.     strtol \
  91.     strtoul \
  92.     time \
  93.     ungetc \
  94.     vfprintf \
  95.     vfscanf \
  96.     vprintf \
  97.     vscanf \
  98.     vsnprintf \
  99.     vsprintf \
  100.     vsscanf \
  101.     write
  102.  
  103. ifneq ($(FLAVOUR),native)
  104. ASMFILES = setjmp longjmp
  105. endif
  106.  
  107. all: setup $(LIBDIR)/libarosc.a
  108.  
  109. setup: make-dirs update-includes
  110.  
  111. make-dirs:
  112.     @if [ ! -d $(INCDIR) ]; then $(MKDIR) $(INCDIR) ; else true ; fi
  113.     @if [ ! -d $(INCDIR)/sys ]; then $(MKDIR) $(INCDIR)/sys ; else true ; fi
  114.     @if [ ! -d $(OBJDIR) ]; then $(MKDIR) $(OBJDIR) ; else true ; fi
  115.  
  116. test: $(TESTDIR)/snprint
  117.  
  118. $(TESTDIR)/snprintf: snprintf.c $(LIBDIR)/startup.o $(DEPLIBS)
  119.     $(CC) -DTEST $(ILDFLAGS) $(LIBDIR)/startup.o $< -o $@ $(LIBS)
  120.  
  121. update-includes:
  122.     @echo "Updating ANSI C includes"
  123.     @cd include ; \
  124.     $(MAKE) $(MFLAGS) TOP="$(TOP)/.." CURDIR="$(CURDIR)/include" all
  125.  
  126. clean:
  127.     -$(RM) $(OBJDIR) *.err $(LIBDIR)/libc.a
  128.  
  129. $(OBJDIR)/%.o: %.c
  130.     $(SYS_CC) $(CFLAGS) $< -c -o $@ 2>&1|tee $*.err
  131.     @if test ! -s $*.err; then rm $*.err ; else true ; fi
  132.  
  133. $(LIBDIR)/libarosc.a: $(foreach f,$(FILES),$(OBJDIR)/$(f).o) \
  134.         $(foreach f,$(ASMFILES),$(OBJDIR)/$(f).o)
  135.     $(AR) $@ $?
  136.     $(RANLIB) $@
  137.  
  138. $(OBJDIR)/%.d: %.c
  139.     @if [ ! -d $(@D) ]; then $(MKDIR) $(@D) ; else true ; fi
  140.     $(MKDEPEND) -f- -p$(@D)/ -- $(APPCFLAGS) -- $^ > $@
  141.  
  142. ifneq ($(TARGET),clean)
  143. NODEPS:=yes
  144. endif
  145. ifneq ($(TARGET),setup)
  146. NODEPS:=yes
  147. endif
  148.  
  149. ifndef NODEPS
  150. include $(foreach f,$(FILES),$(OBJDIR)/$(f).d)
  151. endif
  152.