.PHONY: all clean CC := musl-gcc CPU := $(shell nproc) all: ./initrd clean: rm -rf ./root ./initrd ./oksh ./nashville ./root/bin/nv: if [ ! -e "./nashville" ]; then svn co http://sw.nishi.boats/sw/~nishi/nashville/trunk nashville ; fi mkdir -p ./root/bin cd nashville && make STATIC=YES CC=$(CC) && cp bin/nashville ../$@ ./root/bin/sh: if [ ! -e "./oksh" ]; then git clone https://github.com/ibara/oksh ; fi mkdir -p ./root/bin cd oksh && CC=$(CC) ./configure --enable-static && make -j$(CPU) && cp oksh ../$@ ./initrd: ./root/bin/nv \ ./root/bin/sh \ ./dist/inittab \ ./dist/init \ ./dist/login \ ./dist/passwd \ ./dist/shadow \ ./dist/group \ ./dist/mount \ ./dist/startup mkdir -p ./root/sbin mkdir -p ./root/etc mkdir -p ./root/root mkdir -p ./root/dev mkdir -p ./root/sys mkdir -p ./root/tmp mkdir -p ./root/run mkdir -p ./root/proc cp ./dist/inittab ./root/etc/ cp ./dist/passwd ./root/etc/ cp ./dist/shadow ./root/etc/ cp ./dist/group ./root/etc/ cp ./dist/login ./root/bin/ chmod +x ./root/bin/login cp ./dist/mount ./root/sbin/ chmod +x ./root/sbin/mount cp ./dist/init ./root/sbin/ chmod +x ./root/sbin/init cp ./dist/startup ./root/ chmod +x ./root/startup -strip `find root` cd ./root ; \ ln -sf /bin/nv ./sbin/cinit ; \ ln -sf /bin/nv ./bin/cgetty ; \ ln -sf /bin/nv ./bin/clogin ; \ ln -sf /bin/nv ./sbin/cmount cd root && find . | cpio -o -H newc -R 0:0 > ../initrd