]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - tools/lib/api/Makefile
perf build: Add build documentation
[mirror_ubuntu-bionic-kernel.git] / tools / lib / api / Makefile
CommitLineData
85c66be1 1include ../../scripts/Makefile.include
553873e1 2include ../../perf/config/utilities.mak # QUIET_CLEAN
85c66be1 3
3c4797d4
RV
4CC = $(CROSS_COMPILE)gcc
5AR = $(CROSS_COMPILE)ar
6
85c66be1
BP
7# guard against environment variables
8LIB_H=
9LIB_OBJS=
10
553873e1 11LIB_H += fs/debugfs.h
4ef92c2e 12LIB_H += fs/tracefs.h
cde164ae 13LIB_H += fs/findfs.h
cd0cfad7 14LIB_H += fs/fs.h
1b85337d
ACM
15# See comment below about piggybacking...
16LIB_H += fd/array.h
85c66be1 17
553873e1 18LIB_OBJS += $(OUTPUT)fs/debugfs.o
4ef92c2e 19LIB_OBJS += $(OUTPUT)fs/tracefs.o
cde164ae 20LIB_OBJS += $(OUTPUT)fs/findfs.o
cd0cfad7 21LIB_OBJS += $(OUTPUT)fs/fs.o
1b85337d
ACM
22# XXX piggybacking here, need to introduce libapikfd, or rename this
23# to plain libapik.a and make it have it all api goodies
24LIB_OBJS += $(OUTPUT)fd/array.o
85c66be1 25
553873e1 26LIBFILE = libapikfs.a
85c66be1 27
b28b1307 28CFLAGS = -ggdb3 -Wall -Wextra -std=gnu99 -Werror -O6 -D_FORTIFY_SOURCE=2 $(EXTRA_WARNINGS) $(EXTRA_CFLAGS) -fPIC
d14c4965 29EXTLIBS = -lelf -lpthread -lrt -lm
85c66be1
BP
30ALL_CFLAGS = $(CFLAGS) $(BASIC_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
31ALL_LDFLAGS = $(LDFLAGS)
32
33RM = rm -f
34
35$(LIBFILE): $(LIB_OBJS)
36 $(QUIET_AR)$(RM) $@ && $(AR) rcs $(OUTPUT)$@ $(LIB_OBJS)
37
38$(LIB_OBJS): $(LIB_H)
39
553873e1 40libapi_dirs:
1b85337d 41 $(QUIET_MKDIR)mkdir -p $(OUTPUT)fd $(OUTPUT)fs
553873e1
BP
42
43$(OUTPUT)%.o: %.c libapi_dirs
85c66be1 44 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
553873e1 45$(OUTPUT)%.s: %.c libapi_dirs
85c66be1 46 $(QUIET_CC)$(CC) -S $(ALL_CFLAGS) $<
553873e1 47$(OUTPUT)%.o: %.S libapi_dirs
85c66be1
BP
48 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
49
50clean:
553873e1 51 $(call QUIET_CLEAN, libapi) $(RM) $(LIB_OBJS) $(LIBFILE)
85c66be1
BP
52
53.PHONY: clean