diff --git a/libc/kernel/Android.mk b/libc/kernel/Android.mk
deleted file mode 100644
index 6ad9dab..0000000
--- a/libc/kernel/Android.mk
+++ /dev/null
@@ -1,82 +0,0 @@
-#
-# Copyright (C) 2012 The Android Open-Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#
-# This file does the bulk of the work to auto post-process kernel headers
-# provided by the device, board, and/or product.
-#
-# The build system exposes several variables for where to find the kernel
-# headers:
-#   TARGET_DEVICE_KERNEL_HEADERS is automatically created for the current
-#       device being built. It is set as $(TARGET_DEVICE_DIR)/kernel-headers,
-#       e.g. device/samsung/tuna/kernel-headers. This directory is not
-#       explicitly set by anyone, the build system always adds this subdir.
-#
-#   TARGET_BOARD_KERNEL_HEADERS is specified by the BoardConfig.mk file
-#       to allow other directories to be included. This is useful if there's
-#       some common place where a few headers are being kept for a group
-#       of devices. For example, device/<vendor>/common/kernel-headers could
-#       contain some headers for several of <vendor>'s devices.
-#
-#   TARGET_PRODUCT_KERNEL_HEADERS is generated by the product inheritance
-#       graph. This allows architecture products to provide headers for the
-#       devices using that architecture. For example,
-#       hardware/ti/omap4xxx/omap4.mk will specify
-#       PRODUCT_VENDOR_KERNEL_HEADERS variable that specify where the omap4
-#       specific headers are, e.g. hardware/ti/omap4xxx/kernel-headers.
-#       The build system then combines all the values specified by all the
-#       PRODUCT_VENDOR_KERNEL_HEADERS directives in the product inheritance
-#       tree and then exports a TARGET_PRODUCT_KERNEL_HEADERS variable.
-#
-# The directories specified in these three variables are scanned for header
-# files (files with .h suffix), processed with the clean_header.py script,
-# and dumped under TARGET_OUT_KERNEL_HEADERS
-# (typically $OUT/obj/kernel-headers). This subdirectory is then
-# automatically added to the include path.
-#
-# The files to be generated are added as a dependency to the
-# all_copied_headers rule to make sure that they are generated before
-# any C/C++ file that may need them.
-#
-#
-
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-_all_kernel_header_dirs := \
-	$(TARGET_DEVICE_KERNEL_HEADERS) \
-	$(TARGET_BOARD_KERNEL_HEADERS) \
-	$(TARGET_PRODUCT_KERNEL_HEADERS)
-
-define add-kernel-header-dir
-$(eval _headers := $(patsubst $(1)/%.h,%.h,$(shell find $(1)/ -type f -name '*.h')))
-$(eval GEN := $(addprefix $(TARGET_OUT_KERNEL_HEADERS)/,$(_headers)))
-$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
-$(GEN) : PRIVATE_MODULE := kernel-headers
-$(GEN) : PRIVATE_CUSTOM_TOOL = \
-					$$(LOCAL_PATH)/tools/clean_header.py \
-						-k $(1) -d $$(TARGET_OUT_KERNEL_HEADERS) $$< > $$@
-$(GEN) : $$(LOCAL_PATH)/tools/clean_header.py
-$(GEN) : $$(TARGET_OUT_KERNEL_HEADERS)/%.h : $(1)/%.h
-	$$(transform-generated-source)
-all_copied_headers: $(GEN)
-$(eval GEN :=)
-$(eval _headers :=)
-endef
-
-$(foreach d,$(_all_kernel_header_dirs),\
-    $(eval $(call add-kernel-header-dir,$(d))))
