diff options
| author | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
|---|---|---|
| committer | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
| commit | 268a53de823a6750d6256ee1fb1e7707b4b45740 (patch) | |
| tree | 42c1799a9a82b2f7d9790ee9fe181d72a7274751 /device/lib/pdk13/Makefile | |
| download | sdcc-gas-268a53de823a6750d6256ee1fb1e7707b4b45740.tar.gz | |
sdcc-3.9.0 fork implementing GNU assembler syntax
This fork aims to provide better support for stm8-binutils
Diffstat (limited to 'device/lib/pdk13/Makefile')
| -rw-r--r-- | device/lib/pdk13/Makefile | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/device/lib/pdk13/Makefile b/device/lib/pdk13/Makefile new file mode 100644 index 0000000..922159c --- /dev/null +++ b/device/lib/pdk13/Makefile @@ -0,0 +1,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 + |
