| include ../../scripts/Makefile.include | |
| include ../../perf/config/utilities.mak # QUIET_CLEAN | |
| CC = $(CROSS_COMPILE)gcc | |
| AR = $(CROSS_COMPILE)ar | |
| # guard against environment variables | |
| LIB_H= | |
| LIB_OBJS= | |
| LIB_H += fs/debugfs.h | |
| LIB_H += fs/fs.h | |
| # See comment below about piggybacking... | |
| LIB_H += fd/array.h | |
| LIB_OBJS += $(OUTPUT)fs/debugfs.o | |
| LIB_OBJS += $(OUTPUT)fs/fs.o | |
| # XXX piggybacking here, need to introduce libapikfd, or rename this | |
| # to plain libapik.a and make it have it all api goodies | |
| LIB_OBJS += $(OUTPUT)fd/array.o | |
| LIBFILE = libapikfs.a | |
| CFLAGS = -ggdb3 -Wall -Wextra -std=gnu99 -Werror -O6 -D_FORTIFY_SOURCE=2 $(EXTRA_WARNINGS) $(EXTRA_CFLAGS) -fPIC | |
| EXTLIBS = -lelf -lpthread -lrt -lm | |
| ALL_CFLAGS = $(CFLAGS) $(BASIC_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 | |
| ALL_LDFLAGS = $(LDFLAGS) | |
| RM = rm -f | |
| $(LIBFILE): $(LIB_OBJS) | |
| $(QUIET_AR)$(RM) $@ && $(AR) rcs $(OUTPUT)$@ $(LIB_OBJS) | |
| $(LIB_OBJS): $(LIB_H) | |
| libapi_dirs: | |
| $(QUIET_MKDIR)mkdir -p $(OUTPUT)fd $(OUTPUT)fs | |
| $(OUTPUT)%.o: %.c libapi_dirs | |
| $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $< | |
| $(OUTPUT)%.s: %.c libapi_dirs | |
| $(QUIET_CC)$(CC) -S $(ALL_CFLAGS) $< | |
| $(OUTPUT)%.o: %.S libapi_dirs | |
| $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $< | |
| clean: | |
| $(call QUIET_CLEAN, libapi) $(RM) $(LIB_OBJS) $(LIBFILE) | |
| .PHONY: clean |