X-Git-Url: http://git.ozlabs.org/?p=yaboot.git;a=blobdiff_plain;f=Makefile;h=4ca7c5668151c593a410e12260214de8de96cc51;hp=6681ac46beee3cfd0de8f79b2301659ba16adf64;hb=94b9f91a346ceed386faf284ad2e549922a1a385;hpb=9323f7c29a886304325b1562450729a12e0ccbea diff --git a/Makefile b/Makefile index 6681ac4..4ca7c56 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ include Config -VERSION = 1.3.5 +VERSION = 1.3.17 # Debug mode (spam/verbose) DEBUG = 0 # make install vars @@ -15,27 +15,33 @@ GETROOT = fakeroot # We use fixed addresses to avoid overlap when relocating # and other trouble with initrd -# Load the bootstrap at 2Mb -TEXTADDR = 0x200000 -# Malloc block at 3Mb -> 4Mb -MALLOCADDR = 0x300000 +# Load the bootstrap at 1Mb +TEXTADDR = 0x100000 +# Malloc block of 1MB MALLOCSIZE = 0x100000 -# Load kernel at 20Mb and ramdisk just after -KERNELADDR = 0x01400000 +# Load kernel and ramdisk at as low as possible +KERNELADDR = 0x00000000 # Set this to the prefix of your cross-compiler, if you have one. # Else leave it empty. # -CROSS = +CROSS = + +CC := $(CROSS)gcc +LD := $(CROSS)ld +AS := $(CROSS)as +OBJCOPY := $(CROSS)objcopy +STRIP := $(CROSS)strip # The flags for the yaboot binary. # -YBCFLAGS = -Os $(CFLAGS) -nostdinc -Wall -isystem `gcc -print-file-name=include` -fsigned-char -YBCFLAGS += -DVERSION=\"${VERSION}\" #" +YBCFLAGS = -Os -m32 $(CFLAGS) -nostdinc -Wall -isystem `$(CC) -m32 -print-file-name=include` -fsigned-char +YBCFLAGS += -DVERSION="\"${VERSION}${VERSIONEXTRA}\"" YBCFLAGS += -DTEXTADDR=$(TEXTADDR) -DDEBUG=$(DEBUG) YBCFLAGS += -DMALLOCADDR=$(MALLOCADDR) -DMALLOCSIZE=$(MALLOCSIZE) YBCFLAGS += -DKERNELADDR=$(KERNELADDR) YBCFLAGS += -I ./include +YBCFLAGS += -fno-strict-aliasing ifeq ($(CONFIG_COLOR_TEXT),y) YBCFLAGS += -DCONFIG_COLOR_TEXT @@ -59,11 +65,11 @@ endif # Link flags # -LFLAGS = -Ttext $(TEXTADDR) -Bstatic +LFLAGS = -Ttext $(TEXTADDR) -Bstatic -melf32ppclinux # Libraries # -LLIBS = lib/libext2fs.a +LLIBS = -lext2fs # For compiling userland utils # @@ -78,7 +84,9 @@ HOSTCFLAGS = -O2 $(CFLAGS) -Wall -I/usr/include OBJS = second/crt0.o second/yaboot.o second/cache.o second/prom.o second/file.o \ second/partition.o second/fs.o second/cfg.o second/setjmp.o second/cmdline.o \ - second/fs_of.o second/fs_ext2.o second/fs_iso.o second/iso_util.o \ + second/fs_of.o second/fs_ext2.o second/fs_iso.o second/fs_swap.o \ + second/iso_util.o \ + lib/nonstd.o \ lib/nosys.o lib/string.o lib/strtol.o lib/vsprintf.o lib/ctype.o lib/malloc.o lib/strstr.o ifeq ($(USE_MD5_PASSWORDS),y) @@ -94,12 +102,7 @@ OBJS += second/fs_reiserfs.o endif # compilation -CC := $(CROSS)gcc -LD := $(CROSS)ld -AS := $(CROSS)as -OBJCOPY := $(CROSS)objcopy - -lgcc = `$(CC) -print-libgcc-file-name` +lgcc = `$(CC) -m32 -print-libgcc-file-name` all: yaboot addnote mkofboot @@ -111,7 +114,7 @@ addnote: $(CC) $(UCFLAGS) -o util/addnote util/addnote.c elfextract: - $(HOSTCC) $(HOSTCFLAGS) -o util/elfextract util/elfextract.c + $(CC) $(UCFLAGS) -o util/elfextract util/elfextract.c mkofboot: ln -sf ybin ybin/mkofboot @@ -138,6 +141,7 @@ bindist: all mkdir -p -m 755 ../yaboot-binary-${VERSION}/usr/local/share/doc/yaboot cp -a COPYING ../yaboot-binary-${VERSION}/usr/local/share/doc/yaboot/COPYING cp -a README ../yaboot-binary-${VERSION}/usr/local/share/doc/yaboot/README + cp -a doc/README.rs6000 ../yaboot-binary-${VERSION}/usr/local/share/doc/yaboot/README.rs6000 cp -a doc/yaboot-howto.html ../yaboot-binary-${VERSION}/usr/local/share/doc/yaboot/yaboot-howto.html cp -a doc/yaboot-howto.sgml ../yaboot-binary-${VERSION}/usr/local/share/doc/yaboot/yaboot-howto.sgml mv ../yaboot-binary-${VERSION}/etc/yaboot.conf ../yaboot-binary-${VERSION}/usr/local/share/doc/yaboot/ @@ -147,28 +151,35 @@ bindist: all clean: rm -f second/yaboot util/addnote util/elfextract $(OBJS) - find . -name '#*' | xargs rm -f - find . -name '.#*' | xargs rm -f - find . -name '*~' | xargs rm -f - find . -name '*.swp' | xargs rm -f + find . -not -path './\{arch\}*' -name '#*' | xargs rm -f + find . -not -path './\{arch\}*' -name '.#*' | xargs rm -f + find . -not -path './\{arch\}*' -name '*~' | xargs rm -f + find . -not -path './\{arch\}*' -name '*.swp' | xargs rm -f + find . -not -path './\{arch\}*' -name ',,*' | xargs rm -rf -gunzip man/*.gz rm -rf man.deb - chmod 755 ybin/ybin ybin/ofpath ybin/yabootconfig - chmod -R u+rwX,go=rX . - chmod a-w COPYING + -rm cscope.* cleandocs: make -C doc clean +## removes arch revision control crap, only to be called for making +## release tarballs. arch should have a export command like cvs... + +archclean: + rm -rf '{arch}' + find . -type d -name .arch-ids | xargs rm -rf + rm -f 0arch-timestamps0 + maintclean: clean cleandocs release: docs bindist clean strip: all - strip second/yaboot - strip --remove-section=.comment second/yaboot - strip util/addnote - strip --remove-section=.comment --remove-section=.note util/addnote + $(STRIP) second/yaboot + $(STRIP) --remove-section=.comment second/yaboot + $(STRIP) util/addnote + $(STRIP) --remove-section=.comment --remove-section=.note util/addnote install: all strip install -d -o root -g root -m 0755 ${ROOT}/etc/ @@ -203,7 +214,7 @@ install: all strip @echo @echo "Installation successful." @echo - @echo "An example /etc/yaboot.conf has been installed (unless /etc/yaboot.conf already existed" + @echo "An example /etc/yaboot.conf has been installed (unless /etc/yaboot.conf already existed)" @echo "You may either alter that file to match your system, or alternatively run yabootconfig" @echo "yabootconfig will generate a simple and valid /etc/yaboot.conf for your system" @echo @@ -231,3 +242,8 @@ deinstall: @echo "${ROOT}/etc/yaboot.conf has not been removed, you may remove it yourself if you wish." uninstall: deinstall + +.PHONY: cscope +cscope: + (echo \-k; echo \-q; find . -name '*.[chS]' )> cscope.files + cscope -b -f cscope.out