-TARGET_ARCH ?= none # catch bugs
-CFLAGS = -O2 -std=gnu99 -static -fomit-frame-pointer -g
+ARCH ?= none # catch bugs
+CFLAGS_USER += -static -fomit-frame-pointer -g
LIBNAME = benchutil
-V ?= @
-
-GCCPREFIX := $(TARGET_ARCH)-ros-
-CC := $(GCCPREFIX)gcc
-GCC_ROOT := $(shell which $(CC) | xargs dirname)/../
SRCDIR :=
OBJDIR := $(SRCDIR)obj
LIBUCNAME := $(call uc, $(LIBNAME))
HEADERS := $(shell find $(INCDIR) -name *.h)
CFILES := $(wildcard $(SRCDIR)*.c)
-CFILES += $(wildcard $(SRCDIR)$(TARGET_ARCH)/*.c)
-SFILES := $(wildcard $(SRCDIR)$(TARGET_ARCH)/*.S)
+CFILES += $(wildcard $(SRCDIR)$(ARCH)/*.c)
+SFILES := $(wildcard $(SRCDIR)$(ARCH)/*.S)
OBJS := $(patsubst %.c, $(OBJDIR)/%.o, $(CFILES)) \
$(patsubst %.S, $(OBJDIR)/%.o, $(SFILES))
all: $(FINALLIB)
+ @:
-$(OBJDIR)/$(TARGET_ARCH)/%.o: $(SRCDIR)$(TARGET_ARCH)/%.S $(HEADERS)
+$(OBJDIR)/$(ARCH)/%.o: $(SRCDIR)$(ARCH)/%.S $(HEADERS)
@echo + as [$(LIBUCNAME)] $<
@mkdir -p $(@D)
- $(V)$(CC) $(CFLAGS) $(INCS) -o $@ -c $<
+ $(Q)$(CC) $(CFLAGS_USER) $(INCS) -o $@ -c $<
$(OBJDIR)/%.o: $(SRCDIR)%.c $(HEADERS)
@echo + cc [$(LIBUCNAME)] $<
@mkdir -p $(@D)
- $(V)$(CC) $(CFLAGS) $(INCS) -o $@ -c $<
+ $(Q)$(CC) $(CFLAGS_USER) $(INCS) -o $@ -c $<
$(FINALLIB): $(OBJS)
@echo + ar [$(LIBUCNAME)] $@
@mkdir -p $(@D)
- $(V)$(AR) rc $@ $(OBJS)
+ $(Q)$(AR) rc $@ $(OBJS)
install: $(FINALLIB)
- cp $(FINALLIB) $(GCC_ROOT)/$(TARGET_ARCH)-ros/lib/
- cp -R $(INCDIR)/* $(GCC_ROOT)/$(TARGET_ARCH)-ros/sys-include/
- rm -rf $(GCC_ROOT)/$(TARGET_ARCH)-ros/sys-include/benchutil
- ln -fs . $(GCC_ROOT)/$(TARGET_ARCH)-ros/sys-include/benchutil
+ @cp $(FINALLIB) $(XCC_TARGET_ROOT)/lib/
+ @cp -R $(INCDIR)/* $(XCC_TARGET_ROOT)/sys-include/
+ @rm -rf $(XCC_TARGET_ROOT)/sys-include/benchutil
+ @ln -fs . $(XCC_TARGET_ROOT)/sys-include/benchutil
clean:
@echo + clean [$(LIBUCNAME)]
- $(V)rm -rf $(FINALLIB)
- $(V)rm -rf $(OBJDIR)
+ $(Q)rm -rf $(FINALLIB)
+ $(Q)rm -rf $(OBJDIR)