Skip to content

Commit a2b8b35

Browse files
committed
improved build system
1 parent dd7701b commit a2b8b35

File tree

7 files changed

+43
-54
lines changed

7 files changed

+43
-54
lines changed

Makefile

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
include lib.mk
21
-include config.mk
32

43

@@ -24,6 +23,18 @@ WITH_PTHREAD_NP ?= 1
2423
WITH_SETPROCTITLE ?= 1
2524
WITH_PDEATHSIG ?= 1
2625

26+
define optbool
27+
$(filter $(shell echo $(1) | tr A-Z a-z), yes on 1)
28+
endef
29+
MK_WITH_PYTHON = $(call optbool,$(WITH_PYTHON))
30+
MK_WITH_JANUS = $(call optbool,$(WITH_JANUS))
31+
MK_WITH_V4P = $(call optbool,$(WITH_V4P))
32+
MK_WITH_GPIO = $(call optbool,$(WITH_GPIO))
33+
MK_WITH_SYSTEMD = $(call optbool,$(WITH_SYSTEMD))
34+
MK_WITH_PTHREAD_NP = $(call optbool,$(WITH_PTHREAD_NP))
35+
MK_WITH_SETPROCTITLE = $(call optbool,$(WITH_SETPROCTITLE))
36+
MK_WITH_PDEATHSIG = $(call optbool,$(WITH_PDEATHSIG))
37+
2738
export
2839

2940
_LINTERS_IMAGE ?= ustreamer-linters
@@ -44,10 +55,10 @@ endif
4455
# =====
4556
all:
4657
+ $(MAKE) apps
47-
ifneq ($(call optbool,$(WITH_PYTHON)),)
58+
ifneq ($(MK_WITH_PYTHON),)
4859
+ $(MAKE) python
4960
endif
50-
ifneq ($(call optbool,$(WITH_JANUS)),)
61+
ifneq ($(MK_WITH_JANUS),)
5162
+ $(MAKE) janus
5263
endif
5364

@@ -71,10 +82,10 @@ janus:
7182

7283
install: all
7384
$(MAKE) -C src install
74-
ifneq ($(call optbool,$(WITH_PYTHON)),)
85+
ifneq ($(MK_WITH_PYTHON),)
7586
$(MAKE) -C python install
7687
endif
77-
ifneq ($(call optbool,$(WITH_JANUS)),)
88+
ifneq ($(MK_WITH_JANUS),)
7889
$(MAKE) -C janus install
7990
endif
8091
mkdir -p $(R_DESTDIR)$(MANPREFIX)/man1

janus/Makefile

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
include ../lib.mk
2-
3-
4-
# =====
51
R_DESTDIR ?=
62
PREFIX ?= /usr/local
73

@@ -22,7 +18,7 @@ _SRCS = $(shell ls src/uslibs/*.c src/*.c)
2218
_BUILD = build
2319

2420

25-
ifneq ($(call optbool,$(WITH_PTHREAD_NP)),)
21+
ifneq ($(MK_WITH_PTHREAD_NP),)
2622
override _CFLAGS += -DWITH_PTHREAD_NP
2723
endif
2824

lib.mk

Lines changed: 0 additions & 3 deletions
This file was deleted.

python/Makefile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
-include ../config.mk
2-
31
R_DESTDIR ?=
42
PREFIX ?= /usr/local
53

python/setup.py

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,12 @@ def _find_sources() -> list[str]:
1616

1717
def _find_flags() -> dict[str, bool]:
1818
return {
19-
key: bool(int(value))
19+
key[3:]: (value.strip().lower() in ["true", "on", "1"])
2020
for (key, value) in sorted(os.environ.items())
21-
if key.startswith("WITH_")
21+
if key.startswith("MK_WITH_")
2222
}
2323

2424

25-
def _make_d_flags(flags: dict[str, bool]) -> list[str]:
26-
return [
27-
f"-D{key}"
28-
for (key, value) in flags.items()
29-
if value
30-
]
31-
32-
3325
def _make_d_features(flags: dict[str, bool]) -> str:
3426
features = " ".join([
3527
f"{key}={int(value)}"
@@ -54,7 +46,6 @@ def main() -> None:
5446
extra_compile_args=[
5547
"-std=c17", "-D_GNU_SOURCE",
5648
_make_d_features(flags),
57-
*_make_d_flags(flags),
5849
],
5950
undef_macros=["NDEBUG"],
6051
sources=_find_sources(),

src/Makefile

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
include ../lib.mk
2-
3-
4-
# =====
51
R_DESTDIR ?=
62
PREFIX ?= /usr/local
73

@@ -50,45 +46,45 @@ _OBJS = $(_USTR_SRCS:%.c=$(_BUILD)/%.o) $(_DUMP_SRCS:%.c=$(_BUILD)/%.o)
5046

5147

5248
# =====
53-
ifneq ($(call optbool,$(WITH_PYTHON)),)
54-
override _CFLAGS += -DWITH_PYTHON
49+
ifneq ($(MK_WITH_PYTHON),)
50+
override _CFLAGS += -DMK_WITH_PYTHON
5551
endif
5652

57-
ifneq ($(call optbool,$(WITH_JANUS)),)
58-
override _CFLAGS += -DWITH_JANUS
53+
ifneq ($(MK_WITH_JANUS),)
54+
override _CFLAGS += -DMK_WITH_JANUS
5955
endif
6056

61-
ifneq ($(call optbool,$(WITH_GPIO)),)
62-
override _CFLAGS += -DWITH_GPIO $(shell $(PKG_CONFIG) --atleast-version=2 libgpiod 2> /dev/null && echo -DHAVE_GPIOD2)
57+
ifneq ($(MK_WITH_GPIO),)
58+
override _CFLAGS += -DMK_WITH_GPIO -DWITH_GPIO $(shell $(PKG_CONFIG) --atleast-version=2 libgpiod 2> /dev/null && echo -DHAVE_GPIOD2)
6359
override _USTR_LDFLAGS += -lgpiod
6460
override _USTR_SRCS += $(shell ls ustreamer/gpio/*.c)
6561
endif
6662

67-
ifneq ($(call optbool,$(WITH_SYSTEMD)),)
68-
override _CFLAGS += -DWITH_SYSTEMD
63+
ifneq ($(MK_WITH_SYSTEMD),)
64+
override _CFLAGS += -DMK_WITH_SYSTEMD -DWITH_SYSTEMD
6965
override _USTR_LDFLAGS += -lsystemd
7066
override _USTR_SRCS += $(shell ls ustreamer/http/systemd/*.c)
7167
endif
7268

73-
ifneq ($(call optbool,$(WITH_PTHREAD_NP)),)
74-
override _CFLAGS += -DWITH_PTHREAD_NP
69+
ifneq ($(MK_WITH_PTHREAD_NP),)
70+
override _CFLAGS += -DMK_WITH_PTHREAD_NP -DWITH_PTHREAD_NP
7571
endif
7672

77-
ifneq ($(call optbool,$(WITH_SETPROCTITLE)),)
78-
override _CFLAGS += -DWITH_SETPROCTITLE
73+
ifneq ($(MK_WITH_SETPROCTITLE),)
74+
override _CFLAGS += -DMK_WITH_SETPROCTITLE -DWITH_SETPROCTITLE
7975
ifeq ($(shell uname -s | tr A-Z a-z),linux)
8076
override _USTR_LDFLAGS += -lbsd
8177
endif
8278
endif
8379

84-
ifneq ($(call optbool,$(WITH_PDEATHSIG)),)
85-
override _CFLAGS += -DWITH_PDEATHSIG
80+
ifneq ($(MK_WITH_PDEATHSIG),)
81+
override _CFLAGS += -DMK_WITH_PDEATHSIG -DWITH_PDEATHSIG
8682
endif
8783

88-
ifneq ($(call optbool,$(WITH_V4P)),)
84+
ifneq ($(MK_WITH_V4P),)
8985
override _TARGETS += $(_V4P)
9086
override _OBJS += $(_V4P_SRCS:%.c=$(_BUILD)/%.o)
91-
override _CFLAGS += -DWITH_V4P $(shell $(PKG_CONFIG) --cflags libdrm)
87+
override _CFLAGS += -DMK_WITH_V4P -DWITH_V4P $(shell $(PKG_CONFIG) --cflags libdrm)
9288
override _V4P_LDFLAGS += $(shell $(PKG_CONFIG) --libs libdrm)
9389
override _USTR_SRCS += $(shell ls libs/drm/*.c)
9490
override _USTR_LDFLAGS += $(shell $(PKG_CONFIG) --libs libdrm)

src/ustreamer/options.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -581,49 +581,49 @@ static int _check_instance_id(const char *str) {
581581
}
582582

583583
static void _features(void) {
584-
# ifdef WITH_PYTHON
584+
# ifdef MK_WITH_PYTHON
585585
puts("+ WITH_PYTHON");
586586
# else
587587
puts("- WITH_PYTHON");
588588
# endif
589589

590-
# ifdef WITH_JANUS
590+
# ifdef MK_WITH_JANUS
591591
puts("+ WITH_JANUS");
592592
# else
593593
puts("- WITH_JANUS");
594594
# endif
595595

596-
# ifdef WITH_V4P
596+
# ifdef MK_WITH_V4P
597597
puts("+ WITH_V4P");
598598
# else
599599
puts("- WITH_V4P");
600600
# endif
601601

602-
# ifdef WITH_GPIO
602+
# ifdef MK_WITH_GPIO
603603
puts("+ WITH_GPIO");
604604
# else
605605
puts("- WITH_GPIO");
606606
# endif
607607

608-
# ifdef WITH_SYSTEMD
608+
# ifdef MK_WITH_SYSTEMD
609609
puts("+ WITH_SYSTEMD");
610610
# else
611611
puts("- WITH_SYSTEMD");
612612
# endif
613613

614-
# ifdef WITH_PTHREAD_NP
614+
# ifdef MK_WITH_PTHREAD_NP
615615
puts("+ WITH_PTHREAD_NP");
616616
# else
617617
puts("- WITH_PTHREAD_NP");
618618
# endif
619619

620-
# ifdef WITH_SETPROCTITLE
620+
# ifdef MK_WITH_SETPROCTITLE
621621
puts("+ WITH_SETPROCTITLE");
622622
# else
623623
puts("- WITH_SETPROCTITLE");
624624
# endif
625625

626-
# ifdef WITH_PDEATHSIG
626+
# ifdef MK_WITH_PDEATHSIG
627627
puts("+ WITH_PDEATHSIG");
628628
# else
629629
puts("- WITH_PDEATHSIG");

0 commit comments

Comments
 (0)