[BACK]Return to Makefile CVS log [TXT][DIR] Up to [local] / src

Diff for /src/Makefile between version 1.44 and 1.59

version 1.44, 1999/01/08 00:26:59 version 1.59, 2000/12/12 18:37:12
Line 38 
Line 38 
   
 SUBDIR+= sys lkm  SUBDIR+= sys lkm
   
 .if (${KERBEROS} == "yes")  .if (${KERBEROS:L} == "yes")
 SUBDIR+= kerberosIV  SUBDIR+= kerberosIV
 .endif  .endif
   
Line 57 
Line 57 
 .endif  .endif
   
 includes:  includes:
         (cd ${.CURDIR}/include; ${MAKE} includes)          (cd ${.CURDIR}/include; ${MAKE} prereq; ${MAKE} includes)
   
 beforeinstall:  beforeinstall:
 .ifndef DESTDIR  .ifndef DESTDIR
Line 77 
Line 77 
         rm -f ${GLOBAL_AUTOCONF_CACHE}          rm -f ${GLOBAL_AUTOCONF_CACHE}
 .endif  .endif
         (cd ${.CURDIR}/share/mk && ${SUDO} ${MAKE} install)          (cd ${.CURDIR}/share/mk && ${SUDO} ${MAKE} install)
         (cd ${.CURDIR}/include; ${SUDO} ${MAKE} includes)          (cd ${.CURDIR}/include; ${MAKE} prereq; ${SUDO} ${MAKE} includes)
         ${SUDO} ${MAKE} cleandir          ${SUDO} ${MAKE} cleandir
         (cd ${.CURDIR}/lib && ${MAKE} depend && ${MAKE} && \          (cd ${.CURDIR}/lib && ${MAKE} depend && ${MAKE} && \
             ${SUDO} ${MAKE} install)              NOMAN=1 ${SUDO} ${MAKE} install)
         (cd ${.CURDIR}/gnu/lib && ${MAKE} depend && ${MAKE} && \          (cd ${.CURDIR}/gnu/lib && ${MAKE} depend && ${MAKE} && \
             ${SUDO} ${MAKE} install)              NOMAN=1 ${SUDO} ${MAKE} install)
 .if (${MACHINE_ARCH} == "mips")  .if (${KERBEROS:L} == "yes")
         ldconfig          (cd ${.CURDIR}/kerberosIV/lib && ${MAKE} depend && ${MAKE} && \
               NOMAN=1 ${SUDO} ${MAKE} install)
 .endif  .endif
 .if (${KERBEROS} == "yes")          (cd ${.CURDIR}/gnu/usr.bin/perl && \
         (cd ${.CURDIR}/kerberosIV && ${MAKE} build)              ${MAKE} -f Makefile.bsd-wrapper depend && \
 .endif              ${MAKE} -f Makefile.bsd-wrapper perl.lib && \
               ${SUDO} ${MAKE} -f Makefile.bsd-wrapper install.lib)
 .if (${MACHINE_ARCH} == "mips")  .if (${MACHINE_ARCH} == "mips")
         ldconfig          ldconfig -R
 .endif  .endif
         ${MAKE} depend && ${MAKE} && ${SUDO} ${MAKE} install          ${MAKE} depend && ${MAKE} && ${SUDO} ${MAKE} install
   
Line 98 
Line 100 
 cross-tools:  cross-tools:
         echo "TARGET must be set"; exit 1          echo "TARGET must be set"; exit 1
 .else  .else
 cross-tools:    cross-helpers cross-includes cross-binutils cross-gcc cross-lib  cross-tools:    cross-helpers cross-dirs cross-includes cross-binutils \
           cross-gcc cross-lib
   
 CROSSDIR=       ${DESTDIR}/usr/cross/${TARGET}  CROSSDIR=       ${DESTDIR}/usr/cross/${TARGET}
 CROSSENV=       AR=${CROSSDIR}/usr/bin/ar AS=${CROSSDIR}/usr/bin/as \  CROSSENV=       AR=${CROSSDIR}/usr/bin/ar AS=${CROSSDIR}/usr/bin/as \
                 CC=${CROSSDIR}/usr/bin/cc CPP=${CROSSDIR}/usr/bin/cpp \                  CC=${CROSSDIR}/usr/bin/cc CPP=${CROSSDIR}/usr/bin/cpp \
                 LD=${CROSSDIR}/usr/bin/ld NM=${CROSSDIR}/usr/bin/nm \                  LD=${CROSSDIR}/usr/bin/ld NM=${CROSSDIR}/usr/bin/nm \
                   LORDER=${CROSSDIR}/usr/bin/lorder \
                 RANLIB=${CROSSDIR}/usr/bin/ranlib \                  RANLIB=${CROSSDIR}/usr/bin/ranlib \
                 SIZE=${CROSSDIR}/usr/bin/size STRIP=${CROSSDIR}/usr/bin/strip \                  SIZE=${CROSSDIR}/usr/bin/size STRIP=${CROSSDIR}/usr/bin/strip \
                 HOSTCC=cc                  HOSTCC=cc
   
 cross-helpers:  cross-helpers:
         -mkdir -p ${CROSSDIR}/usr/include          mkdir -p ${CROSSDIR}
         echo _MACHINE_ARCH | \          echo _MACHINE_ARCH | \
             cat ${.CURDIR}/sys/arch/${TARGET}/include/param.h - | \              cat ${.CURDIR}/sys/arch/${TARGET}/include/param.h - | \
             ${CPP} -E -I${.CURDIR}/sys/arch | \              ${CPP} -E -I${.CURDIR}/sys/arch | \
             sed -n '$$p' >${CROSSDIR}/TARGET_ARCH              sed -n '$$p' >${CROSSDIR}/TARGET_ARCH
   # GROSS KLUDGE  MACHINE_ARCH is mips, but we use mipsel for gnu tools.
   .if ${TARGET} == "arc" || ${TARGET} == "pmax"
         eval `grep '^osr=' sys/conf/newvers.sh`; \          eval `grep '^osr=' sys/conf/newvers.sh`; \
              sed "s/\$$/el-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \
              ${CROSSDIR}/TARGET_CANON
   .else
           eval `grep '^osr=' sys/conf/newvers.sh`; \
            sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \             sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \
            ${CROSSDIR}/TARGET_CANON             ${CROSSDIR}/TARGET_CANON
   .endif
   
 cross-includes:  cross-dirs:     ${CROSSDIR}/stamp.dirs
         -mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include          @-mkdir -p ${CROSSDIR}
         ${MAKE} MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \          @-mkdir -p ${CROSSDIR}/usr/obj
             DESTDIR=${CROSSDIR} includes          @-mkdir -p ${CROSSDIR}/usr/bin
         ln -sf ${CROSSDIR}/usr/include \          @-mkdir -p ${CROSSDIR}/usr/include
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include          @-mkdir -p ${CROSSDIR}/usr/lib
           @-mkdir -p ${CROSSDIR}/var/db
           @-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`
           @ln -sf ${CROSSDIR}/usr/include \
                   ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include
           @ln -sf ${CROSSDIR}/usr/lib \
               ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/lib
           @-mkdir -p ${CROSSDIR}/usr/obj
           @-mkdir -p ${CROSSDIR}/usr/bin
           @-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin
   
   ${CROSSDIR}/stamp.dirs:
           @touch ${CROSSDIR}/stamp.dirs
   
   cross-includes: cross-dirs
           export MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` ;\
               ${MAKE} DESTDIR=${CROSSDIR} includes
   
 .if ${TARGET} == "powerpc" || ${TARGET} == "alpha" || ${TARGET} == "arc" || \  .if ${TARGET} == "powerpc" || ${TARGET} == "alpha" || ${TARGET} == "arc" || \
     ${TARGET} == "pmax" || ${TARGET} == "wgrisc" || ${TARGET} == "hppa"      ${TARGET} == "pmax" || ${TARGET} == "wgrisc" || ${TARGET} == "hppa"
 cross-binutils: cross-binutils-new  cross-binutils: cross-binutils-new
Line 132 
Line 159 
 cross-binutils: cross-binutils-old  cross-binutils: cross-binutils-old
 .endif  .endif
   
 cross-binutils-new:  cross-binutils-new:     cross-dirs
         -mkdir -p ${CROSSDIR}/usr/obj  
         -mkdir -p ${CROSSDIR}/usr/bin  
         export BSDSRCDIR=`pwd`; \          export BSDSRCDIR=`pwd`; \
             (cd ${.CURDIR}/gnu/usr.bin/binutils; \              (cd ${.CURDIR}/gnu/usr.bin/binutils; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \              BSDOBJDIR=${CROSSDIR}/usr/obj \
Line 143 
Line 168 
             (cd ${CROSSDIR}/usr/obj/gnu/usr.bin/binutils; \              (cd ${CROSSDIR}/usr/obj/gnu/usr.bin/binutils; \
             /bin/sh ${BSDSRCDIR}/gnu/usr.bin/binutils/configure \              /bin/sh ${BSDSRCDIR}/gnu/usr.bin/binutils/configure \
             --prefix ${CROSSDIR}/usr \              --prefix ${CROSSDIR}/usr \
               --disable-nls --disable-gdbtk --disable-commonbfdlib \
             --target `cat ${CROSSDIR}/TARGET_CANON` && \              --target `cat ${CROSSDIR}/TARGET_CANON` && \
             ${MAKE} CFLAGS=${CFLAGS} && ${MAKE} DESTDIR=${CROSSDIR} install)              ${MAKE} CFLAGS=${CFLAGS} && ${MAKE} DESTDIR=${CROSSDIR} install)
         ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \          ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
             ${.CURDIR}/usr.bin/lorder/lorder.sh.gnm \              ${.CURDIR}/usr.bin/lorder/lorder.sh \
             ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-lorder              ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-lorder
         ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-as \          ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-as \
             ${CROSSDIR}/usr/bin/as              ${CROSSDIR}/usr/bin/as
Line 176 
Line 202 
 cross-binutils-old: cross-gas cross-ar cross-ld cross-strip cross-size \  cross-binutils-old: cross-gas cross-ar cross-ld cross-strip cross-size \
         cross-ranlib cross-nm          cross-ranlib cross-nm
   
 cross-gas:  cross-gas:      cross-dirs
         -mkdir -p ${CROSSDIR}/usr/obj  
         -mkdir -p ${CROSSDIR}/usr/bin  
         -mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin  
         (cd ${.CURDIR}/gnu/usr.bin/gas; \          (cd ${.CURDIR}/gnu/usr.bin/gas; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \              BSDOBJDIR=${CROSSDIR}/usr/obj \
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
Line 192 
Line 215 
         ln -sf ${CROSSDIR}/usr/bin/as \          ln -sf ${CROSSDIR}/usr/bin/as \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/as              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/as
   
 cross-ld:  cross-ld:       cross-dirs
         -mkdir -p ${CROSSDIR}/usr/obj  
         -mkdir -p ${CROSSDIR}/usr/bin  
         (cd ${.CURDIR}/gnu/usr.bin/ld; \          (cd ${.CURDIR}/gnu/usr.bin/ld; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \              BSDOBJDIR=${CROSSDIR}/usr/obj \
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
Line 207 
Line 228 
         ln -sf ${CROSSDIR}/usr/bin/ld \          ln -sf ${CROSSDIR}/usr/bin/ld \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ld              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ld
   
 cross-ar:  cross-ar:       cross-dirs
         -mkdir -p ${CROSSDIR}/usr/obj  
         -mkdir -p ${CROSSDIR}/usr/bin  
         (cd ${.CURDIR}/usr.bin/ar; \          (cd ${.CURDIR}/usr.bin/ar; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \              BSDOBJDIR=${CROSSDIR}/usr/obj \
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
Line 220 
Line 239 
         ln -sf ${CROSSDIR}/usr/bin/ar \          ln -sf ${CROSSDIR}/usr/bin/ar \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ar              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ar
   
 cross-ranlib:  cross-ranlib:   cross-dirs
         -mkdir -p ${CROSSDIR}/usr/obj  
         -mkdir -p ${CROSSDIR}/usr/bin  
         (cd ${.CURDIR}/usr.bin/ranlib; \          (cd ${.CURDIR}/usr.bin/ranlib; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \              BSDOBJDIR=${CROSSDIR}/usr/obj \
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
Line 233 
Line 250 
         ln -sf ${CROSSDIR}/usr/bin/ranlib \          ln -sf ${CROSSDIR}/usr/bin/ranlib \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ranlib              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ranlib
   
 cross-strip:  cross-strip:    cross-dirs
         -mkdir -p ${CROSSDIR}/usr/obj  
         -mkdir -p ${CROSSDIR}/usr/bin  
         (cd ${.CURDIR}/usr.bin/strip; \          (cd ${.CURDIR}/usr.bin/strip; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \              BSDOBJDIR=${CROSSDIR}/usr/obj \
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
Line 247 
Line 262 
         ln -sf ${CROSSDIR}/usr/bin/strip \          ln -sf ${CROSSDIR}/usr/bin/strip \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/strip              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/strip
   
 cross-size:  cross-size:     cross-dirs
         -mkdir -p ${CROSSDIR}/usr/obj  
         -mkdir -p ${CROSSDIR}/usr/bin  
         (cd ${.CURDIR}/usr.bin/size; \          (cd ${.CURDIR}/usr.bin/size; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \              BSDOBJDIR=${CROSSDIR}/usr/obj \
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
Line 261 
Line 274 
         ln -sf ${CROSSDIR}/usr/bin/size \          ln -sf ${CROSSDIR}/usr/bin/size \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/size              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/size
   
 cross-nm:  cross-nm:       cross-dirs
         -mkdir -p ${CROSSDIR}/usr/obj  
         -mkdir -p ${CROSSDIR}/usr/bin  
         (cd ${.CURDIR}/usr.bin/nm; \          (cd ${.CURDIR}/usr.bin/nm; \
             BSDOBJDIR=${CROSSDIR}/usr/obj \              BSDOBJDIR=${CROSSDIR}/usr/obj \
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
Line 275 
Line 286 
         ln -sf ${CROSSDIR}/usr/bin/nm \          ln -sf ${CROSSDIR}/usr/bin/nm \
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/nm              ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/nm
   
 cross-gcc:  cross-gcc:      cross-dirs
         -mkdir -p ${CROSSDIR}/usr/obj          cd ${.CURDIR}/gnu/egcs/gcc; \
         -mkdir -p ${CROSSDIR}/usr/bin  
         cd ${.CURDIR}/gnu/usr.bin/gcc; \  
             BSDOBJDIR=${CROSSDIR}/usr/obj BSDSRCDIR=${.CURDIR} \              BSDOBJDIR=${CROSSDIR}/usr/obj BSDSRCDIR=${.CURDIR} \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             ${MAKE} -f Makefile.bsd-wrapper obj              ${MAKE} -f Makefile.bsd-wrapper obj
         (cd ${CROSSDIR}/usr/obj/gnu/usr.bin/gcc; \          (cd ${CROSSDIR}/usr/obj/gnu/egcs/gcc; \
             /bin/sh ${.CURDIR}/gnu/usr.bin/gcc/configure \              /bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \
             --prefix ${CROSSDIR}/usr \              --prefix ${CROSSDIR}/usr \
             --target `cat ${CROSSDIR}/TARGET_CANON` && \              --target `cat ${CROSSDIR}/TARGET_CANON` && \
             ${MAKE} BISON=yacc LANGUAGES=c LDFLAGS=${LDSTATIC} \              ${MAKE} BISON=yacc LANGUAGES=c LDFLAGS=${LDSTATIC} \
Line 302 
Line 311 
         chmod ${BINMODE} ${CROSSDIR}/usr/bin/cpp          chmod ${BINMODE} ${CROSSDIR}/usr/bin/cpp
         chown ${BINOWN}.${BINGRP} ${CROSSDIR}/usr/bin/cpp          chown ${BINOWN}.${BINGRP} ${CROSSDIR}/usr/bin/cpp
   
 cross-lib:  # XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later
         -mkdir -p ${CROSSDIR}/usr/obj  cross-lib:      cross-dirs
         -mkdir -p ${CROSSDIR}/usr/lib  
         -mkdir -p ${CROSSDIR}/var/db  
         MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \          MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
         export MACHINE MACHINE_ARCH; \          export MACHINE MACHINE_ARCH; \
         (cd ${.CURDIR}/lib; \          (cd ${.CURDIR}/lib; \
Line 315 
Line 322 
             for lib in csu libc; do \              for lib in csu libc; do \
                 (cd $$lib; \                  (cd $$lib; \
                     ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \                      ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                       ${MAKE} NOMAN= depend; \
                       ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                     ${MAKE} NOMAN=; \                      ${MAKE} NOMAN=; \
                     ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \                      ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                     DESTDIR=${CROSSDIR} ${MAKE} NOMAN= install); \                      DESTDIR=${CROSSDIR} ${MAKE} NOMAN= install); \
             done; \              done; \
               ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
               ${MAKE} NOMAN= depend; \
             ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \              ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
             ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             DESTDIR=${CROSSDIR} SKIPDIR=libocurses/PSD.doc \              DESTDIR=${CROSSDIR} SKIPDIR=libocurses/PSD.doc \
             ${MAKE} NOMAN= install)              ${MAKE} NOMAN= install)
         ln -sf ${CROSSDIR}/usr/lib \  .if (${KERBEROS:L} == "yes")
             ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/lib          (cd kerberosIV; \
               BSDOBJDIR=${CROSSDIR}/usr/obj \
               BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
               ${MAKE} obj; \
               for lib in acl krb kadm kafs kdb; do \
                   (cd $$lib; \
                       ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                       ${MAKE} NOMAN= depend; \
                       ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                       ${MAKE} NOMAN=; \
                       DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                       ${MAKE} NOMAN= install); \
               done)
   .endif
 .endif  .endif
   
 .include <bsd.subdir.mk>  .include <bsd.subdir.mk>

Legend:
Removed from v.1.44  
changed lines
  Added in v.1.59