export CURR:=$(shell pwd)/ export ROOTCMD:=sudo device=/dev/mmcblk0 device1=$(device)p1 device2=$(device)p2 stampdir=$(CURR)stamp/ all: $(stampdir)init.stamp $(stampdir)bootscript.stamp $(stampdir)rootfs.stamp $(stampdir)emulator.stamp $(stampdir)customize.stamp $(stampdir)init.stamp: mkdir -p $(CURR)distro/p1 mkdir -p $(CURR)distro/p2 mkdir -p $(CURR)stamp touch $@ $(stampdir)bootscript.stamp: $(stampdir)init.stamp mkimage -A arm -O linux -a 0 -e 0 -T script -C none -n "EfikaMX Boot Script" -d $(CURR)conf/bootscript $(CURR)distro/p1/boot.scr mkimage -A arm -O linux -a 0 -e 0 -T script -C none -n "EfikaMX Boot Script" -d $(CURR)conf/bootscript-intarget $(CURR)distro/p1/boot-intarget.scr touch $@ $(stampdir)rootfs.stamp: $(stampdir)init.stamp $(ROOTCMD) multistrap -f $(CURR)conf/armhf.conf touch $@ $(stampdir)emulator.stamp: $(stampdir)rootfs.stamp sudo cp /usr/bin/qemu-arm-static $(CURR)distro/p2/usr/bin/ touch $@ $(stampdir)customize.stamp: $(stampdir)emulator.stamp $(ROOTCMD) $(CURR)helpers/common-config $(CURR)distro/p2/ $(ROOTCMD) $(CURR)helpers/efika-config $(CURR)distro/p2/ touch $@ sd: $(stampdir)sdcheck.stamp $(stampdir)sdumount.stamp $(stampdir)sdcheck.stamp: test -b $(device) && touch $@ $(stampdir)sdpartition.stamp: $(stampdir)sdcheck.stamp ## sudo parted $(device) mkpartfs primary vfat 0% 128M ## sudo parted $(device) mkpartfs primary ext4 128M 100% $(CURR)/helpers/partitioner $(device) touch $@ $(stampdir)sdformat.stamp: $(stampdir)sdpartition.stamp sudo mkfs.vfat $(device1) sudo mkfs.ext4 $(device2) touch $@ $(stampdir)sdmount.stamp: $(stampdir)sdformat.stamp mkdir -p $(CURR)mnt/p1 mkdir -p $(CURR)mnt/p2 sudo mount $(device1) $(CURR)mnt/p1 sudo mount $(device2) $(CURR)mnt/p2 touch $@ $(stampdir)sdcopy.stamp: $(stampdir)sdmount.stamp sudo cp -R $(CURR)distro/p1/* $(CURR)mnt/p1/ sudo cp -Ra $(CURR)distro/p2/* $(CURR)mnt/p2/ touch $@ $(stampdir)sdumount.stamp: $(stampdir)sdcopy.stamp sudo umount $(CURR)mnt/p1 sudo umount $(CURR)mnt/p2 touch $@ push: git push emdebian --all clean: rm -rf $(CURR)build/ $(CURR)stamp/ $(CURR)mnt/ sudo rm -rf $(CURR)distro cleansd: rm -rf $(CURR)stamp/sd*.stamp .PHONY: init bootscript rootfs emulator customize push clean sd