~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/lib/thermal/Makefile

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
  2 # Most of this file is copied from tools/lib/perf/Makefile
  3 
  4 LIBTHERMAL_VERSION = 0
  5 LIBTHERMAL_PATCHLEVEL = 0
  6 LIBTHERMAL_EXTRAVERSION = 1
  7 
  8 MAKEFLAGS += --no-print-directory
  9 
 10 ifeq ($(srctree),)
 11 srctree := $(patsubst %/,%,$(dir $(CURDIR)))
 12 srctree := $(patsubst %/,%,$(dir $(srctree)))
 13 srctree := $(patsubst %/,%,$(dir $(srctree)))
 14 # $(info Determined 'srctree' to be $(srctree))
 15 endif
 16 
 17 INSTALL = install
 18 
 19 # Use DESTDIR for installing into a different root directory.
 20 # This is useful for building a package. The program will be
 21 # installed in this directory as if it was the root directory.
 22 # Then the build tool can move it later.
 23 DESTDIR ?=
 24 DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))'
 25 
 26 include $(srctree)/tools/scripts/Makefile.include
 27 include $(srctree)/tools/scripts/Makefile.arch
 28 
 29 ifeq ($(LP64), 1)
 30   libdir_relative = lib64
 31 else
 32   libdir_relative = lib
 33 endif
 34 
 35 prefix ?=
 36 libdir = $(prefix)/$(libdir_relative)
 37 
 38 # Shell quotes
 39 libdir_SQ = $(subst ','\'',$(libdir))
 40 libdir_relative_SQ = $(subst ','\'',$(libdir_relative))
 41 
 42 ifeq ("$(origin V)", "command line")
 43   VERBOSE = $(V)
 44 endif
 45 ifndef VERBOSE
 46   VERBOSE = 0
 47 endif
 48 
 49 ifeq ($(VERBOSE),1)
 50   Q =
 51 else
 52   Q = @
 53 endif
 54 
 55 # Set compile option CFLAGS
 56 ifdef EXTRA_CFLAGS
 57   CFLAGS := $(EXTRA_CFLAGS)
 58 else
 59   CFLAGS := -g -Wall
 60 endif
 61 
 62 INCLUDES = \
 63 -I/usr/include/libnl3 \
 64 -I$(srctree)/tools/lib/thermal/include \
 65 -I$(srctree)/tools/lib/ \
 66 -I$(srctree)/tools/include \
 67 -I$(srctree)/tools/arch/$(SRCARCH)/include/ \
 68 -I$(srctree)/tools/arch/$(SRCARCH)/include/uapi \
 69 -I$(srctree)/tools/include/uapi
 70 
 71 # Append required CFLAGS
 72 override CFLAGS += $(EXTRA_WARNINGS)
 73 override CFLAGS += -Werror -Wall
 74 override CFLAGS += -fPIC
 75 override CFLAGS += $(INCLUDES)
 76 override CFLAGS += -fvisibility=hidden
 77 override CFGLAS += -Wl,-L.
 78 override CFGLAS += -Wl,-lthermal
 79 
 80 all:
 81 
 82 export srctree OUTPUT CC LD CFLAGS V
 83 export DESTDIR DESTDIR_SQ
 84 
 85 include $(srctree)/tools/build/Makefile.include
 86 
 87 VERSION_SCRIPT := libthermal.map
 88 
 89 PATCHLEVEL    = $(LIBTHERMAL_PATCHLEVEL)
 90 EXTRAVERSION  = $(LIBTHERMAL_EXTRAVERSION)
 91 VERSION       = $(LIBTHERMAL_VERSION).$(LIBTHERMAL_PATCHLEVEL).$(LIBTHERMAL_EXTRAVERSION)
 92 
 93 LIBTHERMAL_SO := $(OUTPUT)libthermal.so.$(VERSION)
 94 LIBTHERMAL_A  := $(OUTPUT)libthermal.a
 95 LIBTHERMAL_IN := $(OUTPUT)libthermal-in.o
 96 LIBTHERMAL_PC := $(OUTPUT)libthermal.pc
 97 LIBTHERMAL_ALL := $(LIBTHERMAL_A) $(OUTPUT)libthermal.so*
 98 
 99 THERMAL_UAPI := include/uapi/linux/thermal.h
100 
101 $(THERMAL_UAPI): FORCE
102         ln -sf $(srctree)/$@ $(srctree)/tools/$@
103 
104 $(LIBTHERMAL_IN): FORCE
105         $(Q)$(MAKE) $(build)=libthermal
106 
107 $(LIBTHERMAL_A): $(LIBTHERMAL_IN)
108         $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(LIBTHERMAL_IN)
109 
110 $(LIBTHERMAL_SO): $(LIBTHERMAL_IN)
111         $(QUIET_LINK)$(CC) --shared -Wl,-soname,libthermal.so \
112                                     -Wl,--version-script=$(VERSION_SCRIPT) $^ -o $@
113         @ln -sf $(@F) $(OUTPUT)libthermal.so
114         @ln -sf $(@F) $(OUTPUT)libthermal.so.$(LIBTHERMAL_VERSION)
115 
116 
117 libs: $(THERMAL_UAPI) $(LIBTHERMAL_A) $(LIBTHERMAL_SO) $(LIBTHERMAL_PC)
118 
119 all: fixdep
120         $(Q)$(MAKE) libs
121 
122 clean:
123         $(call QUIET_CLEAN, libthermal) $(RM) $(LIBTHERMAL_A) \
124                 *.o *~ *.a *.so *.so.$(VERSION) *.so.$(LIBTHERMAL_VERSION) \
125                 .*.d .*.cmd LIBTHERMAL-CFLAGS $(LIBTHERMAL_PC) \
126                 $(srctree)/tools/$(THERMAL_UAPI)
127 
128 $(LIBTHERMAL_PC):
129         $(QUIET_GEN)sed -e "s|@PREFIX@|$(prefix)|" \
130                 -e "s|@LIBDIR@|$(libdir_SQ)|" \
131                 -e "s|@VERSION@|$(VERSION)|" \
132                 < libthermal.pc.template > $@
133 
134 define do_install_mkdir
135         if [ ! -d '$(DESTDIR_SQ)$1' ]; then             \
136                 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$1'; \
137         fi
138 endef
139 
140 define do_install
141         if [ ! -d '$(DESTDIR_SQ)$2' ]; then             \
142                 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$2'; \
143         fi;                                             \
144         $(INSTALL) $1 $(if $3,-m $3,) '$(DESTDIR_SQ)$2'
145 endef
146 
147 install_lib: libs
148         $(call QUIET_INSTALL, $(LIBTHERMAL_ALL)) \
149                 $(call do_install_mkdir,$(libdir_SQ)); \
150                 cp -fpR $(LIBTHERMAL_ALL) $(DESTDIR)$(libdir_SQ)
151 
152 install_headers:
153         $(call QUIET_INSTALL, headers) \
154                 $(call do_install,include/thermal.h,$(prefix)/include/thermal,644); \
155 
156 install_pkgconfig: $(LIBTHERMAL_PC)
157         $(call QUIET_INSTALL, $(LIBTHERMAL_PC)) \
158                 $(call do_install,$(LIBTHERMAL_PC),$(libdir_SQ)/pkgconfig,644)
159 
160 install_doc:
161         $(Q)$(MAKE) -C Documentation install-man install-html install-examples
162 
163 install: install_lib install_headers install_pkgconfig
164 
165 FORCE:
166 
167 .PHONY: all install clean FORCE

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php