blob: 7e61cb8165132822a56b2b5c8b273e94e3233f2b [file] [log] [blame]
#
# Makefile for the Baget specific kernel interface routines
# under Linux.
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
# Note 2! The CFLAGS definitions are now in the main makefile...
all: baget.a
O_TARGET := baget.a
export-objs := vacrtc.o
obj-y := baget.o print.o setup.o time.o irq.o bagetIRQ.o \
reset.o
obj-$(CONFIG_VAC_RTC) += vacrtc.o
bagetIRQ.o : bagetIRQ.S
$(CC) $(CFLAGS) -c -o $@ $<
##################### Baget Loader stuff ########################
image: ../../../vmlinux
cp -f $< $@
image.bin: image
$(OBJCOPY) -O binary $< $@
ramdisk.bin:
echo "Dummy ramdisk used. Provide your own if needed !" > $@
dummy.c:
touch $@
dummy.o: dummy.c image.bin ramdisk.bin
$(CC) $(CFLAGS) -c -o $@ $<
$(OBJCOPY) --add-section=.vmlinux=image.bin \
--add-section=.ramdisk=ramdisk.bin $@
balo.h: image
$(NM) $< | awk ' \
BEGIN { printf "/* DO NOT EDIT THIS FILE */\n" } \
/_ftext/ { printf "#define LOADADDR 0x%s\n", $$1 } \
/kernel_entry/ { printf "#define START 0x%s\n", $$1 } \
/balo_ramdisk_base/ { printf "#define RAMDISK_BASE 0x%s\n", $$1 } \
/balo_ramdisk_size/ { printf "#define RAMDISK_SIZE 0x%s\n", $$1 } \
' > $@
balo.o: balo.c balo.h
$(CC) $(CFLAGS) -c $<
balo_supp.o: balo_supp.S
$(CC) $(CFLAGS) -c $<
balo: balo.o dummy.o balo_supp.o print.o
$(LD) $(LDFLAGS) -T ld.script.balo -o $@ $^
clean:
rm -f balo balo.h dummy.c image image.bin
include $(TOPDIR)/Rules.make