mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-27 01:11:06 +00:00
7200ab2935
When creating a source archive for the USB driver, both the contrib and Genode-specific source codes are merged into a single directory structure. In this case, the original way of determining the Linux source code to scan for #include directives would apply the scanning to Genode-specific source codes too. This patch tightens the search criterion such that only Linux source codes are processed.
38 lines
1.2 KiB
Makefile
38 lines
1.2 KiB
Makefile
ifeq ($(called_from_lib_mk),yes)
|
|
|
|
USB_CONTRIB_DIR := $(call select_from_ports,dde_linux)/src/lib/usb
|
|
LX_EMUL_H := $(REP_DIR)/src/lib/usb/include/lx_emul.h
|
|
|
|
#
|
|
# Determine the header files included by the contrib code. For each
|
|
# of these header files we create a symlink to 'lx_emul.h'.
|
|
#
|
|
SCAN_DIRS := $(addprefix $(USB_CONTRIB_DIR)/include/, asm-generic linux scsi uapi) \
|
|
$(addprefix $(USB_CONTRIB_DIR)/, drivers lib)
|
|
GEN_INCLUDES := $(shell grep -rIh "^\#include .*\/" $(SCAN_DIRS) |\
|
|
sed "s/^\#include [^<\"]*[<\"]\([^>\"]*\)[>\"].*/\1/" |\
|
|
sort | uniq)
|
|
#
|
|
# Filter out original Linux headers that exist in the contrib directory
|
|
#
|
|
NO_GEN_INCLUDES := $(shell cd $(USB_CONTRIB_DIR)/; find include -name "*.h" |\
|
|
sed "s/.\///" | sed "s/.*include\///")
|
|
GEN_INCLUDES := $(filter-out $(NO_GEN_INCLUDES),$(GEN_INCLUDES))
|
|
|
|
#
|
|
# Put Linux headers in 'GEN_INC' dir, since some include use "../../" paths use
|
|
# three level include hierarchy
|
|
#
|
|
GEN_INC := $(shell pwd)/include/include/include
|
|
GEN_INCLUDES := $(addprefix $(GEN_INC)/,$(GEN_INCLUDES))
|
|
|
|
all: $(GEN_INCLUDES)
|
|
|
|
$(GEN_INCLUDES):
|
|
$(VERBOSE)mkdir -p $(dir $@)
|
|
$(VERBOSE)ln -s $(LX_EMUL_H) $@
|
|
|
|
endif
|
|
|
|
# vi: set ft=make :
|