Return to Makefile CVS log | Up to [cvs.NetBSD.org] / src / sys / rump / librump / rumpkern |
File: [cvs.NetBSD.org] / src / sys / rump / librump / rumpkern / Makefile (download)
Revision 1.25, Wed Jan 2 18:15:14 2008 UTC (16 years, 2 months ago) by pooka
Add the ability to run puffs in userspace. This means that puffs can now be developed in userspace using puffs for development (I hate emulators, they are annoyingly clumsy). To e.g. mount psshfs using puffs-on-puffs, run fs/bin/syspuffs/syspuffs with the regular mount_psshfs command line as an argument: golem> ./syspuffs /usr/sbin/mount_psshfs ftp.netbsd.org:/pub /puffs This will make the mount appear as usual, with the exception that the requests will be passed through puffs both in the kernel and userspace: ftp.netbsd.org:/pub on /puffs type puffs|p2k|puffs|psshfs |
# $NetBSD: Makefile,v 1.25 2008/01/02 18:15:14 pooka Exp $ # .include <bsd.own.mk> .include "${NETBSDSRCDIR}/sys/rump/Makefile.rump" LIB= rump .PATH: ${NETBSDSRCDIR}/sys/kern ${NETBSDSRCDIR}/sys/lib/libkern \ ${NETBSDSRCDIR}/sys/conf ${NETBSDSRCDIR}/sys/dev \ ${NETBSDSRCDIR}/sys/miscfs/genfs \ ${NETBSDSRCDIR}/sys/miscfs/syncfs # implement something SRCS= rump.c atomic.c auth.c emul.c intr.c genfs_io.c locks.c \ ltsleep.c pool.c specfs.c vfs.c vm.c # just stubs SRCS+= fstrans_stub.c misc_stub.c pmap_stub.c vfsops_stub.c # sys/kern SRCS+= clock_subr.c kern_descrip.c kern_lock.c kern_stub.c param.c \ subr_bufq.c subr_hash.c subr_prf2.c subr_specificdata.c \ subr_time.c subr_workqueue.c sys_generic.c vfs_bio.c \ vfs_cache.c vfs_vnops.c vfs_init.c vfs_subr2.c vnode_if.c # sys/miscfs SRCS+= genfs_vnops.c sync_subr.c # src/kern bufq SRCS+= subr_bufq.c bufq_disksort.c bufq_fcfs.c bufq_priocscan.c \ bufq_readprio.c # src/lib/libkern SRCS+= __assert.c scanc.c skpc.c SRCS+= rumpvnode_if.c RUMPUSEROBJDIR != cd ${.CURDIR}/../rumpuser && ${PRINTOBJDIR} OBJS+= ${RUMPUSEROBJDIR}/rumpuser.o ${RUMPUSEROBJDIR}/rumpuser_pth.o CPPFLAGS+= -I${NETBSDSRCDIR}/sys -I${NETBSDSRCDIR}/common/include \ -I${NETBSDSRCDIR}/sys/rump/librump/rumpuser \ -I${.CURDIR}/opt -DMAXUSERS=32 CFLAGS+= -Wno-pointer-sign # Create a few files. We can't include them directly, because that # would create hideous namespace lossage. So just do some clever # (or less clever) renaming. # # Yes, this is borderline disgusting not to mention seriously # labile, but what are you gonna do for a quick hack? # VOPTORUMPVOP="-e s/vop/rump_vop/g;/VOPARG/!s/VOP/RUMP_VOP/g;/vfs_op_desc/,\$$d" VOPTORUMPVOP+="-e s/vm_prot_t/int/g" VOPTORUMPVOP+="-e s/voff_t/off_t/g;/sys\/buf\.h/s/.*/struct buf;/" RVNH=\#include \"rump.h\" rumpvnode_if.c: vnode_if.c sed ${VOPTORUMPVOP}";s/SYS_VNODE_IF_H/SYS_RUMPVNODE_IF_H/g" \ < ${NETBSDSRCDIR}/sys/sys/vnode_if.h > rumpvnode_if.h # XXX: some creative kludging to simulate 'a\' (I have no # clue how to make it work in a Makefile sed ${VOPTORUMPVOP}";/sys\/vnode.h/{x;s/.*/${RVNH}/;x;G;n;}" \ < ${NETBSDSRCDIR}/sys/kern/vnode_if.c > rumpvnode_if.c sed -n '/define/s/NAMEI_/RUMP_NAMEI_/p' \ < ${NETBSDSRCDIR}/sys/sys/namei.h > rumpdefs.h printf "#ifndef __VTYPE_DEFINED\n#define __VTYPE_DEFINED\n" \ >> rumpdefs.h sed -n '/enum vtype.*{/p' \ < ${NETBSDSRCDIR}/sys/sys/vnode.h >> rumpdefs.h printf "#endif /* __VTYPE_DEFINED */\n" >> rumpdefs.h printf "#ifndef EJUSTRETURN\n" >> rumpdefs.h sed -n '/EJUSTRETURN/p' \ < ${NETBSDSRCDIR}/sys/sys/errno.h >> rumpdefs.h printf "#endif /* EJUSTRETURN */\n" >> rumpdefs.h CLEANFILES+= rumpvnode_if.c rumpvnode_if.h rumpdefs.h beforedepend: rumpvnode_if.c .include <bsd.lib.mk> .include <bsd.klinks.mk>