# libc/pdk13 Makefile VPATH = @srcdir@ srcdir = @srcdir@ top_builddir = @top_builddir@ LIB_TYPE = @LIB_TYPE@ 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