chiark / gitweb /
[PATCH] klibc v0.199
[elogind.git] / klibc / klibc / arch / alpha / Makefile.inc
1 # -*- makefile -*-
2 #
3 # arch/alpha/Makefile.inc
4 #
5 # Special rules for this architecture.  Note that this is actually
6 # included from the main Makefile, and that pathnames should be
7 # accordingly.
8 #
9
10 # Special CFLAGS for the divide code
11 DIVCFLAGS = $(REQFLAGS) \
12         -O3 -fomit-frame-pointer -fcall-saved-1 -fcall-saved-2 \
13         -fcall-saved-3 -fcall-saved-4 -fcall-saved-5 -fcall-saved-6 \
14         -fcall-saved-7 -fcall-saved-8 -ffixed-15 -fcall-saved-16 \
15         -fcall-saved-17 -fcall-saved-18 -fcall-saved-19 -fcall-saved-20 \
16         -fcall-saved-21 -fcall-saved-22 -ffixed-23 -fcall-saved-24 \
17         -ffixed-25 -ffixed-27
18
19 ARCHOBJS = \
20         arch/$(ARCH)/__divqu.o \
21         arch/$(ARCH)/__remqu.o \
22         arch/$(ARCH)/__divq.o \
23         arch/$(ARCH)/__remq.o \
24         arch/$(ARCH)/__divlu.o \
25         arch/$(ARCH)/__remlu.o \
26         arch/$(ARCH)/__divl.o \
27         arch/$(ARCH)/__reml.o \
28         arch/$(ARCH)/pipe.o \
29         arch/$(ARCH)/setjmp.o \
30         arch/$(ARCH)/syscall.o \
31         arch/$(ARCH)/sysdual.o
32
33 ARCHSOOBJS = $(patsubst %.o,%.lo,$(ARCHOBJS))
34
35 arch/$(ARCH)/%.s: arch/$(ARCH)/%.ss
36         sed -e 's/\$$0\b/$$27/g' -e 's/\$$24\b/$$99/g' \
37             -e 's/\$$16\b/$$24/g' -e 's/\$$17\b/$$25/g' \
38             -e 's/\$$26\b/$$23/g' -e 's/\$$99\b/$$16/g' < $< > $@
39
40 arch/$(ARCH)/%.ls: arch/$(ARCH)/%.lss
41         sed -e 's/\$$0\b/$$27/g' -e 's/\$$24\b/$$99/g' \
42             -e 's/\$$16\b/$$24/g' -e 's/\$$17\b/$$25/g' \
43             -e 's/\$$26\b/$$23/g' -e 's/\$$99\b/$$16/g' < $< > $@
44
45 arch/$(ARCH)/__divqu.ss: arch/$(ARCH)/divide.c
46         $(CC) $(DIVCFLAGS) -DSIGNED=0 -DREM=0 -DBITS=64 -DNAME=__divqu -S -o $@ $<
47
48 arch/$(ARCH)/__remqu.ss: arch/$(ARCH)/divide.c
49         $(CC) $(DIVCFLAGS) -DSIGNED=0 -DREM=1 -DBITS=64 -DNAME=__remqu -S -o $@ $<
50
51 arch/$(ARCH)/__divq.ss: arch/$(ARCH)/divide.c
52         $(CC) $(DIVCFLAGS) -DSIGNED=1 -DREM=0 -DBITS=64 -DNAME=__divq -S -o $@ $<
53
54 arch/$(ARCH)/__remq.ss: arch/$(ARCH)/divide.c
55         $(CC) $(DIVCFLAGS) -DSIGNED=1 -DREM=1 -DBITS=64 -DNAME=__remq -S -o $@ $<
56
57 arch/$(ARCH)/__divlu.ss: arch/$(ARCH)/divide.c
58         $(CC) $(DIVCFLAGS) -DSIGNED=0 -DREM=0 -DBITS=32 -DNAME=__divlu -S -o $@ $<
59
60 arch/$(ARCH)/__remlu.ss: arch/$(ARCH)/divide.c
61         $(CC) $(DIVCFLAGS) -DSIGNED=0 -DREM=1 -DBITS=32 -DNAME=__remlu -S -o $@ $<
62
63 arch/$(ARCH)/__divl.ss: arch/$(ARCH)/divide.c
64         $(CC) $(DIVCFLAGS) -DSIGNED=1 -DREM=0 -DBITS=32 -DNAME=__divl -S -o $@ $<
65
66 arch/$(ARCH)/__reml.ss: arch/$(ARCH)/divide.c
67         $(CC) $(DIVCFLAGS) -DSIGNED=1 -DREM=1 -DBITS=32 -DNAME=__reml -S -o $@ $<
68
69 arch/$(ARCH)/__divqu.lss: arch/$(ARCH)/divide.c
70         $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=0 -DREM=0 -DBITS=64 -DNAME=__divqu -S -o $@ $<
71
72 arch/$(ARCH)/__remqu.lss: arch/$(ARCH)/divide.c
73         $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=0 -DREM=1 -DBITS=64 -DNAME=__remqu -S -o $@ $<
74
75 arch/$(ARCH)/__divq.lss: arch/$(ARCH)/divide.c
76         $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=1 -DREM=0 -DBITS=64 -DNAME=__divq -S -o $@ $<
77
78 arch/$(ARCH)/__remq.lss: arch/$(ARCH)/divide.c
79         $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=1 -DREM=1 -DBITS=64 -DNAME=__remq -S -o $@ $<
80
81 arch/$(ARCH)/__divlu.lss: arch/$(ARCH)/divide.c
82         $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=0 -DREM=0 -DBITS=32 -DNAME=__divlu -S -o $@ $<
83
84 arch/$(ARCH)/__remlu.lss: arch/$(ARCH)/divide.c
85         $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=0 -DREM=1 -DBITS=32 -DNAME=__remlu -S -o $@ $<
86
87 arch/$(ARCH)/__divl.lss: arch/$(ARCH)/divide.c
88         $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=1 -DREM=0 -DBITS=32 -DNAME=__divl -S -o $@ $<
89
90 arch/$(ARCH)/__reml.lss: arch/$(ARCH)/divide.c
91         $(CC) $(DIVCFLAGS) -fPIC -DSIGNED=1 -DREM=1 -DBITS=32 -DNAME=__reml -S -o $@ $<
92
93 archclean:
94         rm -f arch/$(ARCH)/*.ss arch/$(ARCH)/*.lss
95