| ARCH ?= none # catch bugs |
| CFLAGS_USER += -g |
| CXXFLAGS_USER += -g |
| LIBNAME = utest |
| # DEPLIBS passed in from the top-level Makefile |
| DEPLIBS := $(DEPLIBS) |
| DEPLIBAS = $(patsubst %, $(XCC_TARGET_LIB)/lib%.a, $(DEPLIBS)) |
| |
| SRCDIR := |
| OBJDIR := $(SRCDIR)obj |
| INCDIR = $(SRCDIR)include |
| |
| LDLIBS := -lpthread -lbenchutil -lm -liplib -lndblib |
| |
| uc = $(shell echo $(1) | tr a-z A-Z) |
| |
| LIBUCNAME := $(call uc, $(LIBNAME)) |
| SCRIPTS := $(wildcard $(SRCDIR)*.sh) |
| SRCS_C := $(wildcard $(SRCDIR)*.c) |
| SRCS_CPP := $(wildcard $(SRCDIR)*.cc) |
| HEADERS := $(shell find $(INCDIR) -name "*.h") |
| |
| EXECS_C = $(patsubst $(SRCDIR)%.c, $(OBJDIR)/%, $(SRCS_C)) |
| EXECS_CPP = $(patsubst $(SRCDIR)%.cc, $(OBJDIR)/%, $(SRCS_CPP)) |
| EXECS = $(EXECS_C) $(EXECS_CPP) |
| |
| STATIC := $(findstring static,$(CFLAGS_USER)) |
| $(OBJDIR)/%: %.c $(HEADERS) $(DEPLIBAS) |
| @echo + cc [$(LIBUCNAME)] $< |
| @mkdir -p $(@D) |
| $(Q)$(CC) $(CFLAGS_USER) -I$(INCDIR) -o $@ $< $(LDLIBS) |
| @if [ "$(STATIC)" != "static" ]; then \ |
| $(OBJDUMP) -S $@ > $@.asm; \ |
| $(NM) -n $@ > $@.sym; \ |
| fi |
| |
| # Note that we don't disassemble CPPs by default, even if they aren't static. |
| # The files are pretty large regardless (9MB for a simple stream test asm). |
| $(OBJDIR)/%: %.cc $(HEADERS) $(DEPLIBAS) |
| @echo + cc [$(LIBUCNAME)] $< |
| @mkdir -p $(@D) |
| $(Q)$(CPP) $(CXXFLAGS_USER) -I$(INCDIR) -o $@ $< $(LDLIBS) |
| |
| all: $(EXECS) |
| |
| install: $(EXECS) $(SCRIPTS) |
| @mkdir -p $(AKAROS_ROOT)/$(FIRST_KFS_PATH)/bin/tests/utest |
| $(Q)cp -uP $^ $(AKAROS_ROOT)/$(FIRST_KFS_PATH)/bin/tests/utest |
| |
| uninstall: $(EXECS) |
| $(Q)rm -rf $(AKAROS_ROOT)/$(FIRST_KFS_PATH)/bin/tests/utest |
| |
| clean: |
| @echo + clean [$(LIBUCNAME)] |
| $(Q)rm -rf $(OBJDIR) |
| |
| .PHONY: $(PHONY) |