diff options
Diffstat (limited to 'klibc/klibc/arch/alpha/Makefile.inc')
-rw-r--r-- | klibc/klibc/arch/alpha/Makefile.inc | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/klibc/klibc/arch/alpha/Makefile.inc b/klibc/klibc/arch/alpha/Makefile.inc new file mode 100644 index 0000000000..2a1100f962 --- /dev/null +++ b/klibc/klibc/arch/alpha/Makefile.inc @@ -0,0 +1,93 @@ +# -*- makefile -*- +# +# arch/alpha/Makefile.inc +# +# Special rules for this architecture. Note that this is actually +# included from the main Makefile, and that pathnames should be +# accordingly. +# + +# Special CFLAGS for the divide code +DIVCFLAGS = $(REQFLAGS) \ + -O3 -fomit-frame-pointer -fcall-saved-1 -fcall-saved-2 \ + -fcall-saved-3 -fcall-saved-4 -fcall-saved-5 -fcall-saved-6 \ + -fcall-saved-7 -fcall-saved-8 -fcall-saved-15 -fcall-saved-16 \ + -fcall-saved-17 -fcall-saved-18 -fcall-saved-19 -fcall-saved-20 \ + -fcall-saved-21 -fcall-saved-22 -ffixed-23 -fcall-saved-24 \ + -ffixed-25 -ffixed-27 + +ARCHOBJS = \ + arch/$(ARCH)/__divqu.o \ + arch/$(ARCH)/__remqu.o \ + arch/$(ARCH)/__divq.o \ + arch/$(ARCH)/__remq.o \ + arch/$(ARCH)/__divlu.o \ + arch/$(ARCH)/__remlu.o \ + arch/$(ARCH)/__divl.o \ + arch/$(ARCH)/__reml.o \ + arch/$(ARCH)/pipe.o \ + arch/$(ARCH)/setjmp.o + +ARCHSOOBJS = $(patsubst %.o,%.lo,$(ARCHOBJS)) + +arch/$(ARCH)/%.s: arch/$(ARCH)/%.ss + sed -e 's/\$$0\b/$$27/g' -e 's/\$$24\b/$$99/g' \ + -e 's/\$$16\b/$$24/g' -e 's/\$$17\b/$$25/g' \ + -e 's/\$$26\b/$$23/g' -e 's/\$$99\b/$$16/g' < $< > $@ + +arch/$(ARCH)/%.ls: arch/$(ARCH)/%.lss + sed -e 's/\$$0\b/$$27/g' -e 's/\$$24\b/$$99/g' \ + -e 's/\$$16\b/$$24/g' -e 's/\$$17\b/$$25/g' \ + -e 's/\$$26\b/$$23/g' -e 's/\$$99\b/$$16/g' < $< > $@ + +arch/$(ARCH)/__divqu.ss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -DSIGNED=0 -DREM=0 -DBITS=64 -DNAME=__divqu -S -o $@ $< + +arch/$(ARCH)/__remqu.ss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -DSIGNED=0 -DREM=1 -DBITS=64 -DNAME=__remqu -S -o $@ $< + +arch/$(ARCH)/__divq.ss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -DSIGNED=1 -DREM=0 -DBITS=64 -DNAME=__divq -S -o $@ $< + +arch/$(ARCH)/__remq.ss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -DSIGNED=1 -DREM=1 -DBITS=64 -DNAME=__remq -S -o $@ $< + +arch/$(ARCH)/__divlu.ss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -DSIGNED=0 -DREM=0 -DBITS=32 -DNAME=__divlu -S -o $@ $< + +arch/$(ARCH)/__remlu.ss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -DSIGNED=0 -DREM=1 -DBITS=32 -DNAME=__remlu -S -o $@ $< + +arch/$(ARCH)/__divl.ss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -DSIGNED=1 -DREM=0 -DBITS=32 -DNAME=__divl -S -o $@ $< + +arch/$(ARCH)/__reml.ss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -DSIGNED=1 -DREM=1 -DBITS=32 -DNAME=__reml -S -o $@ $< + +arch/$(ARCH)/__divqu.lss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=0 -DREM=0 -DBITS=64 -DNAME=__divqu -S -o $@ $< + +arch/$(ARCH)/__remqu.lss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=0 -DREM=1 -DBITS=64 -DNAME=__remqu -S -o $@ $< + +arch/$(ARCH)/__divq.lss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=1 -DREM=0 -DBITS=64 -DNAME=__divq -S -o $@ $< + +arch/$(ARCH)/__remq.lss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=1 -DREM=1 -DBITS=64 -DNAME=__remq -S -o $@ $< + +arch/$(ARCH)/__divlu.lss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=0 -DREM=0 -DBITS=32 -DNAME=__divlu -S -o $@ $< + +arch/$(ARCH)/__remlu.lss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=0 -DREM=1 -DBITS=32 -DNAME=__remlu -S -o $@ $< + +arch/$(ARCH)/__divl.lss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=1 -DREM=0 -DBITS=32 -DNAME=__divl -S -o $@ $< + +arch/$(ARCH)/__reml.lss: arch/$(ARCH)/divide.c + $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=1 -DREM=1 -DBITS=32 -DNAME=__reml -S -o $@ $< + +archclean: + rm -f arch/$(ARCH)/*.ss arch/$(ARCH)/*.lss + |