mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 05:37:54 +00:00
ca971bbfd8
This patch changes the top-level directory layout as a preparatory step for improving the tools for managing 3rd-party source codes. The rationale is described in the issue referenced below. Issue #1082
75 lines
2.1 KiB
Makefile
75 lines
2.1 KiB
Makefile
#
|
|
# \brief Download integrate Linux kernel sources with Genode
|
|
# \author Norman Feske
|
|
# \date 2012-01-28
|
|
|
|
CONTRIB_DIR = contrib
|
|
DOWNLOAD_DIR = download
|
|
VERBOSE ?= @
|
|
ECHO = @echo
|
|
PATCHES := $(shell find patches -name \*.patch)
|
|
|
|
LINUX = linux-3.9
|
|
LINUX_TGZ = $(LINUX).tar.gz
|
|
LINUX_URL = http://www.kernel.org/pub/linux/kernel/v3.x/$(LINUX_TGZ)
|
|
|
|
# Raspberry Pi
|
|
DWC_OTG_GIT_URL := https://github.com/nfeske/dwc_otg.git
|
|
DWC_OTG_GIT_BRANCH := r1
|
|
|
|
#
|
|
#
|
|
# Utility to check if a tool is installed
|
|
#
|
|
check_tool = $(if $(shell which $(1)),,$(error Need to have '$(1)' installed.))
|
|
|
|
$(call check_tool,wget)
|
|
$(call check_tool,patch)
|
|
|
|
#
|
|
# Print help information by default
|
|
#
|
|
help:
|
|
$(ECHO)
|
|
$(ECHO) "Download integrate Linux kernel sources with Genode"
|
|
$(ECHO)
|
|
$(ECHO) "--- available commands ---"
|
|
$(ECHO) "prepare - download and integrate Linux source code"
|
|
$(ECHO) "clean - remove contib sources except downloaded archives"
|
|
$(ECHO) "cleanall - remove contib sources and downloaded archives"
|
|
$(ECHO)
|
|
|
|
prepare: clean $(CONTRIB_DIR)/.prepared
|
|
|
|
prepare_rpi: prepare
|
|
$(VERBOSE)cd $(CONTRIB_DIR)/drivers/usb/host; \
|
|
git clone $(DWC_OTG_GIT_URL) dwc_otg
|
|
$(VERBOSE)cd $(CONTRIB_DIR)/drivers/usb/host/dwc_otg; \
|
|
git reset --hard HEAD && git checkout $(DWC_OTG_GIT_BRANCH)
|
|
|
|
$(CONTRIB_DIR)/.prepared: Makefile
|
|
$(CONTRIB_DIR)/.prepared: $(DOWNLOAD_DIR)/$(LINUX_TGZ)
|
|
$(ECHO) "extracting source code to '$(CONTRIB_DIR)'"
|
|
$(VERBOSE)tar xfz $< --transform "s{$(LINUX){$(CONTRIB_DIR){" --files-from files.list
|
|
$(VERBOSE)tar xfz $< --transform "s{$(LINUX){$(CONTRIB_DIR)/lxip{" --files-from lxip_header.list
|
|
$(VERBOSE)touch $@
|
|
$(ECHO) "applying patches to '$(CONTRIB_DIR)/'"
|
|
$(VERBOSE)for i in $(PATCHES); do patch -d $(CONTRIB_DIR) -p1 < $$i; done
|
|
$(VERBOSE)touch $(CONTRIB_DIR)/drivers/usb/dwc3/gadget.h
|
|
$(VERBOSE)touch $(CONTRIB_DIR)/drivers/usb/dwc3/debug.h
|
|
|
|
|
|
$(DOWNLOAD_DIR):
|
|
$(VERBOSE)mkdir -p $@
|
|
|
|
$(DOWNLOAD_DIR)/$(LINUX_TGZ): $(DOWNLOAD_DIR)
|
|
$(ECHO) "downloading source code to '$@'"
|
|
$(VERBOSE)cd $(DOWNLOAD_DIR); wget -c $(LINUX_URL)
|
|
$(VERBOSE)touch $@
|
|
|
|
clean:
|
|
$(VERBOSE)rm -rf $(CONTRIB_DIR)
|
|
|
|
cleanall: clean
|
|
$(VERBOSE)rm -rf $(DOWNLOAD_DIR)
|