34 lines
1.3 KiB
Makefile
34 lines
1.3 KiB
Makefile
|
# SPDX-License-Identifier: GPL-2.0-only
|
||
|
# Makefile for libcpupower's Python bindings
|
||
|
#
|
||
|
# This Makefile expects you have already run the makefile for cpupower to build
|
||
|
# the .o files in the lib directory for the bindings to be created.
|
||
|
|
||
|
CC := gcc
|
||
|
HAVE_SWIG := $(shell if which swig >/dev/null 2>&1; then echo 1; else echo 0; fi)
|
||
|
HAVE_PYCONFIG := $(shell if which python-config >/dev/null 2>&1; then echo 1; else echo 0; fi)
|
||
|
|
||
|
LIB_DIR := ../../lib
|
||
|
PY_INCLUDE = $(firstword $(shell python-config --includes))
|
||
|
OBJECTS_LIB = $(wildcard $(LIB_DIR)/*.o)
|
||
|
|
||
|
all: _raw_pylibcpupower.so
|
||
|
|
||
|
_raw_pylibcpupower.so: raw_pylibcpupower_wrap.o
|
||
|
$(CC) -shared $(OBJECTS_LIB) raw_pylibcpupower_wrap.o -o _raw_pylibcpupower.so
|
||
|
|
||
|
raw_pylibcpupower_wrap.o: raw_pylibcpupower_wrap.c
|
||
|
$(CC) -fPIC -c raw_pylibcpupower_wrap.c $(PY_INCLUDE)
|
||
|
|
||
|
raw_pylibcpupower_wrap.c: raw_pylibcpupower.swg
|
||
|
ifeq ($(HAVE_SWIG),0)
|
||
|
$(error "swig was not found. Make sure you have it installed and in the PATH to generate the bindings.")
|
||
|
else ifeq ($(HAVE_PYCONFIG),0)
|
||
|
$(error "python-config was not found. Make sure you have it installed and in the PATH to generate the bindings.")
|
||
|
endif
|
||
|
swig -python raw_pylibcpupower.swg
|
||
|
|
||
|
# Will only clean the bindings folder; will not clean the actual cpupower folder
|
||
|
clean:
|
||
|
rm -f raw_pylibcpupower.py raw_pylibcpupower_wrap.c raw_pylibcpupower_wrap.o _raw_pylibcpupower.so
|