mirror of
https://github.com/linux-msm/qrtr.git
synced 2025-12-23 21:46:28 +01:00
treewide: meson
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
This commit is contained in:
committed by
Konrad Dybcio
parent
20d1f78be8
commit
dece9315ea
150
Makefile
150
Makefile
@@ -1,150 +0,0 @@
|
||||
proj := qrtr
|
||||
proj-major := 1
|
||||
proj-minor := 0
|
||||
proj-version := $(proj-major).$(proj-minor)
|
||||
|
||||
CFLAGS += -Wall -g
|
||||
prefix = /usr/local
|
||||
|
||||
bindir := $(prefix)/bin
|
||||
libdir := $(prefix)/lib
|
||||
includedir := $(prefix)/include
|
||||
servicedir := $(prefix)/lib/systemd/system
|
||||
|
||||
ifneq ($(CROSS_COMPILE),)
|
||||
CC := $(CROSS_COMPILE)gcc
|
||||
endif
|
||||
SFLAGS := -I$(shell $(CC) -print-file-name=include) -Wno-non-pointer-null
|
||||
|
||||
$(proj)-cfg-srcs := \
|
||||
lib/logging.c \
|
||||
src/addr.c \
|
||||
src/cfg.c \
|
||||
|
||||
$(proj)-cfg-cflags := -Ilib
|
||||
|
||||
$(proj)-ns-srcs := \
|
||||
lib/logging.c \
|
||||
src/addr.c \
|
||||
src/ns.c \
|
||||
src/map.c \
|
||||
src/hash.c \
|
||||
src/waiter.c \
|
||||
src/util.c \
|
||||
|
||||
$(proj)-ns-cflags := -Ilib
|
||||
|
||||
$(proj)-lookup-srcs := \
|
||||
lib/logging.c \
|
||||
src/lookup.c \
|
||||
src/util.c \
|
||||
|
||||
$(proj)-lookup-cflags := -Ilib
|
||||
|
||||
lib$(proj).so-srcs := \
|
||||
lib/logging.c \
|
||||
lib/qrtr.c \
|
||||
lib/qmi.c
|
||||
|
||||
lib$(proj).so-cflags := -fPIC -Isrc
|
||||
|
||||
targets := $(proj)-ns $(proj)-cfg $(proj)-lookup lib$(proj).so
|
||||
|
||||
out := out
|
||||
src_to_obj = $(patsubst %.c,$(out)/obj/%.o,$(1))
|
||||
src_to_dep = $(patsubst %.c,$(out)/dep/%.d,$(1))
|
||||
|
||||
all-srcs :=
|
||||
all-objs :=
|
||||
all-deps :=
|
||||
all-clean := $(out)
|
||||
all-install :=
|
||||
|
||||
all: $(targets)
|
||||
|
||||
$(out)/obj/%.o: %.c
|
||||
ifneq ($C,)
|
||||
@echo "CHECK $<"
|
||||
@sparse $< $(patsubst -iquote=%,-I%,$(CFLAGS)) $(SFLAGS)
|
||||
endif
|
||||
@echo "CC $<"
|
||||
@$(CC) -MM -MF $(call src_to_dep,$<) -MP -MT "$@ $(call src_to_dep,$<)" $(CFLAGS) $(_CFLAGS) $<
|
||||
@$(CC) -o $@ -c $< $(CFLAGS) $(_CFLAGS)
|
||||
|
||||
define add-inc-target
|
||||
$(DESTDIR)$(includedir)/$2: $1/$2
|
||||
@echo "INSTALL $$<"
|
||||
@install -D -m 755 $$< $$@
|
||||
|
||||
all-install += $(DESTDIR)$(includedir)/$2
|
||||
endef
|
||||
|
||||
define add-target-deps
|
||||
all-srcs += $($1-srcs)
|
||||
all-objs += $(call src_to_obj,$($1-srcs))
|
||||
all-deps += $(call src_to_dep,$($1-srcs))
|
||||
all-clean += $1
|
||||
$(call src_to_obj,$($1-srcs)): _CFLAGS := $($1-cflags)
|
||||
endef
|
||||
|
||||
define add-bin-target
|
||||
|
||||
$(call add-target-deps,$1)
|
||||
|
||||
$1: $(call src_to_obj,$($1-srcs))
|
||||
@echo "LD $$@"
|
||||
$$(CC) -o $$@ $$(filter %.o,$$^) $(LDFLAGS)
|
||||
|
||||
$(DESTDIR)$(bindir)/$1: $1
|
||||
@echo "INSTALL $$<"
|
||||
@install -D -m 755 $$< $$@
|
||||
|
||||
all-install += $(DESTDIR)$(bindir)/$1
|
||||
endef
|
||||
|
||||
define add-lib-target
|
||||
|
||||
$(call add-target-deps,$1)
|
||||
|
||||
$1: $(call src_to_obj,$($1-srcs))
|
||||
@echo "LD $$@"
|
||||
$$(CC) -o $$@ $$(filter %.o,$$^) $(LDFLAGS) -shared -Wl,-soname,$1.$(proj-major)
|
||||
|
||||
$(DESTDIR)$(libdir)/$1.$(proj-version): $1
|
||||
@echo "INSTALL $$<"
|
||||
@install -D -m 755 $$< $$@
|
||||
@ln -sf $1.$(proj-version) $(DESTDIR)$(libdir)/$1.$(proj-major)
|
||||
@ln -sf $1.$(proj-major) $(DESTDIR)$(libdir)/$1
|
||||
|
||||
all-install += $(DESTDIR)$(libdir)/$1.$(proj-version)
|
||||
endef
|
||||
|
||||
define add-systemd-service-target
|
||||
$1: $1.in
|
||||
sed 's+QRTR_NS_PATH+$(bindir)+g' $$< > $$@
|
||||
|
||||
$(DESTDIR)$(servicedir)/$1: $1
|
||||
@echo "INSTALL $$<"
|
||||
@install -D -m 644 $$< $$@
|
||||
|
||||
all-clean += $1
|
||||
all-install += $(DESTDIR)$(servicedir)/$1
|
||||
endef
|
||||
|
||||
$(foreach v,$(filter-out %.so,$(targets)),$(eval $(call add-bin-target,$v)))
|
||||
$(foreach v,$(filter %.so,$(targets)),$(eval $(call add-lib-target,$v)))
|
||||
$(eval $(call add-inc-target,lib,libqrtr.h))
|
||||
$(eval $(call add-systemd-service-target,qrtr-ns.service))
|
||||
|
||||
install: $(all-install)
|
||||
|
||||
clean:
|
||||
@echo CLEAN
|
||||
@$(RM) -r $(all-clean)
|
||||
|
||||
$(call src_to_obj,$(all-srcs)): Makefile
|
||||
|
||||
ifneq ("$(MAKECMDGOALS)","clean")
|
||||
cmd-goal-1 := $(shell mkdir -p $(sort $(dir $(all-objs) $(all-deps))))
|
||||
-include $(all-deps)
|
||||
endif
|
||||
3
include/meson.build
Normal file
3
include/meson.build
Normal file
@@ -0,0 +1,3 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
install_headers('libqrtr.h')
|
||||
7
lib/meson.build
Normal file
7
lib/meson.build
Normal file
@@ -0,0 +1,7 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
libqrtr_srcs = ['logging.c', 'qmi.c', 'qrtr.c']
|
||||
libqrtr = shared_library('qrtr',
|
||||
libqrtr_srcs,
|
||||
include_directories : inc,
|
||||
install: true)
|
||||
33
meson.build
Normal file
33
meson.build
Normal file
@@ -0,0 +1,33 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
project('qrtr',
|
||||
'c',
|
||||
license : [ 'BSD-3-Clause'],
|
||||
meson_version : '>= 0.64.0', # for feature user options
|
||||
default_options : [
|
||||
# 'warning_level=2', # sets -Wextra
|
||||
'buildtype=release',
|
||||
])
|
||||
|
||||
prefix = get_option('prefix')
|
||||
systemd = dependency('systemd')
|
||||
|
||||
systemd_system_unit_dir = get_option('systemd-unit-prefix')
|
||||
if systemd_system_unit_dir == ''
|
||||
systemd_system_unit_dir = systemd.get_variable(
|
||||
pkgconfig : 'systemdsystemunitdir',
|
||||
pkgconfig_define: ['prefix', prefix])
|
||||
endif
|
||||
|
||||
inc = include_directories('include')
|
||||
subdir('lib')
|
||||
subdir('include')
|
||||
subdir('src')
|
||||
|
||||
systemd_unit_conf = configuration_data()
|
||||
systemd_unit_conf.set('prefix', prefix)
|
||||
configure_file(
|
||||
input : 'qrtr-ns.service.in',
|
||||
output : 'qrtr-ns.service',
|
||||
configuration : systemd_unit_conf,
|
||||
install_dir : systemd_system_unit_dir)
|
||||
4
meson_options.txt
Normal file
4
meson_options.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
option('systemd-unit-prefix',
|
||||
type: 'string',
|
||||
description: 'Directory for systemd system unit files'
|
||||
)
|
||||
@@ -2,7 +2,7 @@
|
||||
Description=QIPCRTR Name Service
|
||||
|
||||
[Service]
|
||||
ExecStart=QRTR_NS_PATH/qrtr-ns -f 1
|
||||
ExecStart=@prefix@/bin/qrtr-ns -f 1
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include <err.h>
|
||||
#include <errno.h>
|
||||
#include <libgen.h>
|
||||
#include <libqrtr.h>
|
||||
#include <linux/qrtr.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@@ -10,7 +11,6 @@
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "libqrtr.h"
|
||||
#include "logging.h"
|
||||
#include "ns.h"
|
||||
#include "util.h"
|
||||
|
||||
28
src/meson.build
Normal file
28
src/meson.build
Normal file
@@ -0,0 +1,28 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
cfg_srcs = ['addr.c',
|
||||
'cfg.c',
|
||||
'hash.c']
|
||||
executable('qrtr-cfg',
|
||||
cfg_srcs,
|
||||
link_with : libqrtr,
|
||||
include_directories : inc,
|
||||
install : true)
|
||||
|
||||
ns_srcs = ['addr.c',
|
||||
'hash.c',
|
||||
'map.c',
|
||||
'ns.c',
|
||||
'util.c',
|
||||
'waiter.c']
|
||||
executable('qrtr-ns',
|
||||
ns_srcs,
|
||||
link_with : libqrtr,
|
||||
include_directories : inc,
|
||||
install : true)
|
||||
|
||||
executable('qrtr-lookup',
|
||||
'lookup.c',
|
||||
link_with : libqrtr,
|
||||
include_directories : inc,
|
||||
install : true)
|
||||
Reference in New Issue
Block a user