blob: ecd854640c79896ce4eb3601c13e99c3bdcc3e00 [file] [log] [blame] [edit]
ARCH ?= none # catch bugs
CFLAGS_USER += -static -fomit-frame-pointer -g
LIBNAME = nixip
SRCDIR :=
OBJDIR := $(SRCDIR)obj
INCDIR = $(SRCDIR)include
INCS = -I. -I$(INCDIR)
FINALLIB = $(OBJDIR)/lib$(LIBNAME).a
uc = $(shell echo $(1) | tr a-z A-Z)
LIBUCNAME := $(call uc, $(LIBNAME))
HEADERS := $(shell find $(INCDIR) -name *.h)
CFILES := $(wildcard $(SRCDIR)*.c)
CFILES += $(wildcard $(SRCDIR)$(ARCH)/*.c)
SFILES := $(wildcard $(SRCDIR)$(ARCH)/*.S)
OBJS := $(patsubst %.c, $(OBJDIR)/%.o, $(CFILES)) \
$(patsubst %.S, $(OBJDIR)/%.o, $(SFILES))
all: $(FINALLIB)
@:
$(OBJDIR)/$(ARCH)/%.o: $(SRCDIR)$(ARCH)/%.S $(HEADERS)
@echo + as [$(LIBUCNAME)] $<
@mkdir -p $(@D)
$(Q)$(CC) $(CFLAGS_USER) $(INCS) -o $@ -c $<
$(OBJDIR)/%.o: $(SRCDIR)%.c $(HEADERS)
@echo + cc [$(LIBUCNAME)] $<
@mkdir -p $(@D)
$(Q)$(CC) $(CFLAGS_USER) $(INCS) -o $@ -c $<
$(FINALLIB): $(OBJS)
@echo + ar [$(LIBUCNAME)] $@
@mkdir -p $(@D)
$(Q)$(AR) rc $@ $(OBJS)
install: $(FINALLIB)
@cp $(FINALLIB) $(XCC_TARGET_ROOT)/lib/
@cp -R $(INCDIR)/* $(XCC_TARGET_ROOT)/sys-include/
@rm -rf $(XCC_TARGET_ROOT)/sys-include/nixip
@ln -fs . $(XCC_TARGET_ROOT)/sys-include/nixip
clean:
@echo + clean [$(LIBUCNAME)]
$(Q)rm -rf $(FINALLIB)
$(Q)rm -rf $(OBJDIR)