mirror of
https://github.com/linux-msm/qrtr.git
synced 2025-12-24 14:06:30 +01:00
Merge pull request #1 from ndechesne/build
Various Makefile improvements
This commit is contained in:
47
Makefile
47
Makefile
@@ -6,9 +6,7 @@ proj-version := $(proj-major).$(proj-minor)
|
||||
CFLAGS := -Wall -g
|
||||
LDFLAGS :=
|
||||
|
||||
ifeq ($(PREFIX),)
|
||||
PREFIX := /usr
|
||||
endif
|
||||
prefix := /usr/local
|
||||
|
||||
ifneq ($(CROSS_COMPILE),)
|
||||
CC := $(CROSS_COMPILE)gcc
|
||||
@@ -57,28 +55,57 @@ endif
|
||||
@$(CC) -MM -MF $(call src_to_dep,$<) -MP -MT "$@ $(call src_to_dep,$<)" $(CFLAGS) $(_CFLAGS) $<
|
||||
@$(CC) -o $@ -c $< $(CFLAGS) $(_CFLAGS)
|
||||
|
||||
define add-target
|
||||
define add-inc-target
|
||||
$(DESTDIR)$(prefix)/include/$2: $1/$2
|
||||
@echo "INSTALL $$<"
|
||||
@install -D -m 755 $$< $$@
|
||||
|
||||
all-install += $(DESTDIR)$(prefix)/include/$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) $2
|
||||
$$(CC) -o $$@ $$(filter %.o,$$^) $(LDFLAGS) -static
|
||||
|
||||
$3: $1
|
||||
$(DESTDIR)$(prefix)/bin/$1: $1
|
||||
@echo "INSTALL $$<"
|
||||
@install -m 755 $$< $$@
|
||||
@install -D -m 755 $$< $$@
|
||||
|
||||
all-install += $3
|
||||
all-install += $(DESTDIR)$(prefix)/bin/$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)$(prefix)/lib/$1.$(proj-version): $1
|
||||
@echo "INSTALL $$<"
|
||||
@install -D -m 755 $$< $$@
|
||||
@ln -sf $1.$(proj-version) $(DESTDIR)$(prefix)/lib/$1.$(proj-major)
|
||||
@ln -sf $1.$(proj-major) $(DESTDIR)$(prefix)/lib/$1
|
||||
|
||||
all-install += $(DESTDIR)$(prefix)/lib/$1.$(proj-version)
|
||||
endef
|
||||
add-bin-target = $(call add-target,$1,-static,$(PREFIX)/bin/$1)
|
||||
add-lib-target = $(call add-target,$1,-shared,$(PREFIX)/lib/$1)
|
||||
|
||||
$(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))
|
||||
|
||||
install: $(all-install)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user