1 ARCH ?= none # catch bugs
2 CFLAGS_USER += -static -fomit-frame-pointer -g
7 INCDIR = $(SRCDIR)include
10 FINALLIB = $(OBJDIR)/lib$(LIBNAME).a
12 uc = $(shell echo $(1) | tr a-z A-Z)
14 LIBUCNAME := $(call uc, $(LIBNAME))
15 HEADERS := $(shell find $(INCDIR) -name *.h)
16 CFILES := $(wildcard $(SRCDIR)*.c)
17 CFILES += $(wildcard $(SRCDIR)$(ARCH)/*.c)
18 SFILES := $(wildcard $(SRCDIR)$(ARCH)/*.S)
19 OBJS := $(patsubst %.c, $(OBJDIR)/%.o, $(CFILES)) \
20 $(patsubst %.S, $(OBJDIR)/%.o, $(SFILES))
25 $(OBJDIR)/$(ARCH)/%.o: $(SRCDIR)$(ARCH)/%.S $(HEADERS)
26 @echo + as [$(LIBUCNAME)] $<
28 $(Q)$(CC) $(CFLAGS_USER) $(INCS) -o $@ -c $<
30 $(OBJDIR)/%.o: $(SRCDIR)%.c $(HEADERS)
31 @echo + cc [$(LIBUCNAME)] $<
33 $(Q)$(CC) $(CFLAGS_USER) $(INCS) -o $@ -c $<
36 @echo + ar [$(LIBUCNAME)] $@
38 $(Q)$(AR) rc $@ $(OBJS)
41 @cp $(FINALLIB) $(XCC_ROOT)/$(ARCH)-ros/lib/
42 @cp -R $(INCDIR)/* $(XCC_ROOT)/$(ARCH)-ros/sys-include/
43 @rm -rf $(XCC_ROOT)/$(ARCH)-ros/sys-include/benchutil
44 @ln -fs . $(XCC_ROOT)/$(ARCH)-ros/sys-include/benchutil
47 @echo + clean [$(LIBUCNAME)]
48 $(Q)rm -rf $(FINALLIB)