Makefile 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. include ../../scripts/Makefile.include
  2. include ../../perf/config/utilities.mak # QUIET_CLEAN
  3. CC = $(CROSS_COMPILE)gcc
  4. AR = $(CROSS_COMPILE)ar
  5. # guard against environment variables
  6. LIB_H=
  7. LIB_OBJS=
  8. LIB_H += fs/debugfs.h
  9. LIB_H += fs/fs.h
  10. # See comment below about piggybacking...
  11. LIB_H += fd/array.h
  12. LIB_OBJS += $(OUTPUT)fs/debugfs.o
  13. LIB_OBJS += $(OUTPUT)fs/fs.o
  14. # XXX piggybacking here, need to introduce libapikfd, or rename this
  15. # to plain libapik.a and make it have it all api goodies
  16. LIB_OBJS += $(OUTPUT)fd/array.o
  17. LIBFILE = libapikfs.a
  18. CFLAGS = -ggdb3 -Wall -Wextra -std=gnu99 -Werror -O6 -D_FORTIFY_SOURCE=2 $(EXTRA_WARNINGS) $(EXTRA_CFLAGS) -fPIC
  19. EXTLIBS = -lelf -lpthread -lrt -lm
  20. ALL_CFLAGS = $(CFLAGS) $(BASIC_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
  21. ALL_LDFLAGS = $(LDFLAGS)
  22. RM = rm -f
  23. $(LIBFILE): $(LIB_OBJS)
  24. $(QUIET_AR)$(RM) $@ && $(AR) rcs $(OUTPUT)$@ $(LIB_OBJS)
  25. $(LIB_OBJS): $(LIB_H)
  26. libapi_dirs:
  27. $(QUIET_MKDIR)mkdir -p $(OUTPUT)fd $(OUTPUT)fs
  28. $(OUTPUT)%.o: %.c libapi_dirs
  29. $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
  30. $(OUTPUT)%.s: %.c libapi_dirs
  31. $(QUIET_CC)$(CC) -S $(ALL_CFLAGS) $<
  32. $(OUTPUT)%.o: %.S libapi_dirs
  33. $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
  34. clean:
  35. $(call QUIET_CLEAN, libapi) $(RM) $(LIB_OBJS) $(LIBFILE)
  36. .PHONY: clean