home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / gnu / libsrc87 / cmakefil.16 < prev    next >
Encoding:
Text File  |  1993-07-30  |  4.3 KB  |  165 lines

  1. #
  2. #
  3. #
  4. # Makefile for the new GCC TOS library using cross compiler (16 bit lib)
  5. #
  6.  
  7. CROSSDIR = /dsrg/bammi/cross-gcc
  8. CROSSLIB = $(CROSSDIR)/lib
  9. CROSSBIN = $(CROSSDIR)/bin
  10.  
  11. AR    = $(CROSSBIN)/car
  12. CC    = $(CROSSBIN)/cgcc
  13. CPP    = /lib/cpp
  14. AS     = $(CC)
  15.  
  16. COPTS    = -O -fomit-frame-pointer -fcombine-regs -fstrength-reduce -DNDEBUG
  17. CFLAGS    = $(COPTS) -mshort $(XFLAGS)
  18. CLFLAGS = $(COPTS) -DSHORTLIB $(XFLAGS)
  19. ASFLAGS = -c
  20. PPFLAGS = -P -D__MSHORT__ -DNDEBUG
  21.  
  22. #
  23. # GCC specific stuff
  24. GLIB1 = _addsubdf3.o _addsubsf3.o _cmpdf2.o _cmpsf2.o _divdf3.o _divmodsi3.o \
  25.     _divsf3.o _extendsfdf2.o _fixdfsi.o _fixunsdfsi.o _floatsidf.o \
  26.     _muldf3.o _mulsf3.o _mulsi3.o _negdf2.o _negsf2.o _normdf.o _normsf.o \
  27.     _truncdfsf2.o _udivmodsi3.o _umulsi3.o
  28.  
  29. GLIB2 = _adddi3.o _subdi3.o _muldi3.o _divdi3.o _moddi3.o _udivdi3.o \
  30.         _umoddi3.o _negdi2.o _anddi3.o _iordi3.o _xordi3.o _lshrdi3.o \
  31.         _lshldi3.o _ashldi3.o _ashrdi3.o _one_cmpldi2.o _bdiv.o _cmpdi2.o \
  32.         _ucmpdi2.o _fixunsdfdi.o _fixdfdi.o _floatdidf.o
  33.  
  34. GCC=     $(GLIB1) $(GLIB2) \
  35.     ldexp.o frexp.o modf.o alloca.o setjmp.o osbind.o\
  36.     linea.o  alglobal.o sysvar.o gmon.o 
  37.  
  38. #
  39. # ANSI stuff + support
  40. ANSI =  atol.o atof.o abort.o bsearch.o clock.o ctime.o ctype.o difftime.o \
  41.     fopen.o fclose.o fdopen.o fflush.o fgetc.o fgets.o \
  42.     fputc.o fputs.o fread.o fwrite.o fseek.o fsetpos.o \
  43.     fprintf.o sprintf.o \
  44.     fscanf.o scanf.o sscanf.o \
  45.     getenv.o gets.o getw.o localtime.o \
  46.     malloc.o qsort.o raise.o rand.o setbuf.o setvbuf.o \
  47.     setlocale.o strftime.o strtol.o system.o \
  48.     tmpnam.o tmpfile.o \
  49.     ltoa.o main.o doprnt.o div.o \
  50.     strtoul.o fungetc.o filbuf.o getbuf.o
  51.  
  52. #
  53. # other portable stuff
  54. PORT =  abs.o catch.o dirent.o findfile.o getpw.o getlogin.o getopt.o \
  55.     mktemp.o strlwr.o strrev.o textio.o ftw.o random.o
  56.  
  57. #
  58. # the string library
  59.  
  60. STRING = strcat.o strchr.o strcmp.o strcpy.o strcspn.o strdup.o \
  61.     strlen.o strncat.o strncmp.o strncpy.o strpbrk.o strrchr.o strspn.o \
  62.     strtok.o strstr.o memcpy.o memccpy.o memcmp.o memchr.o memset.o \
  63.     bcopy.o bcmp.o bzero.o strerror.o
  64. #
  65. # stuff to fake unix system calls
  66.  
  67. UNIX=   access.o chdir.o chmod.o close.o console.o dup.o exec.o fhandle.o \
  68.     fork.o getcwd.o getpid.o getuid.o grp.o ioctl.o isatty.o lseek.o \
  69.     mkdir.o open.o perror.o popen.o psignal.o \
  70.     read.o rename.o rmdir.o \
  71.     sbrk.o sgtty.o signal.o sleep.o spawnve.o spawnvp.o stat.o \
  72.     symdir.o symlink.o tchars.o time.o times.o \
  73.     unlink.o unx2dos.o utime.o vfork.o write.o
  74.  
  75. #
  76. # stuff for integer only scan/printf
  77.  
  78. IIOBJ = idoprnt.o iscanf.o fprintf.o sprintf.o fscanf.o sscanf.o scanf.o
  79.  
  80. ALL = gnu16.olb iio16.olb crt0.o gcrt0.o
  81.  
  82. all: $(ALL)
  83.     cp $(ALL) $(CROSSLIB)
  84.  
  85. gnu16.olb: $(GCC) $(UNIX) $(STRING) $(ANSI) $(PORT)
  86.     rm -f gnu16.olb
  87.     $(AR) rs gnu16.olb $(GCC) $(UNIX) $(STRING) $(ANSI) $(PORT)
  88.  
  89. iio16.olb: $(IIOBJ)
  90.     rm -f iio16.olb
  91.     $(AR) rs iio16.olb $(IIOBJ)
  92.  
  93. #
  94. # setjmp.s, div.s, _normdf.s must be pre-processed
  95.  
  96. setjmp.o : setjmp.s
  97. setjmp.s : setjmp.cpp
  98.     $(CPP) $(PPFLAGS) setjmp.cpp setjmp.s
  99.  
  100. div.o : div.s
  101. div.s : div.cpp
  102.     $(CPP) $(PPFLAGS) div.cpp div.s
  103.  
  104. _normdf.o : _normdf.s
  105. _normdf.s : _normdf.cpp
  106.     $(CPP) $(PPFLAGS) _normdf.cpp _normdf.s
  107. ldexp.o : ldexp.s
  108. ldexp.s : ldexp.cpp
  109.     $(CPP) $(PPFLAGS) ldexp.cpp ldexp.s
  110. frexp.o : frexp.s
  111. frexp.s : frexp.cpp
  112.     $(CPP) $(PPFLAGS) frexp.cpp frexp.s
  113. #
  114. # osbind.o/gmon.o  requires a frame pointer
  115. osbind.o: osbind.c
  116.     $(CC) -O -mshort -c osbind.c
  117. gmon.o: gmon.c
  118.     $(CC) -c -O -mshort gmon.c
  119.  
  120. #
  121. # integer only io stuff
  122. idoprnt.o: doprnt.c
  123.     $(CC) $(CFLAGS) -D__NO_FLOAT__ -c doprnt.c -o idoprnt.o
  124.  
  125. iscanf.o: scanf.c
  126.     $(CC) $(CFLAGS) -D__NO_FLOAT__ -c scanf.c -o iscanf.o
  127.  
  128. #
  129. # gnulib2 stuff (must be compiled with 32 bit ints)
  130. LIB2FUNCS = _adddi3 _subdi3 _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \
  131.     _anddi3 _iordi3 _xordi3 _lshrdi3 _lshldi3 _ashldi3 _ashrdi3 _one_cmpldi2  \
  132.     _bdiv _cmpdi2 _ucmpdi2 _fixunsdfdi _fixdfdi _floatdidf
  133.  
  134. $(GLIB2) : _gl2done
  135. _gl2done : gnulib2.c
  136.     for name in $(LIB2FUNCS); \
  137.     do \
  138.       echo $${name}; \
  139.       $(CC) $(CLFLAGS) -c -DL$${name} gnulib2.c -o $${name}.o; \
  140.     done
  141.     touch _gl2done
  142.  
  143. gcrt0.o: crt0.c
  144.     $(CC) $(CFLAGS) -D__GCRT0__ -c crt0.c -o gcrt0.o
  145.  
  146. #
  147. # other dependencies
  148. bcopy.o : bcopy.s
  149. modf.o  : modf.s
  150. atof.o : flonum.h
  151.  
  152. clean:
  153.     rm -f $(GCC)
  154.     rm -f $(UNIX)
  155.     rm -f $(STRING)
  156.     rm -f $(ANSI)
  157.     rm -f $(PORT)
  158.     rm -f $(IIOBJ)
  159.     rm -f setjmp.s div.s _normdf.s ldexp.s frexp.s
  160.     rm -f _gl2done
  161.     rm -f crt0.o
  162.  
  163. realclean: clean
  164.     rm -f $(ALL) gnugdb16.olb
  165.