CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
Improved efikamx's stuff. Now using Makefile rules for patterns to create boot scripts
[bootloader.git] / devices / efikamx / Makefile
index a9c7e56cae70f93b6c0d09d1134166df306feb38..0f0e36bc27dd0c7b6bf009da3ee8ebd4febd7703 100644 (file)
@@ -1,5 +1,5 @@
 #
-# uboot/devices/efikamx/Makefile
+# bootloader/devices/efikamx/Makefile
 #
 
 PWD = $(shell pwd)
@@ -7,13 +7,19 @@ WORK = $(PWD)/work
 MKIMAGE = $(PWD)/../../work/mkimage
 ZIMAGE = $(PWD)/../../../kernel/efikamx/work/zImage
 INITRDGZ = $(PWD)/../../../initrd/work/initrd.gz
-BOOTSCRIPT = $(PWD)/boot.script
+INITRAMFS = $(PWD)/../../../initramfs/work/initramfs
 
-.PHONY: all clean distclean uImage boot.scr uInitrd
+RAMDISK_TYPE = uInitrd
+#RAMDISK_TYPE = uInitramfs
 
-all: uImage bootscr uInitrd
+CONSOLE_DEVICE = tty0
+#CONSOLE_DEVICE = ttymxc0,115200
 
-clean: uImage-clean bootscr-clean uInitrd-clean
+.PHONY: all clean distclean kernel ramdisk bootscr
+
+all: kernel ramdisk bootscr
+
+clean: kernel-clean ramdisk-clean bootscr-clean
 
 distclean: clean
 
@@ -22,24 +28,14 @@ $(WORK):
 
 $(WORK)/uImage: $(WORK) $(MKIMAGE) $(ZIMAGE)
        $(MKIMAGE) -A arm -O linux -a 0x90008000 -e 0x90008000 \
-       -T kernel -C none -n "Linux-2.6.31.14.22-efikamx" \
+       -T kernel -C none -n "Linux-2.6.31.14.27-efikamx" \
        -d $(ZIMAGE) $(WORK)/uImage
 
-uImage: $(WORK)/uImage
+kernel: $(WORK)/uImage
 
-uImage-clean:
+kernel-clean:
        rm -f $(WORK)/uImage
 
-$(WORK)/boot.scr: $(WORK) $(MKIMAGE) $(BOOTSCRIPT)
-       $(MKIMAGE) -A arm -O linux -a 0 -e 0 \
-       -T script -C none -n "EfikaMX Boot Script" \
-       -d $(BOOTSCRIPT) $(WORK)/boot.scr
-
-bootscr: $(WORK)/boot.scr
-
-bootscr-clean:
-       rm -f $(WORK)/boot.scr
-
 $(WORK)/uInitrd: $(WORK) $(MKIMAGE) $(INITRDGZ)
        $(MKIMAGE) -A arm -O linux -a 0 -e 0 \
        -T ramdisk -C none -n "CRUX-ARM Initrd Image" \
@@ -50,4 +46,44 @@ uInitrd: $(WORK)/uInitrd
 uInitrd-clean:
        rm -f $(WORK)/uInitrd
 
+$(WORK)/uInitramfs: $(WORK) $(MKIMAGE) $(INITRAMFS)
+       $(MKIMAGE) -A arm -O linux -a 0 -e 0 \
+       -T ramdisk -C none -n "CRUX-ARM Initramfs Image" \
+       -d $(INITRAMFS) $(WORK)/uInitramfs
+
+uInitramfs: $(WORK)/uInitramfs
+
+uInitramfs-clean:
+       rm -f $(WORK)/uInitramfs
+
+ramdisk: $(RAMDISK_TYPE)
+
+ramdisk-clean: uInitrd-clean uInitramfs-clean
+
+$(WORK)/%.script: %.script.in
+       sed -e "s|@@RAMDISK_TYPE@@|$(RAMDISK_TYPE)|" -e "s|@@CONSOLE_DEVICE@@|$(CONSOLE_DEVICE)|" $< > $@
+
+$(WORK)/boot-ramdisk.scr: $(WORK)/boot-ramdisk.script $(MKIMAGE)
+       $(MKIMAGE) -A arm -O linux -a 0 -e 0 \
+       -T script -C none -n "EfikaMX Boot Script (ramdisk)" \
+       -d $(WORK)/boot-ramdisk.script \
+       $(WORK)/boot-ramdisk.scr
+
+$(WORK)/boot-sda.scr: $(WORK)/boot-sda.script $(MKIMAGE)
+       $(MKIMAGE) -A arm -O linux -a 0 -e 0 \
+       -T script -C none -n "EfikaMX Boot Script (sda)" \
+       -d $(WORK)/boot-sda.script \
+       $(WORK)/boot-sda.scr
+
+$(WORK)/boot-mmc.scr: $(WORK)/boot-mmc.script $(MKIMAGE)
+       $(MKIMAGE) -A arm -O linux -a 0 -e 0 \
+       -T script -C none -n "EfikaMX Boot Script (mmc)" \
+       -d $(WORK)/boot-mmc.script \
+       $(WORK)/boot-mmc.scr
+
+bootscr: $(WORK)/boot-ramdisk.scr $(WORK)/boot-sda.scr $(WORK)/boot-mmc.scr
+
+bootscr-clean:
+       rm -f $(WORK)/boot-*.scr*
+
 # End of file