blob: 922159c7fe0e5948dd735bf8b762b0aec6d5fc90 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
# libc/pdk13 Makefile
srcdir = .
top_builddir = ../../..
LIB_TYPE = RANLIB
SCC = $(top_builddir)/bin/sdcc -mpdk13
SAS = $(top_builddir)/bin/sdaspdk13
# override PORTDIR defined by super (parent) makefile
override PORTDIR = ../build/pdk13
include $(srcdir)/../incl.mk
PDK13_FLOAT = $(COMMON_FLOAT)
PDK13_INT = $(COMMON_INT) \
_muluchar.c \
_mulschar.c \
_mulint.c \
_divuchar.c \
_divschar.c \
_divuint.c \
_divsint.c \
_moduchar.c \
_modschar.c \
_moduint.c \
_modsint.c
PDK13_LONG = $(COMMON_LONG) \
_divulong.c \
_mullong.c
PDK13_LONGLONG = $(COMMON_LONGLONG) \
_rrulonglong.c \
_rrslonglong.c \
_rlulonglong.c \
_rlslonglong.c \
_mullonglong.c \
_divslonglong.c \
_divulonglong.c \
_modslonglong.c \
_modulonglong.c
PDK13_SDCC = $(COMMON_SDCC) \
_itoa.c \
_startup.c \
_strcmp.c \
_strcpy.c \
_strlen.c \
_memmove.c \
__memcpy.c \
memcpy.c \
sprintf.c \
vprintf.c
PDK13SOURCES = $(addprefix ../,$(PDK13_FLOAT) $(PDK13_INT) $(PDK13_LONG) $(PDK13_LONGLONG) $(PDK13_SDCC))
PDK13OBJECTS = $(patsubst %.c,%.rel,$(PDK13_FLOAT) $(PDK13_INT) $(PDK13_LONG) $(PDK13_LONGLONG) $(PDK13_SDCC))
OBJ = __gptrget.rel heap.rel
LIB = pdk13.lib
CC = $(SCC)
AS = $(SAS)
ASFLAGS = -plosgff
CFLAGS = -I$(srcdir)/../../include -I. --std-c11
all: $(PORTDIR)/$(LIB)
$(PORTDIR)/$(LIB): $(OBJ) $(PDK13OBJECTS) Makefile
ifeq ($(LIB_TYPE), SDCCLIB)
rm -f $@; \
$(top_builddir)/bin/sdcclib -a $@ $(OBJ) $(PDK13OBJECTS)
else
ifeq ($(LIB_TYPE), AR)
$(top_builddir)/bin/sdar -rcSD $@ $(OBJ) $(PDK13OBJECTS)
else
ifeq ($(LIB_TYPE), RANLIB)
$(top_builddir)/bin/sdar -rcD $@ $(OBJ) $(PDK13OBJECTS)
else
rm -f $@
for i in $(basename $(OBJ) $(PDK13OBJECTS)); do echo $$i >>$@; done
cp $(OBJ) $(PDK13OBJECTS) $(PORTDIR)
endif
endif
endif
%.rel: %.c
$(CC) $(CFLAGS) -c $<
%.rel: %.s
@# TODO: sdas should place it\'s output in the current dir
test $(srcdir) = . || cp $< .
-$(AS) $(ASFLAGS) $(notdir $<)
test $(srcdir) = . || rm $(notdir $<)
%.rel: ../%.c
$(CC) $(CFLAGS) -c $<
clean:
rm -f *.rel *.sym *.lst *~ $(CLEANSPEC) *.dump* *.asm *.lib
distclean: clean
rm -f Makefile
|