add meson support
[protos/libecoli.git] / mk / ecoli-obj-vars.mk
diff --git a/mk/ecoli-obj-vars.mk b/mk/ecoli-obj-vars.mk
deleted file mode 100644 (file)
index b6fe847..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2015, Olivier MATZ <zer0@droids-corp.org>
-
-# obj-y-$(obj) is provided by the user
-#  $(obj) is the path of the object, and the variable contains
-#  the list of sources. Several obj-y-$(obj) can be present.
-
-# list all object builds requested by user
-all-obj := $(patsubst obj-y-%,%,$(filter obj-y-%,$(.VARIABLES)))
-
-# add them to the list of targets
-all-targets += $(all-obj)
-
-# convert source path to intermediate object path, and filter
-# objects from sources
-#  $1: list of source paths
-#  $2: output directory (including trailing slash)
-#  return: list of intermediate object paths
-src2iobj = $(addprefix $(filter-out ./,$(2)),$(notdir $(strip \
-       $(patsubst %.c,%.o,\
-       $(patsubst %.s,%.o,\
-       $(filter-out %.o,$(1)))))))
-
-# return the file if it matches a extension that is built with cc
-#   $1: source file
-is_cc_source = $(filter %.c %.s %S,$(1))
-
-# return the file if it's already an object file: in this case no
-# intermediate object is needed
-#   $1: source file
-is_obj_source = $(filter %.o,$(1))
-
-# return the file if it's a static library
-#   $1: source file
-is_alib_source = $(filter %.a,$(1))
-
-# for each obj, create the following variables:
-#   out-$(obj) = output path of the object
-#   pre-$(obj) = list of prerequisites for this object
-# Some source files need intermediate objects, we define these variables
-# for them too, and add them in a list: $(all-iobj).
-# Last, we add the generated files in $(all-clean-file).
-$(foreach obj,$(all-obj),\
-       $(eval out-$(obj) := $(dir $(obj))) \
-       $(eval pre-$(obj) := ) \
-       $(foreach src,$(obj-y-$(obj)), \
-               $(if $(call is_cc_source,$(src)), \
-                       $(eval iobj := $(call src2iobj,$(src),$(out-$(obj)))) \
-                       $(eval pre-$(iobj) := $(src)) \
-                       $(eval all-iobj += $(iobj)) \
-                       $(eval all-clean-file += $(iobj)) \
-                       $(eval pre-$(obj) += $(iobj)) \
-               , \
-               $(if $(call is_obj_source,$(src)),\
-                       $(eval pre-$(obj) += $(src)) \
-               , \
-               $(error "unsupported source format: $(src)"))) \
-       )\
-       $(eval all-clean-file += $(obj)) \
-)
-
-# fix the format of .o.d.tmp (generated by gcc) to a .o.d that defines
-# dependencies as makefile variables
-#  $1: object file (.o)
-obj-fixdep = if [ -f $(call file2tmpdep,$(1)) ]; then\
-               echo -n "dep-$(1) = " > $(call depfile,$(1)) && \
-               sed 's,^[^ ][^:]*: ,,' $(call file2tmpdep,$(1)) >> $(call depfile,$(1)) && \
-               rm -f $(call file2tmpdep,$(1)); \
-       else \
-               $(call create_empty_depfile,$(1)); \
-       fi
-
-# compile a file
-#  $1: sources
-#  $2: dst
-compile_cmd = $(CC) -Wp,-MD,$(call file2tmpdep,$(2)) \
-       $(CPPFLAGS) $(cppflags-$(2)) \
-       $(CFLAGS) $(cflags-$(2)) \
-       -c -o $2 $1
-
-# print line used to compile a file
-ifeq ($(V),1)
-compile_print_cmd = echo $(call protect_quote,$(call compile_cmd,$1,$2))
-else
-compile_print_cmd = echo "  CC $(2)"
-endif
-
-# combine several *.o files into one
-#   $1: sources (*.o)
-#   $2: dst (xyz.o too)
-combine_cmd = $(LD) -r $(1) -o $(2)
-
-# print line used to combine object files
-ifeq ($(V),1)
-combine_print_cmd = echo $(call protect_quote,$(call combine_cmd,$1,$2))
-else
-combine_print_cmd = echo "  LD $(2)"
-endif
-
-all-clean-file += $(all-obj)