X-Git-Url: http://git.ozlabs.org/?p=yaboot.git;a=blobdiff_plain;f=Makefile;h=fe2f2fd38ad5174f35b1280a746455b3412e78bf;hp=068d3e5afa7448602d454eb8c9acf800b383ab04;hb=526b77920b050e1e37e842e8def4a5e7fb04cee6;hpb=0ef1539b6f680ba09c88be5bb94a821fd2599931;ds=sidebyside diff --git a/Makefile b/Makefile index 068d3e5..fe2f2fd 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ include Config -VERSION = 1.3.4 +VERSION = 1.3.14 # Debug mode (spam/verbose) DEBUG = 0 # make install vars @@ -20,18 +20,23 @@ TEXTADDR = 0x200000 # Malloc block at 3Mb -> 4Mb MALLOCADDR = 0x300000 MALLOCSIZE = 0x100000 -# Load kernel at 20Mb and ramdisk just after -KERNELADDR = 0x01400000 +# Load kernel and ramdisk at real-base. If there is overlap, will retry until find open space +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 # The flags for the yaboot binary. # -YBCFLAGS = -Os $(CFLAGS) -nostdinc -Wall -isystem `gcc -print-file-name=include` -fsigned-char -YBCFLAGS += -DVERSION=\"${VERSION}\" #" +YBCFLAGS = -Os $(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) @@ -59,11 +64,11 @@ endif # Link flags # -LFLAGS = -Ttext $(TEXTADDR) -Bstatic +LFLAGS = -Ttext $(TEXTADDR) -Bstatic -melf32ppclinux # Libraries # -LLIBS = lib/libext2fs.a +LLIBS = -lext2fs # For compiling userland utils # @@ -93,12 +98,8 @@ ifeq ($(CONFIG_FS_REISERFS),y) OBJS += second/fs_reiserfs.o endif -CC = $(CROSS)gcc -LD = $(CROSS)ld -AS = $(CROSS)as -OBJCOPY = $(CROSS)objcopy - -lgcc = `$(CC) -print-libgcc-file-name` +# compilation +lgcc = `$(CC) -m32 -print-libgcc-file-name` all: yaboot addnote mkofboot @@ -110,10 +111,14 @@ 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 + @if [ $$(grep '^VERSION=' ybin/ybin | cut -f2 -d=) != ${VERSION} ] ; then \ + echo "ybin/ybin: warning: VERSION mismatch"; \ + false; \ + fi %.o: %.c $(CC) $(YBCFLAGS) -c -o $@ $< @@ -124,27 +129,47 @@ mkofboot: dep: makedepend -Iinclude *.c lib/*.c util/*.c gui/*.c +docs: + make -C doc all + bindist: all mkdir ../yaboot-binary-${VERSION} - ${GETROOT} make ROOT=../yaboot-binary-${VERSION} install + $(GETROOT) make ROOT=../yaboot-binary-${VERSION} install 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 - mv ../yaboot-binary-${VERSION}/etc/yaboot.conf ../yaboot-binary-${VERSION}/usr/local/share/doc/ + 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/ rmdir ../yaboot-binary-${VERSION}/etc - ${GETROOT} tar -C ../yaboot-binary-${VERSION} -zcvpf ../yaboot-binary-${VERSION}.tar.gz . + $(GETROOT) tar -C ../yaboot-binary-${VERSION} -zcvpf ../yaboot-binary-${VERSION}.tar.gz . rm -rf ../yaboot-binary-${VERSION} 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 . -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 + +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 @@ -185,7 +210,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