Hi, I have some some patches here: http://git.infradead.org/users/dhowells/linux-headers.git that split the user API out of the main kernel headers. The patches are committed on branch uapi-split and consist of two subsets: (1) master to tag uapi-prep-20120511 These patches prepare for the UAPI split. (2) Tag uapi-prep-20120511 to tag uapi-post-split-20120511. These patches perform the UAPI split. Note that most of these patches are generated by some perl scripts that I've written. The problem is that the first subset of patches modify the Kbuild stuff ready for the second subset, but header installation then fails until all of the second subset is applied. So building make allyesconfig for x86_64 at the first tag results in the following errors: INSTALL include/asm (3 files) make[3]: *** No rule to make target `/data/fs/linux-2.6-uapi/usr/include/asm-generic/auxvec.h', needed by `/data/fs/linux-2.6-uapi/usr/include/asm-generic/.check'. Stop. make[2]: *** [asm-generic] Error 2 make[2]: *** Waiting for unfinished jobs.... make[3]: *** No rule to make target `/data/fs/linux-2.6-uapi/usr/include/drm/drm.h', needed by `/data/fs/linux-2.6-uapi/usr/include/drm/.check'. Stop. make[3]: *** make[2]: *** [drm] Error 2 No rule to make target `/data/fs/linux-2.6-uapi/usr/include/mtd/inftl-user.h', needed by `/data/fs/linux-2.6-uapi/usr/include/mtd/.check'. Stop. make[2]: *** [mtd] Error 2 make[3]: *** No rule to make target `/data/fs/linux-2.6-uapi/usr/include/rdma/ib_user_cm.h', needed by `/data/fs/linux-2.6-uapi/usr/include/rdma/.check'. Stop. make[2]: *** [rdma] Error 2 make[4]: *** No rule to make target `/data/fs/linux-2.6-uapi/usr/include/linux/byteorder/big_endian.h', needed by `/data/fs/linux-2.6-uapi/usr/include/linux/byteorder/.check'. Stop. make[3]: *** [byteorder] Error 2 make[3]: *** Waiting for unfinished jobs.... make[4]: *** No rule to make target `/data/fs/linux-2.6-uapi/usr/include/linux/caif/caif_socket.h', needed by `/data/fs/linux-2.6-uapi/usr/include/linux/caif/.check'. Stop. make[3]: *** [caif] Error 2 make[4]: *** No rule to make target `/data/fs/linux-2.6-uapi/usr/include/linux/can/bcm.h', needed by `/data/fs/linux-2.6-uapi/usr/include/linux/can/.check'. Stop. make[3]: *** [can] Error 2 make[4]: *** No rule to make target `/data/fs/linux-2.6-uapi/usr/include/linux/dvb/audio.h', needed by `/data/fs/linux-2.6-uapi/usr/include/linux/dvb/.check'. Stop. make[3]: *** [dvb] Error 2 make[2]: *** [linux] Error 2 make[1]: *** [headers_check] Error 2 make: *** [vmlinux] Error 2 I'm not sure of the best way to deal with this. Possibly, the best way is just to ignore it since it only affects header installation, and only in the middle of this set of patches. However, it would be nice to make it so that I can push the patches piecemeal through the system. That would allow me to push various individual disintegration patches through the trees to which they pertain (so arch patches through arch trees, for example). Any suggestions? David -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html