home *** CD-ROM | disk | FTP | other *** search
- #
- #
- #
- # Makefile for the new GCC TOS library using cross compiler (16 bit lib)
- #
-
- CROSSDIR = /dsrg/bammi/cross-gcc
- CROSSLIB = $(CROSSDIR)/lib
- CROSSBIN = $(CROSSDIR)/bin
-
- AR = $(CROSSBIN)/car
- CC = $(CROSSBIN)/cgcc
- CPP = /lib/cpp
- AS = $(CC)
-
- COPTS = -O -fomit-frame-pointer -fcombine-regs -fstrength-reduce -DNDEBUG
- CFLAGS = $(COPTS) -mshort $(XFLAGS)
- CLFLAGS = $(COPTS) -DSHORTLIB $(XFLAGS)
- ASFLAGS = -c
- PPFLAGS = -P -D__MSHORT__ -DNDEBUG
-
- #
- # GCC specific stuff
- GLIB1 = _addsubdf3.o _addsubsf3.o _cmpdf2.o _cmpsf2.o _divdf3.o _divmodsi3.o \
- _divsf3.o _extendsfdf2.o _fixdfsi.o _fixunsdfsi.o _floatsidf.o \
- _muldf3.o _mulsf3.o _mulsi3.o _negdf2.o _negsf2.o _normdf.o _normsf.o \
- _truncdfsf2.o _udivmodsi3.o _umulsi3.o
-
- GLIB2 = _adddi3.o _subdi3.o _muldi3.o _divdi3.o _moddi3.o _udivdi3.o \
- _umoddi3.o _negdi2.o _anddi3.o _iordi3.o _xordi3.o _lshrdi3.o \
- _lshldi3.o _ashldi3.o _ashrdi3.o _one_cmpldi2.o _bdiv.o _cmpdi2.o \
- _ucmpdi2.o _fixunsdfdi.o _fixdfdi.o _floatdidf.o
-
- GCC= $(GLIB1) $(GLIB2) \
- ldexp.o frexp.o modf.o alloca.o setjmp.o osbind.o\
- linea.o alglobal.o sysvar.o gmon.o
-
- #
- # ANSI stuff + support
- ANSI = atol.o atof.o abort.o bsearch.o clock.o ctime.o ctype.o difftime.o \
- fopen.o fclose.o fdopen.o fflush.o fgetc.o fgets.o \
- fputc.o fputs.o fread.o fwrite.o fseek.o fsetpos.o \
- fprintf.o sprintf.o \
- fscanf.o scanf.o sscanf.o \
- getenv.o gets.o getw.o localtime.o \
- malloc.o qsort.o raise.o rand.o setbuf.o setvbuf.o \
- setlocale.o strftime.o strtol.o system.o \
- tmpnam.o tmpfile.o \
- ltoa.o main.o doprnt.o div.o \
- strtoul.o fungetc.o filbuf.o getbuf.o
-
- #
- # other portable stuff
- PORT = abs.o catch.o dirent.o findfile.o getpw.o getlogin.o getopt.o \
- mktemp.o strlwr.o strrev.o textio.o ftw.o random.o
-
- #
- # the string library
-
- STRING = strcat.o strchr.o strcmp.o strcpy.o strcspn.o strdup.o \
- strlen.o strncat.o strncmp.o strncpy.o strpbrk.o strrchr.o strspn.o \
- strtok.o strstr.o memcpy.o memccpy.o memcmp.o memchr.o memset.o \
- bcopy.o bcmp.o bzero.o strerror.o
- #
- # stuff to fake unix system calls
-
- UNIX= access.o chdir.o chmod.o close.o console.o dup.o exec.o fhandle.o \
- fork.o getcwd.o getpid.o getuid.o grp.o ioctl.o isatty.o lseek.o \
- mkdir.o open.o perror.o popen.o psignal.o \
- read.o rename.o rmdir.o \
- sbrk.o sgtty.o signal.o sleep.o spawnve.o spawnvp.o stat.o \
- symdir.o symlink.o tchars.o time.o times.o \
- unlink.o unx2dos.o utime.o vfork.o write.o
-
- #
- # stuff for integer only scan/printf
-
- IIOBJ = idoprnt.o iscanf.o fprintf.o sprintf.o fscanf.o sscanf.o scanf.o
-
- ALL = gnu16.olb iio16.olb crt0.o gcrt0.o
-
- all: $(ALL)
- cp $(ALL) $(CROSSLIB)
-
- gnu16.olb: $(GCC) $(UNIX) $(STRING) $(ANSI) $(PORT)
- rm -f gnu16.olb
- $(AR) rs gnu16.olb $(GCC) $(UNIX) $(STRING) $(ANSI) $(PORT)
-
- iio16.olb: $(IIOBJ)
- rm -f iio16.olb
- $(AR) rs iio16.olb $(IIOBJ)
-
- #
- # setjmp.s, div.s, _normdf.s must be pre-processed
-
- setjmp.o : setjmp.s
- setjmp.s : setjmp.cpp
- $(CPP) $(PPFLAGS) setjmp.cpp setjmp.s
-
- div.o : div.s
- div.s : div.cpp
- $(CPP) $(PPFLAGS) div.cpp div.s
-
- _normdf.o : _normdf.s
- _normdf.s : _normdf.cpp
- $(CPP) $(PPFLAGS) _normdf.cpp _normdf.s
- ldexp.o : ldexp.s
- ldexp.s : ldexp.cpp
- $(CPP) $(PPFLAGS) ldexp.cpp ldexp.s
- frexp.o : frexp.s
- frexp.s : frexp.cpp
- $(CPP) $(PPFLAGS) frexp.cpp frexp.s
- #
- # osbind.o/gmon.o requires a frame pointer
- osbind.o: osbind.c
- $(CC) -O -mshort -c osbind.c
- gmon.o: gmon.c
- $(CC) -c -O -mshort gmon.c
-
- #
- # integer only io stuff
- idoprnt.o: doprnt.c
- $(CC) $(CFLAGS) -D__NO_FLOAT__ -c doprnt.c -o idoprnt.o
-
- iscanf.o: scanf.c
- $(CC) $(CFLAGS) -D__NO_FLOAT__ -c scanf.c -o iscanf.o
-
- #
- # gnulib2 stuff (must be compiled with 32 bit ints)
- LIB2FUNCS = _adddi3 _subdi3 _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \
- _anddi3 _iordi3 _xordi3 _lshrdi3 _lshldi3 _ashldi3 _ashrdi3 _one_cmpldi2 \
- _bdiv _cmpdi2 _ucmpdi2 _fixunsdfdi _fixdfdi _floatdidf
-
- $(GLIB2) : _gl2done
- _gl2done : gnulib2.c
- for name in $(LIB2FUNCS); \
- do \
- echo $${name}; \
- $(CC) $(CLFLAGS) -c -DL$${name} gnulib2.c -o $${name}.o; \
- done
- touch _gl2done
-
- gcrt0.o: crt0.c
- $(CC) $(CFLAGS) -D__GCRT0__ -c crt0.c -o gcrt0.o
-
- #
- # other dependencies
- bcopy.o : bcopy.s
- modf.o : modf.s
- atof.o : flonum.h
-
- clean:
- rm -f $(GCC)
- rm -f $(UNIX)
- rm -f $(STRING)
- rm -f $(ANSI)
- rm -f $(PORT)
- rm -f $(IIOBJ)
- rm -f setjmp.s div.s _normdf.s ldexp.s frexp.s
- rm -f _gl2done
- rm -f crt0.o
-
- realclean: clean
- rm -f $(ALL) gnugdb16.olb
-