summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.in99
-rw-r--r--README.configure179
-rw-r--r--c/Makefile.in98
-rw-r--r--c/build-tools/Makefile.in13
-rw-r--r--c/build-tools/os/Makefile.in13
-rw-r--r--c/build-tools/os/msdos/Makefile.in39
-rw-r--r--c/build-tools/scripts/Makefile.in34
-rw-r--r--c/build-tools/src/Makefile.in61
-rw-r--r--c/build-tools/src/unhex.c6
-rw-r--r--c/build-tools/unhex.c6
-rw-r--r--c/src/Makefile.in15
-rw-r--r--c/src/exec/Makefile.in17
-rw-r--r--c/src/exec/posix/Makefile.in13
-rw-r--r--c/src/exec/posix/base/Makefile.in33
-rw-r--r--c/src/exec/posix/headers/Makefile.in33
-rw-r--r--c/src/exec/posix/include/rtems/posix/Makefile.in33
-rw-r--r--c/src/exec/posix/include/sys/Makefile.in30
-rw-r--r--c/src/exec/posix/include/wrap/Makefile.in33
-rw-r--r--c/src/exec/posix/inline/Makefile.in30
-rw-r--r--c/src/exec/posix/inline/rtems/posix/Makefile.in30
-rw-r--r--c/src/exec/posix/macros/Makefile.in31
-rw-r--r--c/src/exec/posix/macros/rtems/posix/Makefile.in31
-rw-r--r--c/src/exec/posix/optman/Makefile.in46
-rw-r--r--c/src/exec/posix/src/Makefile.in50
-rw-r--r--c/src/exec/posix/sys/Makefile.in30
-rw-r--r--c/src/exec/rtems/Makefile.in13
-rw-r--r--c/src/exec/rtems/headers/Makefile.in37
-rw-r--r--c/src/exec/rtems/include/rtems/rtems/Makefile.in37
-rw-r--r--c/src/exec/rtems/inline/Makefile.in30
-rw-r--r--c/src/exec/rtems/inline/rtems/rtems/Makefile.in30
-rw-r--r--c/src/exec/rtems/macros/Makefile.in30
-rw-r--r--c/src/exec/rtems/macros/rtems/rtems/Makefile.in30
-rw-r--r--c/src/exec/rtems/optman/Makefile.in49
-rw-r--r--c/src/exec/rtems/src/Makefile.in40
-rw-r--r--c/src/exec/sapi/Makefile.in13
-rw-r--r--c/src/exec/sapi/headers/Makefile.in34
-rw-r--r--c/src/exec/sapi/headers/README135
-rw-r--r--c/src/exec/sapi/include/rtems/Makefile.in34
-rw-r--r--c/src/exec/sapi/include/rtems/README135
-rw-r--r--c/src/exec/sapi/inline/Makefile.in29
-rw-r--r--c/src/exec/sapi/inline/rtems/Makefile.in29
-rw-r--r--c/src/exec/sapi/macros/Makefile.in29
-rw-r--r--c/src/exec/sapi/macros/rtems/Makefile.in29
-rw-r--r--c/src/exec/sapi/optman/Makefile.in46
-rw-r--r--c/src/exec/sapi/src/Makefile.in38
-rw-r--r--c/src/exec/score/Makefile.in13
-rw-r--r--c/src/exec/score/cpu/Makefile.in13
-rw-r--r--c/src/exec/score/cpu/a29k/Makefile.in88
-rw-r--r--c/src/exec/score/cpu/hppa1.1/Makefile.in83
-rw-r--r--c/src/exec/score/cpu/hppa1.1/cpu_asm.s512
-rw-r--r--c/src/exec/score/cpu/hppa1.1/hppa.h11
-rw-r--r--c/src/exec/score/cpu/i386/Makefile.in86
-rw-r--r--c/src/exec/score/cpu/i960/Makefile.in86
-rw-r--r--c/src/exec/score/cpu/m68k/Makefile.in75
-rw-r--r--c/src/exec/score/cpu/mips64orion/Makefile.in81
-rw-r--r--c/src/exec/score/cpu/no_cpu/Makefile.in90
-rw-r--r--c/src/exec/score/cpu/powerpc/Makefile.in92
-rw-r--r--c/src/exec/score/cpu/sparc/Makefile.in74
-rw-r--r--c/src/exec/score/cpu/unix/Makefile.in90
-rw-r--r--c/src/exec/score/cpu/unix/cpu.c4
-rw-r--r--c/src/exec/score/cpu/unix/cpu.h6
-rw-r--r--c/src/exec/score/cpu/unix/unix.h4
-rw-r--r--c/src/exec/score/headers/Makefile.in44
-rw-r--r--c/src/exec/score/include/rtems/score/Makefile.in44
-rw-r--r--c/src/exec/score/inline/Makefile.in31
-rw-r--r--c/src/exec/score/inline/rtems/score/Makefile.in31
-rw-r--r--c/src/exec/score/macros/Makefile.in31
-rw-r--r--c/src/exec/score/macros/rtems/score/Makefile.in31
-rw-r--r--c/src/exec/score/src/Makefile.in41
-rw-r--r--c/src/exec/score/tools/Makefile.in13
-rw-r--r--c/src/exec/score/tools/generic/Makefile.in33
-rw-r--r--c/src/exec/score/tools/hppa1.1/Makefile.in62
-rw-r--r--c/src/exec/score/tools/unix/Makefile.in61
-rw-r--r--c/src/exec/wrapup/Makefile.in17
-rw-r--r--c/src/exec/wrapup/posix/Makefile.in51
-rw-r--r--c/src/exec/wrapup/rtems/Makefile.in48
-rw-r--r--c/src/lib/Makefile.in13
-rw-r--r--c/src/lib/include/Makefile.in28
-rw-r--r--c/src/lib/libbsp/Makefile.in20
-rw-r--r--c/src/lib/libbsp/a29k/Makefile.in14
-rw-r--r--c/src/lib/libbsp/a29k/portsw/Makefile.in19
-rw-r--r--c/src/lib/libbsp/a29k/portsw/console/Makefile.in58
-rw-r--r--c/src/lib/libbsp/a29k/portsw/include/Makefile.in32
-rw-r--r--c/src/lib/libbsp/a29k/portsw/shmsupp/Makefile.in59
-rw-r--r--c/src/lib/libbsp/a29k/portsw/start/Makefile.in53
-rw-r--r--c/src/lib/libbsp/a29k/portsw/startup/Makefile.in59
-rw-r--r--c/src/lib/libbsp/a29k/portsw/wrapup/Makefile.in50
-rw-r--r--c/src/lib/libbsp/hppa1.1/Makefile.in14
-rw-r--r--c/src/lib/libbsp/hppa1.1/pxfl/Makefile.in49
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/Makefile.in16
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/bsp_specs34
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/include/Makefile.in40
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/Makefile.in54
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/start/start.s169
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/startup/Makefile.in61
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/startup/bspstart.c2
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in51
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/tty/Makefile.in54
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/wrapup/Makefile.in53
-rw-r--r--c/src/lib/libbsp/i386/Makefile.in14
-rw-r--r--c/src/lib/libbsp/i386/force386/Makefile.in15
-rw-r--r--c/src/lib/libbsp/i386/force386/clock/Makefile.in54
-rw-r--r--c/src/lib/libbsp/i386/force386/console/Makefile.in53
-rw-r--r--c/src/lib/libbsp/i386/force386/include/Makefile.in32
-rw-r--r--c/src/lib/libbsp/i386/force386/shmsupp/Makefile.in54
-rw-r--r--c/src/lib/libbsp/i386/force386/startup/Makefile.in58
-rw-r--r--c/src/lib/libbsp/i386/force386/timer/Makefile.in58
-rw-r--r--c/src/lib/libbsp/i386/force386/wrapup/Makefile.in48
-rw-r--r--c/src/lib/libbsp/i386/go32/Makefile.in15
-rw-r--r--c/src/lib/libbsp/i386/go32/clock/Makefile.in54
-rw-r--r--c/src/lib/libbsp/i386/go32/console/Makefile.in53
-rw-r--r--c/src/lib/libbsp/i386/go32/include/Makefile.in34
-rw-r--r--c/src/lib/libbsp/i386/go32/startup/Makefile.in54
-rw-r--r--c/src/lib/libbsp/i386/go32/timer/Makefile.in58
-rw-r--r--c/src/lib/libbsp/i386/go32/wrapup/Makefile.in50
-rw-r--r--c/src/lib/libbsp/i386/i386ex/Makefile.in18
-rw-r--r--c/src/lib/libbsp/i386/i386ex/clock/Makefile.in59
-rw-r--r--c/src/lib/libbsp/i386/i386ex/console/Makefile.in57
-rw-r--r--c/src/lib/libbsp/i386/i386ex/include/Makefile.in34
-rw-r--r--c/src/lib/libbsp/i386/i386ex/startup/Makefile.in64
-rw-r--r--c/src/lib/libbsp/i386/i386ex/timer/Makefile.in58
-rw-r--r--c/src/lib/libbsp/i386/i386ex/wrapup/Makefile.in50
-rw-r--r--c/src/lib/libbsp/i960/Makefile.in14
-rw-r--r--c/src/lib/libbsp/i960/cvme961/Makefile.in15
-rw-r--r--c/src/lib/libbsp/i960/cvme961/clock/Makefile.in53
-rw-r--r--c/src/lib/libbsp/i960/cvme961/console/Makefile.in53
-rw-r--r--c/src/lib/libbsp/i960/cvme961/include/Makefile.in37
-rw-r--r--c/src/lib/libbsp/i960/cvme961/shmsupp/Makefile.in54
-rw-r--r--c/src/lib/libbsp/i960/cvme961/start/Makefile.in53
-rw-r--r--c/src/lib/libbsp/i960/cvme961/startup/Makefile.in55
-rw-r--r--c/src/lib/libbsp/i960/cvme961/timer/Makefile.in58
-rw-r--r--c/src/lib/libbsp/i960/cvme961/wrapup/Makefile.in50
-rw-r--r--c/src/lib/libbsp/m68k/Makefile.in14
-rw-r--r--c/src/lib/libbsp/m68k/dmv152/Makefile.in15
-rw-r--r--c/src/lib/libbsp/m68k/dmv152/clock/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/dmv152/console/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/dmv152/include/Makefile.in32
-rw-r--r--c/src/lib/libbsp/m68k/dmv152/spurious/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/dmv152/startup/Makefile.in52
-rw-r--r--c/src/lib/libbsp/m68k/dmv152/timer/Makefile.in58
-rw-r--r--c/src/lib/libbsp/m68k/dmv152/wrapup/Makefile.in48
-rw-r--r--c/src/lib/libbsp/m68k/efi332/Makefile.in15
-rw-r--r--c/src/lib/libbsp/m68k/efi332/clock/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/efi332/console/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/efi332/include/Makefile.in32
-rw-r--r--c/src/lib/libbsp/m68k/efi332/spurious/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/efi332/start/Makefile.in48
-rw-r--r--c/src/lib/libbsp/m68k/efi332/start332/Makefile.in48
-rw-r--r--c/src/lib/libbsp/m68k/efi332/startup/Makefile.in54
-rw-r--r--c/src/lib/libbsp/m68k/efi332/timer/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/efi332/wrapup/Makefile.in48
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/Makefile.in15
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/clock/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/console/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/include/Makefile.in33
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/spurious/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/start/Makefile.in48
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/start68k/Makefile.in48
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/startup/Makefile.in54
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/timer/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/wrapup/Makefile.in48
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/Makefile.in19
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/clock/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/console/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/include/Makefile.in32
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/start/Makefile.in56
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/start302/Makefile.in56
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/startup/Makefile.in54
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/timer/Makefile.in58
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/wrapup/Makefile.in48
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/Makefile.in19
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/clock/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/console/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/include/Makefile.in32
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/start/Makefile.in56
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/start360/Makefile.in56
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/startup/Makefile.in54
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/timer/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/wrapup/Makefile.in48
-rw-r--r--c/src/lib/libbsp/m68k/idp/Makefile.in15
-rw-r--r--c/src/lib/libbsp/m68k/idp/clock/Makefile.in54
-rw-r--r--c/src/lib/libbsp/m68k/idp/console/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/idp/include/Makefile.in33
-rw-r--r--c/src/lib/libbsp/m68k/idp/startup/Makefile.in54
-rw-r--r--c/src/lib/libbsp/m68k/idp/timer/Makefile.in58
-rw-r--r--c/src/lib/libbsp/m68k/idp/wrapup/Makefile.in48
-rw-r--r--c/src/lib/libbsp/m68k/mvme136/Makefile.in15
-rw-r--r--c/src/lib/libbsp/m68k/mvme136/clock/Makefile.in54
-rw-r--r--c/src/lib/libbsp/m68k/mvme136/console/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/mvme136/include/Makefile.in32
-rw-r--r--c/src/lib/libbsp/m68k/mvme136/shmsupp/Makefile.in54
-rw-r--r--c/src/lib/libbsp/m68k/mvme136/startup/Makefile.in54
-rw-r--r--c/src/lib/libbsp/m68k/mvme136/timer/Makefile.in58
-rw-r--r--c/src/lib/libbsp/m68k/mvme136/wrapup/Makefile.in48
-rw-r--r--c/src/lib/libbsp/m68k/mvme147/Makefile.in15
-rw-r--r--c/src/lib/libbsp/m68k/mvme147/clock/Makefile.in54
-rw-r--r--c/src/lib/libbsp/m68k/mvme147/console/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/mvme147/include/Makefile.in32
-rw-r--r--c/src/lib/libbsp/m68k/mvme147/startup/Makefile.in54
-rw-r--r--c/src/lib/libbsp/m68k/mvme147/timer/Makefile.in58
-rw-r--r--c/src/lib/libbsp/m68k/mvme147/wrapup/Makefile.in48
-rw-r--r--c/src/lib/libbsp/m68k/mvme147s/Makefile.in16
-rw-r--r--c/src/lib/libbsp/m68k/mvme147s/clock/Makefile.in58
-rw-r--r--c/src/lib/libbsp/m68k/mvme147s/console/Makefile.in58
-rw-r--r--c/src/lib/libbsp/m68k/mvme147s/include/Makefile.in32
-rw-r--r--c/src/lib/libbsp/m68k/mvme147s/shmsupp/Makefile.in54
-rw-r--r--c/src/lib/libbsp/m68k/mvme147s/startup/Makefile.in59
-rw-r--r--c/src/lib/libbsp/m68k/mvme147s/timer/Makefile.in63
-rw-r--r--c/src/lib/libbsp/m68k/mvme147s/wrapup/Makefile.in48
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/Makefile.in19
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/clock/Makefile.in54
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/console/Makefile.in53
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/include/Makefile.in32
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/startup/Makefile.in54
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/timer/Makefile.in58
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/tools/Makefile.in52
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/wrapup/Makefile.in48
-rw-r--r--c/src/lib/libbsp/mips/README3
-rw-r--r--c/src/lib/libbsp/mips64orion/Makefile.in14
-rw-r--r--c/src/lib/libbsp/mips64orion/README3
-rw-r--r--c/src/lib/libbsp/mips64orion/p4000/console/Makefile.in58
-rw-r--r--c/src/lib/libbsp/mips64orion/p4000/include/Makefile.in32
-rw-r--r--c/src/lib/libbsp/mips64orion/p4000/liblnk/Makefile.in58
-rw-r--r--c/src/lib/libbsp/mips64orion/p4000/start/Makefile.in53
-rw-r--r--c/src/lib/libbsp/mips64orion/p4000/startup/Makefile.in61
-rw-r--r--c/src/lib/libbsp/mips64orion/p4000/wrapup/Makefile.in52
-rw-r--r--c/src/lib/libbsp/no_cpu/Makefile.in14
-rw-r--r--c/src/lib/libbsp/no_cpu/no_bsp/Makefile.in19
-rw-r--r--c/src/lib/libbsp/no_cpu/no_bsp/clock/Makefile.in58
-rw-r--r--c/src/lib/libbsp/no_cpu/no_bsp/console/Makefile.in58
-rw-r--r--c/src/lib/libbsp/no_cpu/no_bsp/include/Makefile.in32
-rw-r--r--c/src/lib/libbsp/no_cpu/no_bsp/shmsupp/Makefile.in59
-rw-r--r--c/src/lib/libbsp/no_cpu/no_bsp/startup/Makefile.in60
-rw-r--r--c/src/lib/libbsp/no_cpu/no_bsp/timer/Makefile.in60
-rw-r--r--c/src/lib/libbsp/no_cpu/no_bsp/wrapup/Makefile.in48
-rw-r--r--c/src/lib/libbsp/powerpc/Makefile.in14
-rw-r--r--c/src/lib/libbsp/powerpc/papyrus/Makefile.in19
-rw-r--r--c/src/lib/libbsp/powerpc/papyrus/dlentry/Makefile.in58
-rw-r--r--c/src/lib/libbsp/powerpc/papyrus/flashentry/Makefile.in58
-rw-r--r--c/src/lib/libbsp/powerpc/papyrus/include/Makefile.in34
-rw-r--r--c/src/lib/libbsp/powerpc/papyrus/startup/Makefile.in55
-rw-r--r--c/src/lib/libbsp/powerpc/papyrus/wrapup/Makefile.in55
-rw-r--r--c/src/lib/libbsp/shmdr/Makefile.in59
-rw-r--r--c/src/lib/libbsp/sparc/Makefile.in14
-rw-r--r--c/src/lib/libbsp/sparc/erc32/Makefile.in16
-rw-r--r--c/src/lib/libbsp/sparc/erc32/clock/Makefile.in59
-rw-r--r--c/src/lib/libbsp/sparc/erc32/console/Makefile.in58
-rw-r--r--c/src/lib/libbsp/sparc/erc32/include/Makefile.in34
-rw-r--r--c/src/lib/libbsp/sparc/erc32/start/Makefile.in53
-rw-r--r--c/src/lib/libbsp/sparc/erc32/startsis/Makefile.in53
-rw-r--r--c/src/lib/libbsp/sparc/erc32/startup/Makefile.in65
-rw-r--r--c/src/lib/libbsp/sparc/erc32/timer/Makefile.in58
-rw-r--r--c/src/lib/libbsp/sparc/erc32/tools/Makefile.in25
-rw-r--r--c/src/lib/libbsp/sparc/erc32/wrapup/Makefile.in53
-rw-r--r--c/src/lib/libbsp/unix/Makefile.in14
-rw-r--r--c/src/lib/libbsp/unix/posix/Makefile.in25
-rw-r--r--c/src/lib/libbsp/unix/posix/clock/Makefile.in54
-rw-r--r--c/src/lib/libbsp/unix/posix/console/Makefile.in53
-rw-r--r--c/src/lib/libbsp/unix/posix/include/Makefile.in32
-rw-r--r--c/src/lib/libbsp/unix/posix/shmsupp/Makefile.in54
-rw-r--r--c/src/lib/libbsp/unix/posix/startup/Makefile.in65
-rw-r--r--c/src/lib/libbsp/unix/posix/timer/Makefile.in54
-rw-r--r--c/src/lib/libbsp/unix/posix/tools/Makefile.in30
-rw-r--r--c/src/lib/libbsp/unix/posix/wrapup/Makefile.in64
-rw-r--r--c/src/lib/libc/Makefile.in62
-rw-r--r--c/src/lib/libcpu/Makefile.in13
-rw-r--r--c/src/lib/libcpu/hppa1.1/Makefile.in13
-rw-r--r--c/src/lib/libcpu/hppa1.1/clock/Makefile.in59
-rw-r--r--c/src/lib/libcpu/hppa1.1/include/Makefile.in20
-rw-r--r--c/src/lib/libcpu/hppa1.1/milli/Makefile.in59
-rw-r--r--c/src/lib/libcpu/hppa1.1/milli/milli.s1998
-rw-r--r--c/src/lib/libcpu/hppa1.1/runway/Makefile.in22
-rw-r--r--c/src/lib/libcpu/hppa1.1/semaphore/Makefile.in52
-rw-r--r--c/src/lib/libcpu/hppa1.1/timer/Makefile.in59
-rw-r--r--c/src/lib/libcpu/mips64orion/Makefile.in13
-rw-r--r--c/src/lib/libcpu/mips64orion/clock/Makefile.in58
-rw-r--r--c/src/lib/libcpu/mips64orion/include/Makefile.in20
-rw-r--r--c/src/lib/libcpu/mips64orion/timer/Makefile.in60
-rw-r--r--c/src/lib/libcpu/powerpc/Makefile.in13
-rw-r--r--c/src/lib/libcpu/powerpc/ppc403/Makefile.in13
-rw-r--r--c/src/lib/libcpu/powerpc/ppc403/clock/Makefile.in59
-rw-r--r--c/src/lib/libcpu/powerpc/ppc403/console/Makefile.in58
-rw-r--r--c/src/lib/libcpu/powerpc/ppc403/include/Makefile.in20
-rw-r--r--c/src/lib/libcpu/powerpc/ppc403/timer/Makefile.in59
-rw-r--r--c/src/lib/libcpu/powerpc/ppc403/vectors/Makefile.in58
-rw-r--r--c/src/lib/libcpu/sparc/Makefile.in13
-rw-r--r--c/src/lib/libcpu/sparc/reg_win/Makefile.in59
-rw-r--r--c/src/lib/libmisc/Makefile.in13
-rw-r--r--c/src/lib/libmisc/assoc/Makefile.in51
-rw-r--r--c/src/lib/libmisc/error/Makefile.in51
-rw-r--r--c/src/lib/libmisc/monitor/Makefile.in57
-rw-r--r--c/src/lib/libmisc/stackchk/Makefile.in52
-rw-r--r--c/src/lib/libmisc/wrapup/Makefile.in40
-rw-r--r--c/src/lib/start/Makefile.in13
-rw-r--r--c/src/lib/start/a29k/Makefile.in53
-rw-r--r--c/src/lib/start/i960/Makefile.in53
-rw-r--r--c/src/lib/start/m68k/Makefile.in53
-rw-r--r--c/src/lib/start/mips64orion/Makefile.in53
-rw-r--r--c/src/lib/wrapup/Makefile.in34
-rw-r--r--c/src/libmisc/assoc/Makefile.in51
-rw-r--r--c/src/libmisc/error/Makefile.in51
-rw-r--r--c/src/libmisc/monitor/Makefile.in57
-rw-r--r--c/src/libmisc/stackchk/Makefile.in52
-rw-r--r--c/src/libmisc/wrapup/Makefile.in40
-rw-r--r--c/src/tests/Makefile.in29
-rw-r--r--c/src/tests/libtests/Makefile.in13
-rw-r--r--c/src/tests/libtests/malloctest/Makefile.in60
-rw-r--r--c/src/tests/libtests/stackchk/Makefile.in60
-rw-r--r--c/src/tests/mptests/Makefile.in15
-rw-r--r--c/src/tests/mptests/mp01/Makefile.in13
-rw-r--r--c/src/tests/mptests/mp01/node1/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp01/node2/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp02/Makefile.in13
-rw-r--r--c/src/tests/mptests/mp02/node1/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp02/node2/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp03/Makefile.in13
-rw-r--r--c/src/tests/mptests/mp03/node1/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp03/node2/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp04/Makefile.in13
-rw-r--r--c/src/tests/mptests/mp04/node1/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp04/node2/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp05/Makefile.in13
-rw-r--r--c/src/tests/mptests/mp05/node1/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp05/node2/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp06/Makefile.in13
-rw-r--r--c/src/tests/mptests/mp06/node1/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp06/node2/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp07/Makefile.in13
-rw-r--r--c/src/tests/mptests/mp07/node1/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp07/node2/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp08/Makefile.in13
-rw-r--r--c/src/tests/mptests/mp08/node1/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp08/node2/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp09/Makefile.in13
-rw-r--r--c/src/tests/mptests/mp09/node1/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp09/node2/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp10/Makefile.in13
-rw-r--r--c/src/tests/mptests/mp10/node1/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp10/node2/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp11/Makefile.in13
-rw-r--r--c/src/tests/mptests/mp11/node1/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp11/node2/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp12/Makefile.in13
-rw-r--r--c/src/tests/mptests/mp12/node1/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp12/node2/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp13/Makefile.in13
-rw-r--r--c/src/tests/mptests/mp13/node1/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp13/node2/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp14/Makefile.in13
-rw-r--r--c/src/tests/mptests/mp14/node1/Makefile.in60
-rw-r--r--c/src/tests/mptests/mp14/node2/Makefile.in60
-rw-r--r--c/src/tests/psxtests/Makefile.in15
-rw-r--r--c/src/tests/psxtests/psx01/Makefile.in60
-rw-r--r--c/src/tests/psxtests/psx02/Makefile.in60
-rw-r--r--c/src/tests/psxtests/psx03/Makefile.in60
-rw-r--r--c/src/tests/psxtests/psx04/Makefile.in60
-rw-r--r--c/src/tests/psxtests/psx05/Makefile.in60
-rw-r--r--c/src/tests/psxtests/psx06/Makefile.in60
-rw-r--r--c/src/tests/psxtests/psx07/Makefile.in60
-rw-r--r--c/src/tests/psxtests/psx08/Makefile.in60
-rw-r--r--c/src/tests/psxtests/psx09/Makefile.in60
-rw-r--r--c/src/tests/psxtests/psx10/Makefile.in60
-rw-r--r--c/src/tests/psxtests/psx11/Makefile.in60
-rw-r--r--c/src/tests/psxtests/psx12/Makefile.in60
-rw-r--r--c/src/tests/psxtests/psxhdrs/Makefile.in66
-rw-r--r--c/src/tests/psxtests/support/Makefile.in16
-rw-r--r--c/src/tests/psxtests/support/include/Makefile.in25
-rw-r--r--c/src/tests/samples/Makefile.in27
-rw-r--r--c/src/tests/samples/base_mp/Makefile.in13
-rw-r--r--c/src/tests/samples/base_mp/node1/Makefile.in61
-rw-r--r--c/src/tests/samples/base_mp/node2/Makefile.in61
-rw-r--r--c/src/tests/samples/base_sp/Makefile.in61
-rw-r--r--c/src/tests/samples/cdtest/Makefile.in66
-rw-r--r--c/src/tests/samples/hello/Makefile.in62
-rw-r--r--c/src/tests/samples/paranoia/Makefile.in64
-rw-r--r--c/src/tests/samples/ticker/Makefile.in62
-rw-r--r--c/src/tests/sptests/Makefile.in20
-rw-r--r--c/src/tests/sptests/sp01/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp02/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp03/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp04/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp05/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp06/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp07/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp08/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp09/Makefile.in63
-rw-r--r--c/src/tests/sptests/sp11/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp12/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp13/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp14/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp15/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp16/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp17/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp19/Makefile.in61
-rw-r--r--c/src/tests/sptests/sp20/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp21/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp22/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp23/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp24/Makefile.in60
-rw-r--r--c/src/tests/sptests/sp25/Makefile.in60
-rw-r--r--c/src/tests/sptests/spfatal/Makefile.in60
-rw-r--r--c/src/tests/sptests/spsize/Makefile.in53
-rw-r--r--c/src/tests/support/Makefile.in13
-rw-r--r--c/src/tests/support/include/Makefile.in25
-rw-r--r--c/src/tests/support/stubdr/Makefile.in57
-rw-r--r--c/src/tests/support/wrapup/Makefile.in46
-rw-r--r--c/src/tests/tmtests/Makefile.in19
-rw-r--r--c/src/tests/tmtests/include/Makefile.in25
-rw-r--r--c/src/tests/tmtests/tm01/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm02/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm03/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm04/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm05/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm06/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm07/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm08/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm09/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm10/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm11/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm12/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm13/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm14/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm15/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm16/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm17/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm18/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm19/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm20/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm21/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm22/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm23/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm24/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm25/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm26/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm27/Makefile.in63
-rw-r--r--c/src/tests/tmtests/tm28/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tm29/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tmck/Makefile.in60
-rw-r--r--c/src/tests/tmtests/tmoverhd/Makefile.in60
-rw-r--r--c/src/tests/tools/generic/Makefile.in25
-rw-r--r--c/src/wrapup/Makefile.in34
-rw-r--r--c/update-tools/Makefile.in37
-rwxr-xr-xconfig.guess693
-rwxr-xr-xconfig.sub933
-rw-r--r--configure1631
-rw-r--r--configure.in560
-rw-r--r--cpukit/sapi/include/rtems/README135
-rw-r--r--cpukit/score/cpu/unix/cpu.c4
-rwxr-xr-xinstall-sh250
-rwxr-xr-xmkinstalldirs35
-rw-r--r--tools/build/Makefile.in13
-rw-r--r--tools/build/os/Makefile.in13
-rw-r--r--tools/build/os/msdos/Makefile.in39
-rw-r--r--tools/build/scripts/Makefile.in34
-rw-r--r--tools/build/src/Makefile.in61
-rw-r--r--tools/build/src/unhex.c6
-rw-r--r--tools/build/unhex.c6
-rw-r--r--tools/cpu/Makefile.in13
-rw-r--r--tools/cpu/generic/Makefile.in33
-rw-r--r--tools/cpu/unix/Makefile.in61
-rw-r--r--tools/update/Makefile.in37
461 files changed, 27181 insertions, 241 deletions
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000000..05f6a332a7
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,99 @@
+#
+# top level directory for RTEMS build tree
+#
+# Modified by Jiri to implement autoconf and cygnus one-tree build
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+libdir = @libdir@
+includedir = @includedir@
+target = @target@
+manext = 1
+mandir = @mandir@/man$(manext)
+program_prefix = @program_prefix@
+
+
+VPATH=@srcdir@
+
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+DEFS = @DEFS@
+LDFLAGS =
+LIBS = @LIBS@
+CC_FOR_BUILD = gcc
+
+
+CC_FOR_TARGET = $(program_prefix)gcc
+AS_FOR_TARGET = $(program_prefix)as
+AR_FOR_TARGET = $(program_prefix)ar
+NM_FOR_TARGET = $(program_prefix)nm
+LD_FOR_TARGET = $(program_prefix)ld
+OBJCOPY_FOR_TARGET = $(program_prefix)objcopy
+SIZE_FOR_TARGET = $(program_prefix)size
+
+AWK = @AWK@
+
+RTEMS_ROOT = @RTEMS_ROOT@
+RTEMS_HOST = @RTEMS_HOST@
+PROJECT_ROOT = @PROJECT_ROOT@
+RTEMS_HAS_POSIX_API = @RTEMS_HAS_POSIX_API@
+RTEMS_USE_MACROS = @RTEMS_USE_MACROS@
+
+ifeq ($(RTEMSBSP),)
+ RTEMS_BSP = @RTEMS_BSP@
+else
+ RTEMS_BSP = $(RTEMSBSP)
+endif
+
+include $(RTEMS_ROOT)/make/main.cfg
+
+MTARGETS = all $(TARGET_VARIANTS:%=%_install) $(TARGET_VARIANTS:%=%_all) \
+clean_wrapup distclean clean_dirs clean_tools install tests clean
+
+.PHONY: clean_modules mlink
+
+EXIT_CMD = exit 1
+
+# Don't pass flags from previous make - especially NOT CFLAGS
+override MAKEFLAGS=
+
+$(MTARGETS): mlink
+ BASEDIR=`pwd`; \
+ for bsp in $(RTEMS_BSP) xxx; \
+ do if [ $$bsp != xxx ] ; then \
+ cd $$BASEDIR; \
+ cmd="cd c; $(MAKE) RTEMS_BSP=$$bsp $(FLAGS_TO_PASS) \
+ RTEMS_CUSTOM=$(RTEMS_ROOT)/make/custom/$$bsp.cfg \
+ INSTALL=$(PROJECT_ROOT)/$$bsp/build-tools/install-if-change \
+ \"CC=$(CC_FOR_TARGET)\" \
+ \"XCFLAGS=$(CFLAGS_FOR_TARGET)\" \
+ \"CC_FOR_BUILD=$(CC_FOR_BUILD)\" \
+ \"AS=$(AS_FOR_TARGET)\" \
+ \"LD=$(LD_FOR_TARGET)\" \
+ \"NM=$(NM_FOR_TARGET)\" \
+ \"AR=$(AR_FOR_TARGET)\" \
+ \"SIZE=$(SIZE_FOR_TARGET)\" \
+ \"OBJCOPY=$(OBJCOPY_FOR_TARGET)\" \
+ \"RTEMS_ROOT=$(RTEMS_ROOT)\" \
+ \"RTEMS_HOST=$(RTEMS_HOST)\" \
+ \"PROJECT_HOME=$(PROJECT_ROOT)/$$bsp\" \
+ \"PROJECT_ROOT=$(PROJECT_ROOT)\" \
+ \"RTEMS_HAS_POSIX_API=$(RTEMS_HAS_POSIX_API)\" \
+ \"RTEMS_USE_MACROS=$(RTEMS_USE_MACROS)\" \
+ \"AWK=$(AWK)\" $@" ; \
+ eval $$cmd || $(EXIT_CMD); \
+ fi; done;
+
+clean_modules:
+ rm -f src/Modules/rtems/.moduleavailcache
+ rm -f src/Modules/rtems/.moduleavailcachedir
+
+mlink:
+ test -d make || ln -s $(RTEMS_ROOT)/make make
+
+
+
diff --git a/README.configure b/README.configure
new file mode 100644
index 0000000000..ed8ae78476
--- /dev/null
+++ b/README.configure
@@ -0,0 +1,179 @@
+
+1. Autoconf support
+===================
+
+This version of RTEMS is configured with GNU autoconf. RTEMS can be
+configured and built either standalone or together with the compiler
+tools in the Cygnus one-tree structure. Using autoconf also means
+that RTEMS now can be built in a separate build directory.
+
+2. Installation
+===============
+
+2.1 Standalone build
+
+To configure RTEMS for a specific target, run configure in the build
+directory. In addition to the standard configure options, the following
+RTEMS-specific option are supported:
+
+ --disable-rtems-inlines
+ --disable-posix
+ --disable-tests
+ --enable-rtemsbsp="bsp1 bsp2 ..."
+
+By default, the RTEMS posix interface is built for targets that support
+it. It can be disabled with the --disable-posix option. The --disable-tests
+will not configure the RTEMS test suite. This is used only to speed-up
+configuration in case building the tests are not necessary. By default,
+all bsps for a target are built. There is two ways of changing this:
+
+ + use the --enable-rtemsbsp otion which will set the specified
+ bsps as the default bsps, or
+ + set the RTEMSBSP variable during make (see below).
+
+The cross-compiler is set to $(target)-gcc by default. This can be
+overriden by one of the following methods:
+
+ + running make with CC_FOR_TARGET=compiler_to_use. The same applies to
+ all the target specific tools (AS, AR, NM, OBJCOPY, SIZE, LD), or
+ + by using the --program-prefix option to configure to specify the
+ string which will prepended to the tool names. Be sure to include
+ a trailing "-". For example, to use a m68k-coff toolset, use the
+ --program-prefix=m68k-coff- option.
+
+The --target= option configures RTEMS for a specific target architecture.
+The following targets are supported:
+
+ (none) will build the host-based version on Linux,
+ Solaris and HPUX.
+
+ a29k-rtems only standalone, uses non-gnu compiler
+ i386-rtems
+ i960-rtems
+ hppa1_1-rtems
+ m68k-rtems
+ mips64orion-rtems
+ no_cpu-rtems
+ powerpc-rtems
+ sparc-rtems
+
+To build, run make in the build directory. To specify which bsps to build,
+add the RTEMSBSP="bsp1 bsp2 .." to the make command.
+
+Installation is done under $(prefix)/$(target)/rtems.
+
+As an example, to build and install the mvme136 and dmv152 bsps for m68k do:
+
+ (path_to_rtems_src)/configure --target=m68k-rtems
+
+ make RTEMSBSP="mvme136 dmv152"
+
+ make install RTEMSBSP="mvme136 dmv152"
+
+
+The sample tests are built by 'make all', do a 'make test' to build the full
+test suite.
+
+2.2 Build with Cygnus one-tree release
+
+To build and install RTEMS with the one-tree structure, just copy the rtems
+directory to the tree. The one-tree configure.in and Makefile.in has to be
+replaced with the RTEMS-aware versions. The build options are the same as
+for the standalone build.
+
+3. To use the installed RTEMS library
+=====================================
+
+To use the installed RTEMS bsps to build applications, the application
+makefile has to include a bsp-specific makefile that will define the
+RTEMS variables necessary to find include files and libraries. The
+bsp-specific makefile is installed at
+
+ $(prefix)/$(target)/rtmes/$(RTEMS_BSP)/Makefile.inc
+
+For the erc32 bsp installed at /usr/local/cross, the line would read:
+
+include /usr/local/cross/sparc-rtems/rtems/erc32/Makefile.inc
+
+
+4. Supported target bsps
+========================
+
+The following bsps are supported:
+
+host-based : posix (on linux, solaris and hpux)
+
+a29k : portsw
+i386 : force386 i386ex
+i960 : cvme961
+hppa1_1 : simhppa
+m68k : efi332 gen68302 idp mvme147 mvme162 dmv152 efi68k gen68360
+ mvme136 mvme147s go32
+no_cpu : no_bsp
+mips64orion : p4600 p4650 (p4000 port with either R4600 or R4650)
+powerpc : papyrus
+sparc : erc32
+
+5. Makefile structure
+=====================
+
+The makefiles have been re-organised. Most gnu-based bsps now use three
+main makefiles:
+ + custom/default.cfg,
+ + custom/bsp.cfg and
+ + ompilers/gcc-target-default.cfg.
+
+Default.cfg sets the deafult values of certain common build options.
+
+Bsp.cfg set bsp-specific build options and can also override the
+default settings.
+
+Gcc-target-default.cfg contains the common gcc definitions. Some targets
+(a29k, no_cpu, and posix) still use the old structure.
+
+6. Adding a bsp
+===============
+
+The top-level configure.in has to be modified if a new target is added
+or if a new bsp is to be built by default. The additions required is
+basically to add which makefiles are to be created by configure and
+to add the target to the selection statement. To re-generate
+configure, autoconf-2.12 is needed.
+
+7. Tested configurations
+========================
+
+All gnu-based bsps have been built on Linux.
+The native (posix) ports have been built and run on Linux ans Solaris.
+The sparc port has been tested on SunOS and Linux.
+
+The following configurations have NOT been tested:
+
+ + Anything on Nextstep, HPUX and Irix.
+ + The a29k port.
+
+8. Pre-requisites
+=================
+
+Gawk version 2 or higher.
+GNU make version 3.72 or higher.
+Bash.
+gcc version ???
+
+TODO
+====
+
+The install-if-change script requires bash. On solaris systems, this should
+be changed to ksh, since ksh is provided with solaris (bash not).
+
+A fairly rescent version of gawk is needed to build RTEMS. This should be
+changed so that a plain vanilla awk also works.
+
+'make install' should only install necessary files, not the full
+PROJECT_RELEASE directory as now.
+
+Posix port on solaris-2.5 fails due to undefined built-in functions
+(gcc-2.7.2, might be my installation).
+
+Improve support for 'make CFLAGS=xxx'.
+
diff --git a/c/Makefile.in b/c/Makefile.in
new file mode 100644
index 0000000000..b7576cc88e
--- /dev/null
+++ b/c/Makefile.in
@@ -0,0 +1,98 @@
+#
+# $Id$
+#
+# top level directory for RTEMS build tree
+# This Makefile is *not* a good example of a directory Makefile.
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+libdir = @libdir@
+includedir = @includedir@
+target = @target@
+manext = 1
+mandir = @mandir@/man$(manext)
+program_prefix = @program_prefix@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(RTEMS_ROOT)/make/directory.cfg
+
+# dubious, but needed by rtems-glom ...
+export PROJECT_HOME
+
+SUB_DIRS=build-tools src
+
+# directories to be created in install point
+CREATE_DIRS = include include/sys \
+ include/rtems include/rtems/score include/rtems/rtems include/rtems/posix \
+ include/libc include/libc/sys \
+ lib \
+ bin \
+ samples tests \
+ build-tools update-tools
+
+# Make all/install must include 'env'
+all $(TARGET_VARIANTS:%=%_install) $(TARGET_VARIANTS:%=%_all): env
+
+# top level clean/clobber will delete the install points
+clean_WRAPUP = $(MAKE) clean_wrapup
+clobber_WRAPUP = $(MAKE) clean_wrapup
+
+clean_wrapup: clean_tools clean_dirs clean_modules
+
+.PHONY: dirs clean_wrapup clean_dirs clean_tools clean_modules env install
+
+# XXX The link is temporary while switching to -specs options.
+dirs:
+ -$(MKDIR) ${CREATE_DIRS:%=$(PROJECT_ROOT)/$(RTEMS_BSP)/%}
+ -ln -s $(PROJECT_ROOT)/$(RTEMS_BSP)/include \
+ $(PROJECT_ROOT)/$(RTEMS_BSP)/lib/include
+
+distclean: clobber
+
+clean_dirs:
+ $(RM) -r $(PROJECT_RELEASE)
+
+clean_tools:
+ cd build-tools; $(MAKE) clean
+
+# NOTE: The wildcard on the install should pick up everything except
+# the tests directory. This significantly minimizes the install size.
+install: all
+ -$(MKDIR) $(prefix)/$(target)
+ -$(MKDIR) $(prefix)/$(target)/rtems
+ -$(MKDIR) $(prefix)/$(target)/rtems/make
+ -$(MKDIR) $(prefix)/$(target)/rtems/make/compilers
+ -$(MKDIR) $(prefix)/$(target)/rtems/make/custom
+ -$(MKDIR) $(prefix)/$(target)/rtems/make/os
+ -rm -rf $(prefix)/$(target)/rtems/$(RTEMS_BSP)
+ cd ../; tar cf - $(RTEMS_BSP)/[bilsu]* | \
+ (cd $(prefix)/$(target)/rtems; tar xpBf - )
+ cd $(srcdir); tar cf - make/compilers make/custom make/os \
+ make/leaf.cfg make/directory.cfg make/main.cfg | \
+ (cd $(prefix)/$(target)/rtems; tar xpBf - )
+ echo RTEMS_BSP = $(RTEMS_BSP) > \
+ $(prefix)/$(target)/rtems/$(RTEMS_BSP)/Makefile.inc
+ cat make/Templates/Makefile.inc >> \
+ $(prefix)/$(target)/rtems/$(RTEMS_BSP)/Makefile.inc
+
+tests:
+ cd src/tests; $(MAKE) all
+
+env: $(SRCS) dirs
+
+
+
+
+
+
+
+
+
+
+
diff --git a/c/build-tools/Makefile.in b/c/build-tools/Makefile.in
new file mode 100644
index 0000000000..4170426842
--- /dev/null
+++ b/c/build-tools/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(RTEMS_ROOT)/make/directory.cfg
+
+SUB_DIRS=os scripts src
diff --git a/c/build-tools/os/Makefile.in b/c/build-tools/os/Makefile.in
new file mode 100644
index 0000000000..26c85624db
--- /dev/null
+++ b/c/build-tools/os/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(RTEMS_ROOT)/make/directory.cfg
+
+SUB_DIRS=$(wildcard $(RTEMS_HOST))
diff --git a/c/build-tools/os/msdos/Makefile.in b/c/build-tools/os/msdos/Makefile.in
new file mode 100644
index 0000000000..5cf6608120
--- /dev/null
+++ b/c/build-tools/os/msdos/Makefile.in
@@ -0,0 +1,39 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+DESTDIR=$(PROJECT_RELEASE)/build-tools
+
+INSTALLED=$(DESTDIR)/ifc.exe \
+ $(DESTDIR)/cklength.exe \
+ $(DESTDIR)/fixtimer.exe
+
+all: $(DESTDIR) $(PGMS) install
+ echo $(DESTDIR)
+
+$(DESTDIR):
+ [ -d $@ ] || $(MKDIR) $@
+
+install: $(INSTALLED)
+
+# Install the programs
+$(DESTDIR)/ifc.exe: ifc_exe.uue
+ uudecode <ifc_exe.uue
+ mv ifc.exe $(DESTDIR)/ifc.exe
+
+$(DESTDIR)/cklength.exe: cklength.uue
+ uudecode <cklength.uue
+ mv cklength.exe $(DESTDIR)/cklength.exe
+
+$(DESTDIR)/fixtimer.exe: fixtimer.uue
+ uudecode <fixtimer.uue
+ mv fixtimer.exe $(DESTDIR)/fixtimer.exe
+
diff --git a/c/build-tools/scripts/Makefile.in b/c/build-tools/scripts/Makefile.in
new file mode 100644
index 0000000000..7f2db3462c
--- /dev/null
+++ b/c/build-tools/scripts/Makefile.in
@@ -0,0 +1,34 @@
+#
+# $Id$
+#
+# RTEMS build tools
+# NOTE: of course we can't use any of these tools
+# in this Makefile. Most notably: install-if-change
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(RTEMS_ROOT)/make/leaf.cfg
+
+DESTDIR=$(PROJECT_RELEASE)/build-tools
+
+PGMS=hackspecs.awk install-if-change rcs-clean \
+ lock-directory unlock-directory rtems-glom
+
+INSTALLED=$(PGMS:%=$(DESTDIR)/%)
+
+all: $(DESTDIR) $(PGMS) install
+ echo $(DESTDIR)
+
+$(DESTDIR):
+ [ -d $@ ] || $(MKDIR) $@
+
+install: $(INSTALLED)
+
+# Install the program
+$(DESTDIR)/%: %
+ $(make-script)
diff --git a/c/build-tools/src/Makefile.in b/c/build-tools/src/Makefile.in
new file mode 100644
index 0000000000..f6c3135d54
--- /dev/null
+++ b/c/build-tools/src/Makefile.in
@@ -0,0 +1,61 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+libdir = @libdir@
+includedir = @includedir@
+manext = 1
+mandir = @mandir@/man$(manext)
+
+
+VPATH=@srcdir@
+
+
+# we use host compiler in this directory
+USE_HOST_COMPILER=yes
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=cklength eolstrip packhex unhex
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=$(ARCH)/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+PGMS=$(ARCH)/cklength $(ARCH)/eolstrip $(ARCH)/packhex $(ARCH)/unhex
+
+include $(RTEMS_CUSTOM)
+include $(RTEMS_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS += $(HOST_ARCH)
+CLOBBER_ADDITIONS +=
+
+all: $(ARCH) $(SRCS) $(PGMS)
+ $(INSTALL_VARIANT) -m 555 $(PGMS) ${PROJECT_RELEASE}/build-tools
diff --git a/c/build-tools/src/unhex.c b/c/build-tools/src/unhex.c
index 14e51a885c..a75ba8e665 100644
--- a/c/build-tools/src/unhex.c
+++ b/c/build-tools/src/unhex.c
@@ -88,10 +88,10 @@ void error(int errn, ...);
#define ERR_ABORT (ERR_ERRNO / 4) /* error is fatal; abort */
#define ERR_MASK (ERR_ERRNO | ERR_FATAL | ERR_ABORT) /* all */
-#if (defined(sparc) && (sunos < 500))
-#define stol(p) strtol(p, (char **) NULL, 0) /* Sunos */
+#ifdef HAVE_STRTOUL
+#define stol(p) strtoul(p, (char **) NULL, 0)
#else
-#define stol(p) strtoul(p, (char **) NULL, 0) /* Solaris */
+#define stol(p) strtol(p, (char **) NULL, 0)
#endif
int unhex(FILE *ifp, char *inm, FILE *ofp, char *onm);
diff --git a/c/build-tools/unhex.c b/c/build-tools/unhex.c
index 14e51a885c..a75ba8e665 100644
--- a/c/build-tools/unhex.c
+++ b/c/build-tools/unhex.c
@@ -88,10 +88,10 @@ void error(int errn, ...);
#define ERR_ABORT (ERR_ERRNO / 4) /* error is fatal; abort */
#define ERR_MASK (ERR_ERRNO | ERR_FATAL | ERR_ABORT) /* all */
-#if (defined(sparc) && (sunos < 500))
-#define stol(p) strtol(p, (char **) NULL, 0) /* Sunos */
+#ifdef HAVE_STRTOUL
+#define stol(p) strtoul(p, (char **) NULL, 0)
#else
-#define stol(p) strtoul(p, (char **) NULL, 0) /* Solaris */
+#define stol(p) strtol(p, (char **) NULL, 0)
#endif
int unhex(FILE *ifp, char *inm, FILE *ofp, char *onm);
diff --git a/c/src/Makefile.in b/c/src/Makefile.in
new file mode 100644
index 0000000000..bd375ee974
--- /dev/null
+++ b/c/src/Makefile.in
@@ -0,0 +1,15 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=exec lib tests/tools tests/support tests/samples
+
+
diff --git a/c/src/exec/Makefile.in b/c/src/exec/Makefile.in
new file mode 100644
index 0000000000..ead6e65f2c
--- /dev/null
+++ b/c/src/exec/Makefile.in
@@ -0,0 +1,17 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+POSIX_DIRS_yes_V=posix
+POSIX_DIRS = $(POSIX_DIRS_$(HAS_POSIX_API)_V)
+
+SUB_DIRS=score rtems $(POSIX_DIRS) sapi wrapup
+
diff --git a/c/src/exec/posix/Makefile.in b/c/src/exec/posix/Makefile.in
new file mode 100644
index 0000000000..c2b64184d4
--- /dev/null
+++ b/c/src/exec/posix/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=base sys headers $(INLINE) optman src
diff --git a/c/src/exec/posix/base/Makefile.in b/c/src/exec/posix/base/Makefile.in
new file mode 100644
index 0000000000..d11541a321
--- /dev/null
+++ b/c/src/exec/posix/base/Makefile.in
@@ -0,0 +1,33 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+#H_PIECES= aio devctl intr limits mqueue pthread sched semaphore \
+# signal time unistd
+H_PIECES= pthread sched
+# limits.h may have been moved into newlib -- check before removing it
+# from the cvs tree
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+SRCS=$(H_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/
diff --git a/c/src/exec/posix/headers/Makefile.in b/c/src/exec/posix/headers/Makefile.in
new file mode 100644
index 0000000000..7769a4cada
--- /dev/null
+++ b/c/src/exec/posix/headers/Makefile.in
@@ -0,0 +1,33 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_PIECES= cond condmp config key mutex mutexmp posixapi \
+ priority psignal pthread pthreadmp seterr threadsup time
+#H_PIECES= cancel cond condmp intr key mqueue mqueuemp mutex \
+# mutexmp pthread pthreadmp priority semaphore semaphoremp threadsup \
+# time
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+SRCS=$(H_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/posix
diff --git a/c/src/exec/posix/include/rtems/posix/Makefile.in b/c/src/exec/posix/include/rtems/posix/Makefile.in
new file mode 100644
index 0000000000..7769a4cada
--- /dev/null
+++ b/c/src/exec/posix/include/rtems/posix/Makefile.in
@@ -0,0 +1,33 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_PIECES= cond condmp config key mutex mutexmp posixapi \
+ priority psignal pthread pthreadmp seterr threadsup time
+#H_PIECES= cancel cond condmp intr key mqueue mqueuemp mutex \
+# mutexmp pthread pthreadmp priority semaphore semaphoremp threadsup \
+# time
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+SRCS=$(H_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/posix
diff --git a/c/src/exec/posix/include/sys/Makefile.in b/c/src/exec/posix/include/sys/Makefile.in
new file mode 100644
index 0000000000..84d2003ba3
--- /dev/null
+++ b/c/src/exec/posix/include/sys/Makefile.in
@@ -0,0 +1,30 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+#H_PIECES=utsname
+H_PIECES=
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+SRCS=$(H_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/sys
diff --git a/c/src/exec/posix/include/wrap/Makefile.in b/c/src/exec/posix/include/wrap/Makefile.in
new file mode 100644
index 0000000000..d11541a321
--- /dev/null
+++ b/c/src/exec/posix/include/wrap/Makefile.in
@@ -0,0 +1,33 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+#H_PIECES= aio devctl intr limits mqueue pthread sched semaphore \
+# signal time unistd
+H_PIECES= pthread sched
+# limits.h may have been moved into newlib -- check before removing it
+# from the cvs tree
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+SRCS=$(H_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/
diff --git a/c/src/exec/posix/inline/Makefile.in b/c/src/exec/posix/inline/Makefile.in
new file mode 100644
index 0000000000..a68a481925
--- /dev/null
+++ b/c/src/exec/posix/inline/Makefile.in
@@ -0,0 +1,30 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+#I_PIECES= cond intr key mqueue mutex pthread priority semaphore
+I_PIECES=cond key mutex pthread priority
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems/posix
diff --git a/c/src/exec/posix/inline/rtems/posix/Makefile.in b/c/src/exec/posix/inline/rtems/posix/Makefile.in
new file mode 100644
index 0000000000..a68a481925
--- /dev/null
+++ b/c/src/exec/posix/inline/rtems/posix/Makefile.in
@@ -0,0 +1,30 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+#I_PIECES= cond intr key mqueue mutex pthread priority semaphore
+I_PIECES=cond key mutex pthread priority
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems/posix
diff --git a/c/src/exec/posix/macros/Makefile.in b/c/src/exec/posix/macros/Makefile.in
new file mode 100644
index 0000000000..127eec1a58
--- /dev/null
+++ b/c/src/exec/posix/macros/Makefile.in
@@ -0,0 +1,31 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# Right now there are not macro implementation of the posix inline routines
+# So it won't build
+I_PIECES=
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ #$(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems/posix
diff --git a/c/src/exec/posix/macros/rtems/posix/Makefile.in b/c/src/exec/posix/macros/rtems/posix/Makefile.in
new file mode 100644
index 0000000000..127eec1a58
--- /dev/null
+++ b/c/src/exec/posix/macros/rtems/posix/Makefile.in
@@ -0,0 +1,31 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# Right now there are not macro implementation of the posix inline routines
+# So it won't build
+I_PIECES=
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ #$(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems/posix
diff --git a/c/src/exec/posix/optman/Makefile.in b/c/src/exec/posix/optman/Makefile.in
new file mode 100644
index 0000000000..6d99022a3a
--- /dev/null
+++ b/c/src/exec/posix/optman/Makefile.in
@@ -0,0 +1,46 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+C_FILES=
+
+H_FILES=
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+PGMS=$(C_FILES:%.c=$(ARCH)/%.rel)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+ASM4FLAGS += -I $(PROJECT_RELEASE)/include/rtems
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGMS)
+ #$(INSTALL_VARIANT) -m 555 ${PGMS} ${PROJECT_RELEASE}/lib
diff --git a/c/src/exec/posix/src/Makefile.in b/c/src/exec/posix/src/Makefile.in
new file mode 100644
index 0000000000..c88a034d27
--- /dev/null
+++ b/c/src/exec/posix/src/Makefile.in
@@ -0,0 +1,50 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+#C_PIECES= aio cancel cond devctl intr key mqueue mutex pthread \
+# ptimer sched semaphore signal time types unistd utsname
+C_PIECES= adasupp cond getpid key mutex pthread psignal sched time \
+ types unistd
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) ${OBJS}
+
+# temporary so we can see how many things are left to implement
+not:
+ grep -i NOT_IMPL $(C_FILES) | grep -v MP_NOT_IMPL
+ @echo
+ @echo
+ @echo
+ @echo `grep -i NOT_IMPL $(C_FILES) | grep -v MP_NOT_IMPL | wc -l ` places marked not implemented
+ @echo `wc -l $(C_FILES) | grep total` lines of C code to test
diff --git a/c/src/exec/posix/sys/Makefile.in b/c/src/exec/posix/sys/Makefile.in
new file mode 100644
index 0000000000..84d2003ba3
--- /dev/null
+++ b/c/src/exec/posix/sys/Makefile.in
@@ -0,0 +1,30 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+#H_PIECES=utsname
+H_PIECES=
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+SRCS=$(H_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/sys
diff --git a/c/src/exec/rtems/Makefile.in b/c/src/exec/rtems/Makefile.in
new file mode 100644
index 0000000000..d8f3d6fae8
--- /dev/null
+++ b/c/src/exec/rtems/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=headers $(INLINE) optman src
diff --git a/c/src/exec/rtems/headers/Makefile.in b/c/src/exec/rtems/headers/Makefile.in
new file mode 100644
index 0000000000..b7b0f463c5
--- /dev/null
+++ b/c/src/exec/rtems/headers/Makefile.in
@@ -0,0 +1,37 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_PIECES=asr attr clock config dpmem event eventmp eventset \
+ intr message modes mp msgmp options part partmp \
+ ratemon region regionmp rtemsapi sem semmp signal signalmp status \
+ support taskmp tasks timer types
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+# H_FILES that get installed externally
+EXTERNAL_H_PIECES = rtems
+EXTERNAL_H_FILES=$(EXTERNAL_H_PIECES:%=$(srcdir)/%.h)
+
+SRCS=$(H_FILES) $(EXTERNAL_H_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/rtems
+ $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
diff --git a/c/src/exec/rtems/include/rtems/rtems/Makefile.in b/c/src/exec/rtems/include/rtems/rtems/Makefile.in
new file mode 100644
index 0000000000..b7b0f463c5
--- /dev/null
+++ b/c/src/exec/rtems/include/rtems/rtems/Makefile.in
@@ -0,0 +1,37 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_PIECES=asr attr clock config dpmem event eventmp eventset \
+ intr message modes mp msgmp options part partmp \
+ ratemon region regionmp rtemsapi sem semmp signal signalmp status \
+ support taskmp tasks timer types
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+# H_FILES that get installed externally
+EXTERNAL_H_PIECES = rtems
+EXTERNAL_H_FILES=$(EXTERNAL_H_PIECES:%=$(srcdir)/%.h)
+
+SRCS=$(H_FILES) $(EXTERNAL_H_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/rtems
+ $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
diff --git a/c/src/exec/rtems/inline/Makefile.in b/c/src/exec/rtems/inline/Makefile.in
new file mode 100644
index 0000000000..e041a1b657
--- /dev/null
+++ b/c/src/exec/rtems/inline/Makefile.in
@@ -0,0 +1,30 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+I_PIECES=asr attr dpmem event eventset message modes options \
+ part ratemon region sem status support tasks timer
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS += $(LIB)
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems/rtems
diff --git a/c/src/exec/rtems/inline/rtems/rtems/Makefile.in b/c/src/exec/rtems/inline/rtems/rtems/Makefile.in
new file mode 100644
index 0000000000..e041a1b657
--- /dev/null
+++ b/c/src/exec/rtems/inline/rtems/rtems/Makefile.in
@@ -0,0 +1,30 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+I_PIECES=asr attr dpmem event eventset message modes options \
+ part ratemon region sem status support tasks timer
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS += $(LIB)
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems/rtems
diff --git a/c/src/exec/rtems/macros/Makefile.in b/c/src/exec/rtems/macros/Makefile.in
new file mode 100644
index 0000000000..e041a1b657
--- /dev/null
+++ b/c/src/exec/rtems/macros/Makefile.in
@@ -0,0 +1,30 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+I_PIECES=asr attr dpmem event eventset message modes options \
+ part ratemon region sem status support tasks timer
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS += $(LIB)
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems/rtems
diff --git a/c/src/exec/rtems/macros/rtems/rtems/Makefile.in b/c/src/exec/rtems/macros/rtems/rtems/Makefile.in
new file mode 100644
index 0000000000..e041a1b657
--- /dev/null
+++ b/c/src/exec/rtems/macros/rtems/rtems/Makefile.in
@@ -0,0 +1,30 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+I_PIECES=asr attr dpmem event eventset message modes options \
+ part ratemon region sem status support tasks timer
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS += $(LIB)
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems/rtems
diff --git a/c/src/exec/rtems/optman/Makefile.in b/c/src/exec/rtems/optman/Makefile.in
new file mode 100644
index 0000000000..ac24e9b841
--- /dev/null
+++ b/c/src/exec/rtems/optman/Makefile.in
@@ -0,0 +1,49 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+C_FILES= no-dpmem.c no-event.c no-mp.c no-msg.c \
+ no-part.c no-region.c no-rtmon.c no-sem.c no-signal.c no-timer.c
+
+S_FILES=
+
+H_FILES=
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES)
+
+PGMS=$(C_FILES:%.c=$(ARCH)/%.rel)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+ASM4FLAGS += -I $(PROJECT_RELEASE)/include/rtems
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGMS)
+ $(INSTALL_VARIANT) -m 555 ${PGMS} ${PROJECT_RELEASE}/lib
diff --git a/c/src/exec/rtems/src/Makefile.in b/c/src/exec/rtems/src/Makefile.in
new file mode 100644
index 0000000000..99a7fa75cd
--- /dev/null
+++ b/c/src/exec/rtems/src/Makefile.in
@@ -0,0 +1,40 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+C_PIECES=clock dpmem event eventmp intr mp msg msgmp \
+ part partmp ratemon region regionmp sem semmp signal signalmp \
+ taskmp tasks timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+SRCS=$(C_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) ${OBJS}
diff --git a/c/src/exec/sapi/Makefile.in b/c/src/exec/sapi/Makefile.in
new file mode 100644
index 0000000000..d8f3d6fae8
--- /dev/null
+++ b/c/src/exec/sapi/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=headers $(INLINE) optman src
diff --git a/c/src/exec/sapi/headers/Makefile.in b/c/src/exec/sapi/headers/Makefile.in
new file mode 100644
index 0000000000..24e8766199
--- /dev/null
+++ b/c/src/exec/sapi/headers/Makefile.in
@@ -0,0 +1,34 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_PIECES= config directives extension fatal init io mptables sptables
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+# H_FILES that get installed externally
+EXTERNAL_H_PIECES = confdefs
+EXTERNAL_H_FILES=$(EXTERNAL_H_PIECES:%=$(srcdir)/%.h)
+
+SRCS=$(H_FILES) $(EXTERNAL_H_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/
+ $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
diff --git a/c/src/exec/sapi/headers/README b/c/src/exec/sapi/headers/README
new file mode 100644
index 0000000000..5fcc0d14c7
--- /dev/null
+++ b/c/src/exec/sapi/headers/README
@@ -0,0 +1,135 @@
+#
+# $Id$
+#
+
+Configuring a System Using the Template in confdefs.h
+=====================================================
+
+The file confdefs.h is a Configuration Template file which can be
+used to greatly simplify the creation and maintenance of RTEMS
+Configuration Tables. The basic concepts are:
+
+ + confdefs.h provides defaults for all configuration parameters
+
+ + applications specify only those values they wish to override
+
+ + confdefs.h can be the only file which knows the precise layout
+ of the RTEMS Configuration Tables.
+
+The Configuration Template setup is used by all RTEMS tests to
+simplify the maintenance of the tests.
+
+Here is the section from the system.h file from test tm21 from
+the Timing Test Suite:
+
+ /* configuration information */
+
+ #define CONFIGURE_TMTEST
+
+ #define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
+ #define CONFIGURE_TEST_NEEDS_TIMER_DRIVER
+
+ #define CONFIGURE_MAXIMUM_TASKS 102
+ #define CONFIGURE_MAXIMUM_TIMERS 100
+ #define CONFIGURE_MAXIMUM_SEMAPHORES 100
+ #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 100
+ #define CONFIGURE_MAXIMUM_PARTITIONS 100
+ #define CONFIGURE_MAXIMUM_REGIONS 100
+ #define CONFIGURE_MAXIMUM_PORTS 100
+ #define CONFIGURE_MAXIMUM_PERIODS 100
+
+ #define CONFIGURE_TICKS_PER_TIMESLICE 0
+
+ #include <confdefs.h>
+
+
+The above example overrides a number of the configuration parameters.
+It informs the template that it is a member of the Timing Suite,
+requires a console and timer driver, and that it needs 102 tasks,
+100 timers, 100 semaphores, 100 message queues, 100 partitions,
+100 regions, 100 ports, and 100 periods. By default, the test
+would have gotten no drivers, 10 tasks, and no other RTEMS objects.
+
+The following shows the configuration tables generated by the
+template by default.
+
+
+#include <bsp.h>
+
+#define NULL_DRIVER_TABLE_ENTRY \
+ { NULL, NULL, NULL, NULL, NULL, NULL }
+
+rtems_driver_address_table Device_drivers[] = {
+#ifdef CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
+ CONSOLE_DRIVER_TABLE_ENTRY,
+#endif
+#ifdef CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
+ CLOCK_DRIVER_TABLE_ENTRY,
+#endif
+#ifdef CONFIGURE_TEST_NEEDS_STUB_DRIVER
+ STUB_DRIVER_TABLE_ENTRY,
+#endif
+ NULL_DRIVER_TABLE_ENTRY,
+};
+
+rtems_initialization_tasks_table Initialization_tasks[] = {
+ { rtems_build_name( 'U', 'I', '1', ' ' ), /* init task name */
+ RTEMS_MINIMUM_STACK_SIZE, /* init task stack size */
+ 1, /* init task priority */
+ RTEMS_DEFAULT_ATTRIBUTES, /* init task attributes */
+ Init, /* init task entry point */
+ RTEMS_NO_PREEMPT, /* init task initial mode */
+ 0 /* init task argument list */
+ }
+};
+
+#ifdef CONFIGURE_MPTEST
+/*
+ * NODE_NUMBER is assumed to be set on the compile line.
+ */
+
+rtems_multiprocessing_table Multiprocessing_configuration = {
+ NODE_NUMBER, /* local node number */
+ 2, /* maximum # nodes in system */
+ 32, /* maximum # global objects */
+ 32, /* maximum # proxies */
+ &MPCI_table /* pointer to MPCI config table */
+};
+#endif
+
+/*
+ * CONFIGURE_EXECUTIVE_RAM_SIZE is a rough guess based on the number of
+ * tasks in the system plus enough extra to get a whole 64K extra.
+ *
+ * The NULL address for the workspace area is assumed to be assigned
+ * at startup time by the BSP.
+ */
+
+rtems_configuration_table Configuration = {
+ NULL, /* executive RAM work area */
+ CONFIGURE_EXECUTIVE_RAM_SIZE, /* executive RAM size */
+ 10, /* maximum # tasks */
+ 0, /* maximum # timers */
+ 0, /* maximum # semaphores */
+ 0, /* maximum # message queues */
+ 0, /* maximum # messages */
+ 0, /* maximum # partitions */
+ 0, /* maximum # regions */
+ 0, /* maximum # dp memory areas */
+ 0, /* maximum # periods */
+ 0, /* maximum # user extensions */
+ RTEMS_MILLISECONDS_TO_MICROSECONDS(10), /* # us in a tick */
+ 50, /* # ticks in a timeslice */
+ sizeof (Initialization_tasks) / sizeof(rtems_initialization_tasks_table),
+ /* number of init tasks */
+ Initialization_tasks, /* init task(s) table */
+ sizeof (Device_drivers) / sizeof(rtems_driver_address_table),
+ /* number of device drivers */
+ Device_drivers, /* pointer to driver address table */
+ NULL, /* pointer to initial extensions */
+#ifdef CONFIGURE_MPTEST
+ &Multiprocessing_configuration
+#else
+ NULL /* ptr to MP config table */
+#endif
+};
diff --git a/c/src/exec/sapi/include/rtems/Makefile.in b/c/src/exec/sapi/include/rtems/Makefile.in
new file mode 100644
index 0000000000..24e8766199
--- /dev/null
+++ b/c/src/exec/sapi/include/rtems/Makefile.in
@@ -0,0 +1,34 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_PIECES= config directives extension fatal init io mptables sptables
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+# H_FILES that get installed externally
+EXTERNAL_H_PIECES = confdefs
+EXTERNAL_H_FILES=$(EXTERNAL_H_PIECES:%=$(srcdir)/%.h)
+
+SRCS=$(H_FILES) $(EXTERNAL_H_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/
+ $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
diff --git a/c/src/exec/sapi/include/rtems/README b/c/src/exec/sapi/include/rtems/README
new file mode 100644
index 0000000000..5fcc0d14c7
--- /dev/null
+++ b/c/src/exec/sapi/include/rtems/README
@@ -0,0 +1,135 @@
+#
+# $Id$
+#
+
+Configuring a System Using the Template in confdefs.h
+=====================================================
+
+The file confdefs.h is a Configuration Template file which can be
+used to greatly simplify the creation and maintenance of RTEMS
+Configuration Tables. The basic concepts are:
+
+ + confdefs.h provides defaults for all configuration parameters
+
+ + applications specify only those values they wish to override
+
+ + confdefs.h can be the only file which knows the precise layout
+ of the RTEMS Configuration Tables.
+
+The Configuration Template setup is used by all RTEMS tests to
+simplify the maintenance of the tests.
+
+Here is the section from the system.h file from test tm21 from
+the Timing Test Suite:
+
+ /* configuration information */
+
+ #define CONFIGURE_TMTEST
+
+ #define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
+ #define CONFIGURE_TEST_NEEDS_TIMER_DRIVER
+
+ #define CONFIGURE_MAXIMUM_TASKS 102
+ #define CONFIGURE_MAXIMUM_TIMERS 100
+ #define CONFIGURE_MAXIMUM_SEMAPHORES 100
+ #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 100
+ #define CONFIGURE_MAXIMUM_PARTITIONS 100
+ #define CONFIGURE_MAXIMUM_REGIONS 100
+ #define CONFIGURE_MAXIMUM_PORTS 100
+ #define CONFIGURE_MAXIMUM_PERIODS 100
+
+ #define CONFIGURE_TICKS_PER_TIMESLICE 0
+
+ #include <confdefs.h>
+
+
+The above example overrides a number of the configuration parameters.
+It informs the template that it is a member of the Timing Suite,
+requires a console and timer driver, and that it needs 102 tasks,
+100 timers, 100 semaphores, 100 message queues, 100 partitions,
+100 regions, 100 ports, and 100 periods. By default, the test
+would have gotten no drivers, 10 tasks, and no other RTEMS objects.
+
+The following shows the configuration tables generated by the
+template by default.
+
+
+#include <bsp.h>
+
+#define NULL_DRIVER_TABLE_ENTRY \
+ { NULL, NULL, NULL, NULL, NULL, NULL }
+
+rtems_driver_address_table Device_drivers[] = {
+#ifdef CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
+ CONSOLE_DRIVER_TABLE_ENTRY,
+#endif
+#ifdef CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
+ CLOCK_DRIVER_TABLE_ENTRY,
+#endif
+#ifdef CONFIGURE_TEST_NEEDS_STUB_DRIVER
+ STUB_DRIVER_TABLE_ENTRY,
+#endif
+ NULL_DRIVER_TABLE_ENTRY,
+};
+
+rtems_initialization_tasks_table Initialization_tasks[] = {
+ { rtems_build_name( 'U', 'I', '1', ' ' ), /* init task name */
+ RTEMS_MINIMUM_STACK_SIZE, /* init task stack size */
+ 1, /* init task priority */
+ RTEMS_DEFAULT_ATTRIBUTES, /* init task attributes */
+ Init, /* init task entry point */
+ RTEMS_NO_PREEMPT, /* init task initial mode */
+ 0 /* init task argument list */
+ }
+};
+
+#ifdef CONFIGURE_MPTEST
+/*
+ * NODE_NUMBER is assumed to be set on the compile line.
+ */
+
+rtems_multiprocessing_table Multiprocessing_configuration = {
+ NODE_NUMBER, /* local node number */
+ 2, /* maximum # nodes in system */
+ 32, /* maximum # global objects */
+ 32, /* maximum # proxies */
+ &MPCI_table /* pointer to MPCI config table */
+};
+#endif
+
+/*
+ * CONFIGURE_EXECUTIVE_RAM_SIZE is a rough guess based on the number of
+ * tasks in the system plus enough extra to get a whole 64K extra.
+ *
+ * The NULL address for the workspace area is assumed to be assigned
+ * at startup time by the BSP.
+ */
+
+rtems_configuration_table Configuration = {
+ NULL, /* executive RAM work area */
+ CONFIGURE_EXECUTIVE_RAM_SIZE, /* executive RAM size */
+ 10, /* maximum # tasks */
+ 0, /* maximum # timers */
+ 0, /* maximum # semaphores */
+ 0, /* maximum # message queues */
+ 0, /* maximum # messages */
+ 0, /* maximum # partitions */
+ 0, /* maximum # regions */
+ 0, /* maximum # dp memory areas */
+ 0, /* maximum # periods */
+ 0, /* maximum # user extensions */
+ RTEMS_MILLISECONDS_TO_MICROSECONDS(10), /* # us in a tick */
+ 50, /* # ticks in a timeslice */
+ sizeof (Initialization_tasks) / sizeof(rtems_initialization_tasks_table),
+ /* number of init tasks */
+ Initialization_tasks, /* init task(s) table */
+ sizeof (Device_drivers) / sizeof(rtems_driver_address_table),
+ /* number of device drivers */
+ Device_drivers, /* pointer to driver address table */
+ NULL, /* pointer to initial extensions */
+#ifdef CONFIGURE_MPTEST
+ &Multiprocessing_configuration
+#else
+ NULL /* ptr to MP config table */
+#endif
+};
diff --git a/c/src/exec/sapi/inline/Makefile.in b/c/src/exec/sapi/inline/Makefile.in
new file mode 100644
index 0000000000..63b4731cbe
--- /dev/null
+++ b/c/src/exec/sapi/inline/Makefile.in
@@ -0,0 +1,29 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+I_PIECES= extension
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS += $(LIB)
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems
diff --git a/c/src/exec/sapi/inline/rtems/Makefile.in b/c/src/exec/sapi/inline/rtems/Makefile.in
new file mode 100644
index 0000000000..63b4731cbe
--- /dev/null
+++ b/c/src/exec/sapi/inline/rtems/Makefile.in
@@ -0,0 +1,29 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+I_PIECES= extension
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS += $(LIB)
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems
diff --git a/c/src/exec/sapi/macros/Makefile.in b/c/src/exec/sapi/macros/Makefile.in
new file mode 100644
index 0000000000..63b4731cbe
--- /dev/null
+++ b/c/src/exec/sapi/macros/Makefile.in
@@ -0,0 +1,29 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+I_PIECES= extension
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS += $(LIB)
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems
diff --git a/c/src/exec/sapi/macros/rtems/Makefile.in b/c/src/exec/sapi/macros/rtems/Makefile.in
new file mode 100644
index 0000000000..63b4731cbe
--- /dev/null
+++ b/c/src/exec/sapi/macros/rtems/Makefile.in
@@ -0,0 +1,29 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+I_PIECES= extension
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS += $(LIB)
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems
diff --git a/c/src/exec/sapi/optman/Makefile.in b/c/src/exec/sapi/optman/Makefile.in
new file mode 100644
index 0000000000..1043e11a7f
--- /dev/null
+++ b/c/src/exec/sapi/optman/Makefile.in
@@ -0,0 +1,46 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+C_FILES= no-ext.c no-io.c
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+PGMS=$(C_FILES:%.c=$(ARCH)/%.rel)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+ASM4FLAGS += -I $(PROJECT_RELEASE)/include/rtems
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGMS)
+ $(INSTALL_VARIANT) -m 555 ${PGMS} ${PROJECT_RELEASE}/lib
diff --git a/c/src/exec/sapi/src/Makefile.in b/c/src/exec/sapi/src/Makefile.in
new file mode 100644
index 0000000000..424011b99a
--- /dev/null
+++ b/c/src/exec/sapi/src/Makefile.in
@@ -0,0 +1,38 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+C_PIECES= debug extension fatal init io posixapi rtemsapi
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+SRCS=$(C_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) ${OBJS}
diff --git a/c/src/exec/score/Makefile.in b/c/src/exec/score/Makefile.in
new file mode 100644
index 0000000000..a20d8b3f18
--- /dev/null
+++ b/c/src/exec/score/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=headers $(INLINE) tools cpu src
diff --git a/c/src/exec/score/cpu/Makefile.in b/c/src/exec/score/cpu/Makefile.in
new file mode 100644
index 0000000000..18843f3bb0
--- /dev/null
+++ b/c/src/exec/score/cpu/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=$(RTEMS_CPU)
diff --git a/c/src/exec/score/cpu/a29k/Makefile.in b/c/src/exec/score/cpu/a29k/Makefile.in
new file mode 100644
index 0000000000..fc16379320
--- /dev/null
+++ b/c/src/exec/score/cpu/a29k/Makefile.in
@@ -0,0 +1,88 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+RELS=$(ARCH)/rtems-cpu.rel
+
+# C source names, if any, go here -- minus the .c
+# Normally cpu_asm and rtems are assembly files
+C_PIECES=cpu rtems
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/cpu.h $(srcdir)/a29ktypes.h
+
+# H_FILES that get installed externally
+# a29k.h is handled separately
+EXTERNAL_H_FILES = $(srcdir)/asm.h $(srcdir)/amd.ah $(srcdir)/pswmacro.ah $(srcdir)/register.ah
+
+# Assembly source names, if any, go here -- minus the .s
+# Normally cpu_asm and rtems are assembly files
+S_PIECES=cpu_asm sig
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES) $(EXTERNAL_H_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) preinstall $(OBJS) $(RELS)
+ $(INSTALL_VARIANT) -m 444 $(RELS) ${PROJECT_RELEASE}/lib
+
+$(ARCH)/rtems-cpu.rel: $(OBJS)
+ $(make-rel)
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
+
+preinstall: ${PROJECT_RELEASE}/include/rtems/score/a29k.h \
+ ${PROJECT_RELEASE}/include/rtems/score/targopts.h \
+ ${PROJECT_RELEASE}/lib/bsp_specs
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/score
+# we will share the basic cpu file
+ $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
+
+${PROJECT_RELEASE}/include/rtems/score/a29k.h: a29k.h
+ $(SED) -e 's?REPLACE_THIS_WITH_THE_CPU_MODEL?$(RTEMS_CPU_MODEL)?' \
+ -e 's?REPLACE_THIS_WITH_THE_BSP?$(RTEMS_BSP)?' \
+ < $< >$(ARCH)/a29k.h.tmp
+ $(INSTALL) -m 444 $(ARCH)/a29k.h.tmp $@
+
+${PROJECT_RELEASE}/include/rtems/score/targopts.h: $(ARCH)/targopts.h-tmp
+ $(INSTALL) -m 444 $(ARCH)/targopts.h-tmp $@
+
+# $(ARCH)/targopts.h-tmp rule is in leaf.cfg
+
+${PROJECT_RELEASE}/lib/bsp_specs: $(ARCH)/bsp_specs.tmp
+ $(INSTALL) -m 444 $(ARCH)/bsp_specs.tmp $@
+
+# $(ARCH)/bsp_specs.tmp rule is in leaf.cfg
diff --git a/c/src/exec/score/cpu/hppa1.1/Makefile.in b/c/src/exec/score/cpu/hppa1.1/Makefile.in
new file mode 100644
index 0000000000..a63f748ea6
--- /dev/null
+++ b/c/src/exec/score/cpu/hppa1.1/Makefile.in
@@ -0,0 +1,83 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+RELS=$(ARCH)/rtems-cpu.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=cpu
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/cpu.h $(srcdir)/hppa.h $(srcdir)/cpu_asm.h \
+ $(srcdir)/hppatypes.h
+
+# H_FILES that get installed externally
+EXTERNAL_H_FILES =
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=cpu_asm rtems
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES) $(EXTERNAL_H_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS := -I$(ARCH) $(CPPFLAGS)
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(ARCH)/offsets.h: $(ARCH) cpu.h $(PROJECT_RELEASE)/bin/genoffsets
+ $(RM) $@
+ $(PROJECT_RELEASE)/bin/genoffsets > $@
+ $(CHMOD) -w $@
+
+$(ARCH)/rtems-cpu.rel: $(OBJS)
+ $(make-rel)
+
+all: ${ARCH} install-headers $(SRCS) $(ARCH)/offsets.h preinstall $(RELS)
+
+preinstall:
+ $(INSTALL) -m 444 $(ARCH)/offsets.h ${PROJECT_RELEASE}/include/rtems/score
+
+install-headers: $(ARCH) ${PROJECT_RELEASE}/include/rtems/score/targopts.h \
+ ${PROJECT_RELEASE}/lib/bsp_specs
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/score
+# we will share the basic cpu file
+ $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
+
+${PROJECT_RELEASE}/include/rtems/score/targopts.h: $(ARCH)/targopts.h-tmp
+ $(INSTALL) -m 444 $(ARCH)/targopts.h-tmp $@
+
+# $(ARCH)/targopts.h-tmp rule is in leaf.cfg
+
+${PROJECT_RELEASE}/lib/bsp_specs: $(ARCH)/bsp_specs.tmp
+ $(INSTALL) -m 444 $(ARCH)/bsp_specs.tmp $@
+
+# $(ARCH)/bsp_specs.tmp rule is in leaf.cfg
diff --git a/c/src/exec/score/cpu/hppa1.1/cpu_asm.s b/c/src/exec/score/cpu/hppa1.1/cpu_asm.s
index bf0d4b0bee..a62237c76c 100644
--- a/c/src/exec/score/cpu/hppa1.1/cpu_asm.s
+++ b/c/src/exec/score/cpu/hppa1.1/cpu_asm.s
@@ -1,29 +1,29 @@
-#
-# TODO:
-# Context_switch needs to only save callee save registers
-# I think this means can skip: r1, r2, r19-29, r31
-# Ref: p 3-2 of Procedure Calling Conventions Manual
-# This should be #ifndef DEBUG so that debugger has
-# accurate visibility into all registers
-#
-# This file contains the assembly code for the HPPA implementation
-# of RTEMS.
-#
-# COPYRIGHT (c) 1994,95 by Division Incorporated
-#
-# To anyone who acknowledges that this file is provided "AS IS"
-# without any express or implied warranty:
-# permission to use, copy, modify, and distribute this file
-# for any purpose is hereby granted without fee, provided that
-# the above copyright notice and this notice appears in all
-# copies, and that the name of Division Incorporated not be
-# used in advertising or publicity pertaining to distribution
-# of the software without specific, written prior permission.
-# Division Incorporated makes no representations about the
-# suitability of this software for any purpose.
-#
-# $Id$
-#
+/*
+ * TODO:
+ * Context_switch needs to only save callee save registers
+ * I think this means can skip: r1, r2, r19-29, r31
+ * Ref: p 3-2 of Procedure Calling Conventions Manual
+ * This should be #ifndef DEBUG so that debugger has
+ * accurate visibility into all registers
+ *
+ * This file contains the assembly code for the HPPA implementation
+ * of RTEMS.
+ *
+ * COPYRIGHT (c) 1994,95 by Division Incorporated
+ *
+ * To anyone who acknowledges that this file is provided "AS IS"
+ * without any express or implied warranty:
+ * permission to use, copy, modify, and distribute this file
+ * for any purpose is hereby granted without fee, provided that
+ * the above copyright notice and this notice appears in all
+ * copies, and that the name of Division Incorporated not be
+ * used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Division Incorporated makes no representations about the
+ * suitability of this software for any purpose.
+ *
+ * $Id$
+ */
#include <rtems/score/hppa.h>
#include <rtems/score/cpu_asm.h>
@@ -39,69 +39,69 @@
.SPACE $TEXT$
.SUBSPA $CODE$
-#
-# Special register usage for context switch and interrupts
-# Stay away from %cr28 which is used for TLB misses on 72000
-#
+/*
+ * Special register usage for context switch and interrupts
+ * Stay away from %cr28 which is used for TLB misses on 72000
+ */
isr_arg0 .reg %cr24
isr_r9 .reg %cr25
isr_r8 .reg %cr26
-#
-# Interrupt stack frame looks like this
-#
-# offset item
-# -----------------------------------------------------------------
-# INTEGER_CONTEXT_OFFSET Context_Control
-# FP_CONTEXT_OFFSET Context_Control_fp
-#
-# It is padded out to a multiple of 64
-#
-
-
-# PAGE^L
-# void _Generic_ISR_Handler()
-#
-# This routine provides the RTEMS interrupt management.
-#
-# We jump here from the interrupt vector.
-# The HPPA hardware has done some stuff for us:
-# PSW saved in IPSW
-# PSW set to 0
-# PSW[E] set to default (0)
-# PSW[M] set to 1 iff this is HPMC
-#
-# IIA queue is frozen (since PSW[Q] is now 0)
-# privilege level promoted to 0
-# IIR, ISR, IOR potentially updated if PSW[Q] was 1 at trap
-# registers GR 1,8,9,16,17,24,25 copied to shadow regs
-# SHR 0 1 2 3 4 5 6
-#
-# Our vector stub (in the BSP) MUST have done the following:
-#
-# a) Saved the original %r9 into %isr_r9 (%cr25)
-# b) Placed the vector number in %r9
-# c) Was allowed to also destroy $isr_r8 (%cr26),
-# but the stub was NOT allowed to destroy any other registers.
-#
-# The typical stub sequence (in the BSP) should look like this:
-#
-# a) mtctl %r9,isr_r9 ; (save r9 in cr25)
-# b) ldi vector,%r9 ; (load constant vector number in r9)
-# c) mtctl %r8,isr_r8 ; (save r8 in cr26)
-# d) ldil L%MY_BSP_first_level_interrupt_handler,%r8
-# e) ldo R%MY_BSP_first_level_interrupt_handler(%r8),%r8
-# ; (point to BSP raw handler table)
-# f) ldwx,s %r9(%r8),%r8 ; (load value from raw handler table)
-# g) bv 0(%r8) ; (call raw handler: _Generic_ISR_Handler)
-# h) mfctl isr_r8,%r8 ; (restore r8 from cr26 in delay slot)
-#
-# Optionally, steps (c) thru (h) _could_ be replaced with a single
-# bl,n _Generic_ISR_Handler,%r0
-#
-#
-#
+/*
+ * Interrupt stack frame looks like this
+ *
+ * offset item
+ * -----------------------------------------------------------------
+ * INTEGER_CONTEXT_OFFSET Context_Control
+ * FP_CONTEXT_OFFSET Context_Control_fp
+ *
+ * It is padded out to a multiple of 64
+ */
+
+
+/*PAGE^L
+ * void _Generic_ISR_Handler()
+ *
+ * This routine provides the RTEMS interrupt management.
+ *
+ * We jump here from the interrupt vector.
+ * The HPPA hardware has done some stuff for us:
+ * PSW saved in IPSW
+ * PSW set to 0
+ * PSW[E] set to default (0)
+ * PSW[M] set to 1 iff this is HPMC
+ *
+ * IIA queue is frozen (since PSW[Q] is now 0)
+ * privilege level promoted to 0
+ * IIR, ISR, IOR potentially updated if PSW[Q] was 1 at trap
+ * registers GR 1,8,9,16,17,24,25 copied to shadow regs
+ * SHR 0 1 2 3 4 5 6
+ *
+ * Our vector stub (in the BSP) MUST have done the following:
+ *
+ * a) Saved the original %r9 into %isr_r9 (%cr25)
+ * b) Placed the vector number in %r9
+ * c) Was allowed to also destroy $isr_r8 (%cr26),
+ * but the stub was NOT allowed to destroy any other registers.
+ *
+ * The typical stub sequence (in the BSP) should look like this:
+ *
+ * a) mtctl %r9,isr_r9 ; (save r9 in cr25)
+ * b) ldi vector,%r9 ; (load constant vector number in r9)
+ * c) mtctl %r8,isr_r8 ; (save r8 in cr26)
+ * d) ldil L%MY_BSP_first_level_interrupt_handler,%r8
+ * e) ldo R%MY_BSP_first_level_interrupt_handler(%r8),%r8
+ * ; (point to BSP raw handler table)
+ * f) ldwx,s %r9(%r8),%r8 ; (load value from raw handler table)
+ * g) bv 0(%r8) ; (call raw handler: _Generic_ISR_Handler)
+ * h) mfctl isr_r8,%r8 ; (restore r8 from cr26 in delay slot)
+ *
+ * Optionally, steps (c) thru (h) _could_ be replaced with a single
+ * bl,n _Generic_ISR_Handler,%r0
+ *
+ *
+ */
.EXPORT _Generic_ISR_Handler,ENTRY,PRIV_LEV=0
_Generic_ISR_Handler:
.PROC
@@ -110,7 +110,9 @@ _Generic_ISR_Handler:
mtctl arg0, isr_arg0
-# save interrupt state
+/*
+ * save interrupt state
+ */
mfctl ipsw, arg0
stw arg0, IPSW_OFFSET(sp)
@@ -130,18 +132,19 @@ _Generic_ISR_Handler:
mfctl %sar, arg0
stw arg0, SAR_OFFSET(sp)
-#
-# Build an interrupt frame to hold the contexts we will need.
-# We have already saved the interrupt items on the stack
-
-# At this point the following registers are damaged wrt the interrupt
-# reg current value saved value
-# ------------------------------------------------
-# arg0 scratch isr_arg0 (cr24)
-# r9 vector number isr_r9 (cr25)
-#
-# Point to beginning of integer context and
-# save the integer context
+/*
+ * Build an interrupt frame to hold the contexts we will need.
+ * We have already saved the interrupt items on the stack
+ *
+ * At this point the following registers are damaged wrt the interrupt
+ * reg current value saved value
+ * ------------------------------------------------
+ * arg0 scratch isr_arg0 (cr24)
+ * r9 vector number isr_r9 (cr25)
+ *
+ * Point to beginning of integer context and
+ * save the integer context
+ */
stw %r1,R1_OFFSET(sp)
stw %r2,R2_OFFSET(sp)
stw %r3,R3_OFFSET(sp)
@@ -150,7 +153,9 @@ _Generic_ISR_Handler:
stw %r6,R6_OFFSET(sp)
stw %r7,R7_OFFSET(sp)
stw %r8,R8_OFFSET(sp)
-# skip r9
+/*
+ * skip r9
+ */
stw %r10,R10_OFFSET(sp)
stw %r11,R11_OFFSET(sp)
stw %r12,R12_OFFSET(sp)
@@ -167,22 +172,25 @@ _Generic_ISR_Handler:
stw %r23,R23_OFFSET(sp)
stw %r24,R24_OFFSET(sp)
stw %r25,R25_OFFSET(sp)
-# skip arg0
+/*
+ * skip arg0
+ */
stw %r27,R27_OFFSET(sp)
stw %r28,R28_OFFSET(sp)
stw %r29,R29_OFFSET(sp)
stw %r30,R30_OFFSET(sp)
stw %r31,R31_OFFSET(sp)
-# Now most registers are available since they have been saved
-#
-# The following items are currently wrong in the integer context
-# reg current value saved value
-# ------------------------------------------------
-# arg0 scratch isr_arg0 (cr24)
-# r9 vector number isr_r9 (cr25)
-#
-# Fix them
+/* Now most registers are available since they have been saved
+ *
+ * The following items are currently wrong in the integer context
+ * reg current value saved value
+ * ------------------------------------------------
+ * arg0 scratch isr_arg0 (cr24)
+ * r9 vector number isr_r9 (cr25)
+ *
+ * Fix them
+ */
mfctl isr_arg0,%r3
stw %r3,ARG0_OFFSET(sp)
@@ -190,19 +198,21 @@ _Generic_ISR_Handler:
mfctl isr_r9,%r3
stw %r3,R9_OFFSET(sp)
-#
-# At this point we are done with isr_arg0, and isr_r9 control registers
-#
-# Prepare to re-enter virtual mode
-# We need Q in case the interrupt handler enables interrupts
-#
+/*
+ * At this point we are done with isr_arg0, and isr_r9 control registers
+ *
+ * Prepare to re-enter virtual mode
+ * We need Q in case the interrupt handler enables interrupts
+ */
ldil L%CPU_PSW_DEFAULT, arg0
ldo R%CPU_PSW_DEFAULT(arg0), arg0
mtctl arg0, ipsw
-# Now jump to "rest_of_isr_handler" with the rfi
-# We are assuming the space queues are all correct already
+/*
+ * Now jump to "rest_of_isr_handler" with the rfi
+ * We are assuming the space queues are all correct already
+ */
ldil L%rest_of_isr_handler, arg0
ldo R%rest_of_isr_handler(arg0), arg0
@@ -213,32 +223,43 @@ _Generic_ISR_Handler:
rfi
nop
-# At this point we are back in virtual mode and all our
-# normal addressing is once again ok.
-#
-# It is now ok to take an exception or trap
-#
+/*
+ * At this point we are back in virtual mode and all our
+ * normal addressing is once again ok.
+ *
+ * It is now ok to take an exception or trap
+ */
rest_of_isr_handler:
-# Point to beginning of float context and
-# save the floating point context -- doing whatever patches are necessary
+/*
+ * Point to beginning of float context and
+ * save the floating point context -- doing whatever patches are necessary
+ */
+
.call ARGW0=GR
bl _CPU_Save_float_context,%r2
ldo FP_CONTEXT_OFFSET(sp),arg0
-# save the ptr to interrupt frame as an argument for the interrupt handler
+/*
+ * save the ptr to interrupt frame as an argument for the interrupt handler
+ */
+
copy sp, arg1
-# Advance the frame to point beyond all interrupt contexts (integer & float)
-# this also includes the pad to align to 64byte stack boundary
+/*
+ * Advance the frame to point beyond all interrupt contexts (integer & float)
+ * this also includes the pad to align to 64byte stack boundary
+ */
ldo CPU_INTERRUPT_FRAME_SIZE(sp), sp
-# r3 -- &_ISR_Nest_level
-# r5 -- value _ISR_Nest_level
-# r4 -- &_Thread_Dispatch_disable_level
-# r6 -- value _Thread_Dispatch_disable_level
-# r9 -- vector number
+/*
+ * r3 -- &_ISR_Nest_level
+ * r5 -- value _ISR_Nest_level
+ * r4 -- &_Thread_Dispatch_disable_level
+ * r6 -- value _Thread_Dispatch_disable_level
+ * r9 -- vector number
+ */
.import _ISR_Nest_level,data
ldil L%_ISR_Nest_level,%r3
@@ -250,50 +271,64 @@ rest_of_isr_handler:
ldo R%_Thread_Dispatch_disable_level(%r4),%r4
ldw 0(%r4),%r6
-# increment interrupt nest level counter. If outermost interrupt
-# switch the stack and squirrel away the previous sp.
+/*
+ * increment interrupt nest level counter. If outermost interrupt
+ * switch the stack and squirrel away the previous sp.
+ */
addi 1,%r5,%r5
stw %r5, 0(%r3)
-# compute and save new stack (with frame)
-# just in case we are nested -- simpler this way
+/*
+ * compute and save new stack (with frame)
+ * just in case we are nested -- simpler this way
+ */
comibf,= 1,%r5,stack_done
ldo 128(sp),%r7
-#
-# Switch to interrupt stack allocated by the interrupt manager (intr.c)
-#
+/*
+ * Switch to interrupt stack allocated by the interrupt manager (intr.c)
+ */
.import _CPU_Interrupt_stack_low,data
ldil L%_CPU_Interrupt_stack_low,%r7
ldw R%_CPU_Interrupt_stack_low(%r7),%r7
ldo 128(%r7),%r7
stack_done:
-# save our current stack pointer where the "old sp" is supposed to be
+/*
+ * save our current stack pointer where the "old sp" is supposed to be
+ */
stw sp, -4(%r7)
-# and switch stacks (or advance old stack in nested case)
+/*
+ * and switch stacks (or advance old stack in nested case)
+ */
copy %r7, sp
-# increment the dispatch disable level counter.
+/*
+ * increment the dispatch disable level counter.
+ */
addi 1,%r6,%r6
stw %r6, 0(%r4)
-# load address of user handler
-# Note: No error checking is done, it is assumed that the
-# vector table contains a valid address or a stub
-# spurious handler.
+/*
+ * load address of user handler
+ * Note: No error checking is done, it is assumed that the
+ * vector table contains a valid address or a stub
+ * spurious handler.
+ */
.import _ISR_Vector_table,data
ldil L%_ISR_Vector_table,%r8
ldo R%_ISR_Vector_table(%r8),%r8
ldwx,s %r9(%r8),%r8
-# invoke user interrupt handler
-# Interrupts are currently disabled, as per RTEMS convention
-# The handler has the option of re-enabling interrupts
-# NOTE: can not use 'bl' since it uses "pc-relative" addressing
-# and we are using a hard coded address from a table
-# So... we fudge r2 ourselves (ala dynacall)
-# arg0 = vector number, arg1 = ptr to rtems_interrupt_frame
+/*
+ * invoke user interrupt handler
+ * Interrupts are currently disabled, as per RTEMS convention
+ * The handler has the option of re-enabling interrupts
+ * NOTE: can not use 'bl' since it uses "pc-relative" addressing
+ * and we are using a hard coded address from a table
+ * So... we fudge r2 ourselves (ala dynacall)
+ * arg0 = vector number, arg1 = ptr to rtems_interrupt_frame
+ */
copy %r9, %r26
.call ARGW0=GR, ARGW1=GR
blr %r0, rp
@@ -301,20 +336,24 @@ stack_done:
post_user_interrupt_handler:
-# Back from user handler(s)
-# Disable external interrupts (since the interrupt handler could
-# have turned them on) and return to the interrupted task stack (assuming
-# (_ISR_Nest_level == 0)
+/*
+ * Back from user handler(s)
+ * Disable external interrupts (since the interrupt handler could
+ * have turned them on) and return to the interrupted task stack (assuming
+ * (_ISR_Nest_level == 0)
+ */
rsm HPPA_PSW_I + HPPA_PSW_R, %r0
ldw -4(sp), sp
-# r3 -- (most of) &_ISR_Nest_level
-# r5 -- value _ISR_Nest_level
-# r4 -- (most of) &_Thread_Dispatch_disable_level
-# r6 -- value _Thread_Dispatch_disable_level
-# r7 -- (most of) &_ISR_Signals_to_thread_executing
-# r8 -- value _ISR_Signals_to_thread_executing
+/*
+ * r3 -- (most of) &_ISR_Nest_level
+ * r5 -- value _ISR_Nest_level
+ * r4 -- (most of) &_Thread_Dispatch_disable_level
+ * r6 -- value _Thread_Dispatch_disable_level
+ * r7 -- (most of) &_ISR_Signals_to_thread_executing
+ * r8 -- value _ISR_Signals_to_thread_executing
+ */
.import _ISR_Nest_level,data
ldil L%_ISR_Nest_level,%r3
@@ -327,33 +366,42 @@ post_user_interrupt_handler:
.import _ISR_Signals_to_thread_executing,data
ldil L%_ISR_Signals_to_thread_executing,%r7
-# decrement isr nest level
+/*
+ * decrement isr nest level
+ */
addi -1, %r5, %r5
stw %r5, R%_ISR_Nest_level(%r3)
-# decrement dispatch disable level counter and, if not 0, go on
+/*
+ * decrement dispatch disable level counter and, if not 0, go on
+ */
addi -1,%r6,%r6
comibf,= 0,%r6,isr_restore
stw %r6, R%_Thread_Dispatch_disable_level(%r4)
-# check whether or not a context switch is necessary
+/*
+ * check whether or not a context switch is necessary
+ */
.import _Context_Switch_necessary,data
ldil L%_Context_Switch_necessary,%r8
ldw R%_Context_Switch_necessary(%r8),%r8
comibf,=,n 0,%r8,ISR_dispatch
-# check whether or not a context switch is necessary because an ISR
-# sent signals to the interrupted task
+/*
+ * check whether or not a context switch is necessary because an ISR
+ * sent signals to the interrupted task
+ */
ldw R%_ISR_Signals_to_thread_executing(%r7),%r8
comibt,=,n 0,%r8,isr_restore
-# OK, something happened while in ISR and we need to switch to a task
-# other than the one which was interrupted or the
-# ISR_Signals_to_thread_executing case
-# We also turn on interrupts, since the interrupted task had them
-# on (obviously :-) and Thread_Dispatch is happy to leave ints on.
-#
+/*
+ * OK, something happened while in ISR and we need to switch to a task
+ * other than the one which was interrupted or the
+ * ISR_Signals_to_thread_executing case
+ * We also turn on interrupts, since the interrupted task had them
+ * on (obviously :-) and Thread_Dispatch is happy to leave ints on.
+ */
ISR_dispatch:
stw %r0, R%_ISR_Signals_to_thread_executing(%r7)
@@ -369,32 +417,41 @@ ISR_dispatch:
isr_restore:
-# enable interrupts during most of restore
+/*
+ * enable interrupts during most of restore
+ */
ssm HPPA_PSW_I, %r0
-# Get a pointer to beginning of our stack frame
+/*
+ * Get a pointer to beginning of our stack frame
+ */
ldo -CPU_INTERRUPT_FRAME_SIZE(sp), %arg1
-# restore float
+/*
+ * restore float
+ */
.call ARGW0=GR
bl _CPU_Restore_float_context,%r2
ldo FP_CONTEXT_OFFSET(%arg1), arg0
copy %arg1, %arg0
-# ********** FALL THRU **********
+/*
+ * ********** FALL THRU **********
+ */
-# Jump here from bottom of Context_Switch
-# Also called directly by _CPU_Context_Restart_self via _Thread_Restart_self
-# restore interrupt state
-#
+/*
+ * Jump here from bottom of Context_Switch
+ * Also called directly by _CPU_Context_Restart_self via _Thread_Restart_self
+ * restore interrupt state
+ */
.EXPORT _CPU_Context_restore
_CPU_Context_restore:
-#
-# restore integer state
-#
+/*
+ * restore integer state
+ */
ldw R1_OFFSET(arg0),%r1
ldw R2_OFFSET(arg0),%r2
ldw R3_OFFSET(arg0),%r3
@@ -419,18 +476,26 @@ _CPU_Context_restore:
ldw R22_OFFSET(arg0),%r22
ldw R23_OFFSET(arg0),%r23
ldw R24_OFFSET(arg0),%r24
-# skipping r25; used as scratch register below
-# skipping r26 (arg0) until we are done with it
+/*
+ * skipping r25; used as scratch register below
+ * skipping r26 (arg0) until we are done with it
+ */
ldw R27_OFFSET(arg0),%r27
ldw R28_OFFSET(arg0),%r28
ldw R29_OFFSET(arg0),%r29
-# skipping r30 (sp) until we turn off interrupts
+/*
+ * skipping r30 (sp) until we turn off interrupts
+ */
ldw R31_OFFSET(arg0),%r31
-# Turn off Q & R & I so we can write r30 and interrupt control registers
+/*
+ * Turn off Q & R & I so we can write r30 and interrupt control registers
+ */
rsm HPPA_PSW_Q + HPPA_PSW_R + HPPA_PSW_I, %r0
-# now safe to restore r30
+/*
+ * now safe to restore r30
+ */
ldw R30_OFFSET(arg0),%r30
ldw IPSW_OFFSET(arg0), %r25
@@ -445,9 +510,13 @@ _CPU_Context_restore:
ldw PCOQBACK_OFFSET(arg0), %r25
mtctl %r25, pcoq
-# Load r25 with interrupts off
+/*
+ * Load r25 with interrupts off
+ */
ldw R25_OFFSET(arg0),%r25
-# Must load r26 (arg0) last
+/*
+ * Must load r26 (arg0) last
+ */
ldw R26_OFFSET(arg0),%r26
isr_exit:
@@ -455,13 +524,14 @@ isr_exit:
.EXIT
.PROCEND
-#
-# This section is used to context switch floating point registers.
-# Ref: 6-35 of Architecture 1.1
-#
-# NOTE: since integer multiply uses the floating point unit,
-# we have to save/restore fp on every trap. We cannot
-# just try to keep track of fp usage.
+/*
+ * This section is used to context switch floating point registers.
+ * Ref: 6-35 of Architecture 1.1
+ *
+ * NOTE: since integer multiply uses the floating point unit,
+ * we have to save/restore fp on every trap. We cannot
+ * just try to keep track of fp usage.
+ */
.align 32
.EXPORT _CPU_Save_float_context,ENTRY,PRIV_LEV=0
@@ -549,13 +619,14 @@ _CPU_Restore_float_context:
.EXIT
.PROCEND
-#
-# These 2 small routines are unused right now.
-# Normally we just go thru _CPU_Save_float_context (and Restore)
-#
-# Here we just deref the ptr and jump up, letting _CPU_Save_float_context
-# do the return for us.
-#
+/*
+ * These 2 small routines are unused right now.
+ * Normally we just go thru _CPU_Save_float_context (and Restore)
+ *
+ * Here we just deref the ptr and jump up, letting _CPU_Save_float_context
+ * do the return for us.
+ */
+
.EXPORT _CPU_Context_save_fp,ENTRY,PRIV_LEV=0
_CPU_Context_save_fp:
.PROC
@@ -577,10 +648,11 @@ _CPU_Context_restore_fp:
.PROCEND
-# void _CPU_Context_switch( run_context, heir_context )
-#
-# This routine performs a normal non-FP context switch.
-#
+/*
+ * void _CPU_Context_switch( run_context, heir_context )
+ *
+ * This routine performs a normal non-FP context switch.
+ */
.align 32
.EXPORT _CPU_Context_switch,ENTRY,PRIV_LEV=0,ARGW0=GR,ARGW1=GR
@@ -589,7 +661,9 @@ _CPU_Context_switch:
.CALLINFO FRAME=64
.ENTRY
-# Save the integer context
+/*
+ * Save the integer context
+ */
stw %r1,R1_OFFSET(arg0)
stw %r2,R2_OFFSET(arg0)
stw %r3,R3_OFFSET(arg0)
@@ -622,13 +696,17 @@ _CPU_Context_switch:
stw %r30,R30_OFFSET(arg0)
stw %r31,R31_OFFSET(arg0)
-# fill in interrupt context section
+/*
+ * fill in interrupt context section
+ */
stw %r2, PCOQFRONT_OFFSET(%arg0)
ldo 4(%r2), %r2
stw %r2, PCOQBACK_OFFSET(%arg0)
-# Generate a suitable IPSW by using the system default psw
-# with the current low bits added in.
+/*
+ * Generate a suitable IPSW by using the system default psw
+ * with the current low bits added in.
+ */
ldil L%CPU_PSW_DEFAULT, %r2
ldo R%CPU_PSW_DEFAULT(%r2), %r2
@@ -636,9 +714,11 @@ _CPU_Context_switch:
dep %arg2, 31, 8, %r2
stw %r2, IPSW_OFFSET(%arg0)
-# at this point, the running task context is completely saved
-# Now jump to the bottom of the interrupt handler to load the
-# heirs context
+/*
+ * at this point, the running task context is completely saved
+ * Now jump to the bottom of the interrupt handler to load the
+ * heirs context
+ */
b _CPU_Context_restore
copy %arg1, %arg0
diff --git a/c/src/exec/score/cpu/hppa1.1/hppa.h b/c/src/exec/score/cpu/hppa1.1/hppa.h
index 77f25d76e6..0f238ab9b0 100644
--- a/c/src/exec/score/cpu/hppa1.1/hppa.h
+++ b/c/src/exec/score/cpu/hppa1.1/hppa.h
@@ -27,6 +27,10 @@
#ifndef _INCLUDE_HPPA_H
#define _INCLUDE_HPPA_H
+#ifdef ASM
+#include <rtems/score/targopts.h>
+#endif
+
#if defined(__cplusplus)
extern "C" {
#endif
@@ -39,8 +43,6 @@ extern "C" {
* present in a particular member of the family.
*/
-#if !defined(CPU_MODEL_NAME)
-
#if defined(hppa7100)
#define CPU_MODEL_NAME "hppa 7100"
@@ -51,11 +53,9 @@ extern "C" {
#else
-#define CPU_MODEL_NAME Unsupported CPU Model /* cause an error on usage */
+#error "Unsupported CPU Model"
#endif
-
-#endif /* !defined(CPU_MODEL_NAME) */
/*
* Define the name of the CPU family.
@@ -69,6 +69,7 @@ extern "C" {
* Processor Status Word (PSW) Masks
*/
+
#define HPPA_PSW_Y 0x80000000 /* Data Debug Trap Disable */
#define HPPA_PSW_Z 0x40000000 /* Instruction Debug Trap Disable */
#define HPPA_PSW_r2 0x20000000 /* reserved */
diff --git a/c/src/exec/score/cpu/i386/Makefile.in b/c/src/exec/score/cpu/i386/Makefile.in
new file mode 100644
index 0000000000..81a4978937
--- /dev/null
+++ b/c/src/exec/score/cpu/i386/Makefile.in
@@ -0,0 +1,86 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+RELS=$(ARCH)/rtems-cpu.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=cpu
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/cpu.h $(srcdir)/i386types.h
+
+# H_FILES that get installed externally
+# i386.h is handled specially
+EXTERNAL_H_FILES = $(srcdir)/asm.h
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=cpu_asm rtems
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES) $(EXTERNAL_H_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(ARCH)/rtems-cpu.rel: $(OBJS)
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) preinstall $(OBJS) $(RELS)
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
+install: all
+
+preinstall: ${PROJECT_RELEASE}/include/rtems/score/i386.h \
+ ${PROJECT_RELEASE}/include/rtems/score/targopts.h \
+ ${PROJECT_RELEASE}/lib/bsp_specs
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/score
+# we will share the basic cpu file
+ $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
+
+${PROJECT_RELEASE}/include/rtems/score/i386.h: i386.h
+ $(SED) -e 's?REPLACE_THIS_WITH_THE_CPU_MODEL?$(RTEMS_CPU_MODEL)?' \
+ -e 's?REPLACE_THIS_WITH_THE_BSP?$(RTEMS_BSP)?' \
+ < $< >$(ARCH)/i386.h-tmp
+ $(INSTALL) -m 444 $(ARCH)/i386.h-tmp $@
+
+${PROJECT_RELEASE}/include/rtems/score/targopts.h: $(ARCH)/targopts.h-tmp
+ $(INSTALL) -m 444 $(ARCH)/targopts.h-tmp $@
+
+# $(ARCH)/targopts.h-tmp rule is in leaf.cfg
+
+${PROJECT_RELEASE}/lib/bsp_specs: $(ARCH)/bsp_specs.tmp
+ $(INSTALL) -m 444 $(ARCH)/bsp_specs.tmp $@
+
+# $(ARCH)/bsp_specs.tmp rule is in leaf.cfg
diff --git a/c/src/exec/score/cpu/i960/Makefile.in b/c/src/exec/score/cpu/i960/Makefile.in
new file mode 100644
index 0000000000..2841cb17a8
--- /dev/null
+++ b/c/src/exec/score/cpu/i960/Makefile.in
@@ -0,0 +1,86 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+RELS=$(ARCH)/rtems-cpu.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=cpu
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/cpu.h $(srcdir)/i960types.h
+
+# H_FILES that get installed externally
+# i960.h is handled separately
+EXTERNAL_H_FILES = $(srcdir)/asm.h
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=cpu_asm rtems
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES) $(EXTERNAL_H_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(ARCH)/rtems-cpu.rel: $(OBJS)
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) preinstall $(OBJS) $(RELS)
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
+install: all
+
+preinstall: ${PROJECT_RELEASE}/include/rtems/score/i960.h \
+ ${PROJECT_RELEASE}/include/rtems/score/targopts.h \
+ ${PROJECT_RELEASE}/lib/bsp_specs
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/score
+# we will share the basic cpu file
+ $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
+
+${PROJECT_RELEASE}/include/rtems/score/i960.h: i960.h
+ $(SED) -e 's?REPLACE_THIS_WITH_THE_CPU_MODEL?$(RTEMS_CPU_MODEL)?' \
+ -e 's?REPLACE_THIS_WITH_THE_BSP?$(RTEMS_BSP)?' \
+ < $< >$(ARCH)/i960.h.tmp
+ $(INSTALL) -m 444 $(ARCH)/i960.h.tmp $@
+
+${PROJECT_RELEASE}/include/rtems/score/targopts.h: $(ARCH)/targopts.h-tmp
+ $(INSTALL) -m 444 $(ARCH)/targopts.h-tmp $@
+
+# $(ARCH)/targopts.h-tmp rule is in leaf.cfg
+
+${PROJECT_RELEASE}/lib/bsp_specs: $(ARCH)/bsp_specs.tmp
+ $(INSTALL) -m 444 $(ARCH)/bsp_specs.tmp $@
+
+# $(ARCH)/bsp_specs.tmp rule is in leaf.cfg
diff --git a/c/src/exec/score/cpu/m68k/Makefile.in b/c/src/exec/score/cpu/m68k/Makefile.in
new file mode 100644
index 0000000000..298642c169
--- /dev/null
+++ b/c/src/exec/score/cpu/m68k/Makefile.in
@@ -0,0 +1,75 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+RELS=$(ARCH)/rtems-cpu.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=cpu
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/cpu.h $(srcdir)/m68k.h $(srcdir)/m68ktypes.h
+
+# H_FILES that get installed externally
+EXTERNAL_H_FILES = $(srcdir)/asm.h $(srcdir)/m68302.h $(srcdir)/m68360.h \
+ $(srcdir)/qsm.h $(srcdir)/sim.h
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=cpu_asm rtems
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES) $(EXTERNAL_H_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(ARCH)/rtems-cpu.rel: $(OBJS)
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) preinstall $(OBJS) $(RELS)
+
+preinstall: ${PROJECT_RELEASE}/include/rtems/score/targopts.h \
+ ${PROJECT_RELEASE}/lib/bsp_specs
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/score
+# we will share the basic cpu file
+ $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
+
+${PROJECT_RELEASE}/include/rtems/score/targopts.h: $(ARCH)/targopts.h-tmp
+ $(INSTALL) -m 444 $(ARCH)/targopts.h-tmp $@
+
+# $(ARCH)/targopts.h-tmp rule is in leaf.cfg
+
+${PROJECT_RELEASE}/lib/bsp_specs: $(ARCH)/bsp_specs.tmp
+ $(INSTALL) -m 444 $(ARCH)/bsp_specs.tmp $@
+
+# $(ARCH)/bsp_specs.tmp rule is in leaf.cfg
diff --git a/c/src/exec/score/cpu/mips64orion/Makefile.in b/c/src/exec/score/cpu/mips64orion/Makefile.in
new file mode 100644
index 0000000000..9ebff0d60e
--- /dev/null
+++ b/c/src/exec/score/cpu/mips64orion/Makefile.in
@@ -0,0 +1,81 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+RELS=$(ARCH)/rtems-cpu.rel
+
+# C source names, if any, go here -- minus the .c
+# Normally cpu_asm and rtems are assembly files
+C_PIECES=cpu rtems
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/cpu.h $(srcdir)/mips64orion.h $(srcdir)/mipstypes.h \
+ $(srcdir)/idtcpu.h $(srcdir)/iregdef.h $(srcdir)/idtmon.h
+
+# H_FILES that get installed externally
+EXTERNAL_H_FILES = $(srcdir)/asm.h
+
+# Assembly source names, if any, go here -- minus the .s
+# Normally cpu_asm and rtems are assembly files
+S_PIECES=cpu_asm
+S_FILES=$(S_PIECES:%=%.S)
+S_O_FILES=$(S_FILES:%.S=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES) $(EXTERNAL_H_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) preinstall $(OBJS) $(RELS)
+ $(INSTALL_VARIANT) -m 444 $(RELS) ${PROJECT_RELEASE}/lib
+
+$(ARCH)/rtems-cpu.rel: $(OBJS)
+ $(make-rel)
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
+
+preinstall: ${PROJECT_RELEASE}/include/rtems/score/targopts.h \
+ ${PROJECT_RELEASE}/lib/bsp_specs
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/score
+# we will share the basic cpu file
+ $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
+
+${PROJECT_RELEASE}/include/rtems/score/targopts.h: $(ARCH)/targopts.h-tmp
+ $(INSTALL) -m 444 $(ARCH)/targopts.h-tmp $@
+
+# $(ARCH)/targopts.h-tmp rule is in leaf.cfg
+
+${PROJECT_RELEASE}/lib/bsp_specs: $(ARCH)/bsp_specs.tmp
+ $(INSTALL) -m 444 $(ARCH)/bsp_specs.tmp $@
+
+# $(ARCH)/bsp_specs.tmp rule is in leaf.cfg
diff --git a/c/src/exec/score/cpu/no_cpu/Makefile.in b/c/src/exec/score/cpu/no_cpu/Makefile.in
new file mode 100644
index 0000000000..4bbad5b532
--- /dev/null
+++ b/c/src/exec/score/cpu/no_cpu/Makefile.in
@@ -0,0 +1,90 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+RELS=$(ARCH)/rtems-cpu.rel
+
+# C source names, if any, go here -- minus the .c
+# Normally cpu_asm and rtems are assembly files
+C_PIECES=cpu cpu_asm rtems
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/cpu.h $(srcdir)/no_cputypes.h
+
+# H_FILES that get installed externally
+# no_cpu.h is handled separately
+EXTERNAL_H_FILES = $(srcdir)/asm.h
+
+# Assembly source names, if any, go here -- minus the .s
+# Normally cpu_asm and rtems are assembly files
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES) $(EXTERNAL_H_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) preinstall $(OBJS) $(RELS)
+
+$(ARCH)/rtems-cpu.rel: $(OBJS)
+ $(make-rel)
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
+install: all
+
+# Real ports using the gnu tools will need to have bsp_specs!!!
+# ${PROJECT_RELEASE}/lib/bsp_specs
+preinstall: ${PROJECT_RELEASE}/include/rtems/score/no_cpu.h \
+ ${PROJECT_RELEASE}/include/rtems/score/targopts.h
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/score
+# we will share the basic cpu file
+ $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
+
+${PROJECT_RELEASE}/include/rtems/score/no_cpu.h: $(srcdir)/no_cpu.h
+ $(SED) -e 's?REPLACE_THIS_WITH_THE_CPU_MODEL?$(RTEMS_CPU_MODEL)?' \
+ -e 's?REPLACE_THIS_WITH_THE_BSP?$(RTEMS_BSP)?' \
+ <$(srcdir)/no_cpu.h >$(ARCH)/no_cpu.h.tmp
+ $(INSTALL) -m 444 $(ARCH)/no_cpu.h.tmp $@
+
+${PROJECT_RELEASE}/include/rtems/score/targopts.h: $(ARCH)/targopts.h-tmp
+ $(INSTALL) -m 444 $(ARCH)/targopts.h-tmp $@
+
+# $(ARCH)/targopts.h-tmp rule is in leaf.cfg
+
+# Real ports using the gnu tools will need to have bsp_specs!!!
+#${PROJECT_RELEASE}/lib/bsp_specs: $(ARCH)/bsp_specs.tmp
+# $(INSTALL) -m 444 $(ARCH)/bsp_specs.tmp $@
+
+# $(ARCH)/bsp_specs.tmp rule is in leaf.cfg
diff --git a/c/src/exec/score/cpu/powerpc/Makefile.in b/c/src/exec/score/cpu/powerpc/Makefile.in
new file mode 100644
index 0000000000..09d1731cc8
--- /dev/null
+++ b/c/src/exec/score/cpu/powerpc/Makefile.in
@@ -0,0 +1,92 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+RELS=$(ARCH)/rtems-cpu.rel
+
+# C source names, if any, go here -- minus the .c
+# Normally cpu_asm and rtems are assembly files
+C_PIECES=cpu
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/cpu.h $(srcdir)/ppctypes.h
+
+# H_FILES that get installed externally
+# ppc.h is handled separately
+EXTERNAL_H_FILES = $(srcdir)/asm.h
+
+# Assembly source names, if any, go here -- minus the .s
+# Normally cpu_asm and rtems are assembly files
+S_PIECES=cpu_asm rtems
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES) $(EXTERNAL_H_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) preinstall $(OBJS) $(RELS)
+
+$(ARCH)/rtems-cpu.rel: $(OBJS)
+ $(make-rel)
+
+$(ARCH)/cpu_asm.o: irq_stub.s
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
+install: all
+
+preinstall: ${PROJECT_RELEASE}/include/rtems/score/ppc.h \
+ ${PROJECT_RELEASE}/include/rtems/score/targopts.h \
+ ${PROJECT_RELEASE}/lib/bsp_specs
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/score
+# we will share the basic cpu file
+ $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
+# make a link in case we are not compiling in the source directory
+ -$(LN) -s $(srcdir)/irq_stub.s irq_stub.s
+
+${PROJECT_RELEASE}/include/rtems/score/ppc.h: ppc.h
+ $(SED) -e 's?REPLACE_THIS_WITH_THE_CPU_MODEL?$(RTEMS_CPU_MODEL)?' \
+ -e 's?REPLACE_THIS_WITH_THE_BSP?$(RTEMS_BSP)?' \
+ < $< >$(ARCH)/ppc.h.tmp
+ $(INSTALL) -m 444 $(ARCH)/ppc.h.tmp $@
+
+${PROJECT_RELEASE}/include/rtems/score/targopts.h: $(ARCH)/targopts.h-tmp
+ $(INSTALL) -m 444 $(ARCH)/targopts.h-tmp $@
+
+# $(ARCH)/targopts.h-tmp rule is in leaf.cfg
+
+${PROJECT_RELEASE}/lib/bsp_specs: $(ARCH)/bsp_specs.tmp
+ $(INSTALL) -m 444 $(ARCH)/bsp_specs.tmp $@
+
+# $(ARCH)/bsp_specs.tmp rule is in leaf.cfg
diff --git a/c/src/exec/score/cpu/sparc/Makefile.in b/c/src/exec/score/cpu/sparc/Makefile.in
new file mode 100644
index 0000000000..1d133232b0
--- /dev/null
+++ b/c/src/exec/score/cpu/sparc/Makefile.in
@@ -0,0 +1,74 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+RELS=$(ARCH)/rtems-cpu.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=cpu
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/cpu.h $(srcdir)/sparc.h $(srcdir)/sparctypes.h
+
+# H_FILES that get installed externally
+EXTERNAL_H_FILES = $(srcdir)/asm.h $(srcdir)/erc32.h
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=cpu_asm rtems
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES) $(EXTERNAL_H_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(ARCH)/rtems-cpu.rel: $(OBJS)
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) preinstall $(OBJS) $(RELS)
+
+preinstall: ${PROJECT_RELEASE}/include/rtems/score/targopts.h \
+ ${PROJECT_RELEASE}/lib/bsp_specs
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/score
+# we will share the basic cpu file
+ $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
+
+${PROJECT_RELEASE}/include/rtems/score/targopts.h: $(ARCH)/targopts.h-tmp
+ $(INSTALL) -m 444 $(ARCH)/targopts.h-tmp $@
+
+# $(ARCH)/targopts.h-tmp rule is in leaf.cfg
+
+${PROJECT_RELEASE}/lib/bsp_specs: $(ARCH)/bsp_specs.tmp
+ $(INSTALL) -m 444 $(ARCH)/bsp_specs.tmp $@
+
+# $(ARCH)/bsp_specs.tmp rule is in leaf.cfg
diff --git a/c/src/exec/score/cpu/unix/Makefile.in b/c/src/exec/score/cpu/unix/Makefile.in
new file mode 100644
index 0000000000..371c246d50
--- /dev/null
+++ b/c/src/exec/score/cpu/unix/Makefile.in
@@ -0,0 +1,90 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+RELS=$(ARCH)/rtems-cpu.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=cpu
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/cpu.h $(srcdir)/unixtypes.h
+
+# Assembly source names, if any, go here -- minus the .S
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.S)
+S_O_FILES=$(S_FILES:%.S=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(ARCH)/unixsize.h: $(ARCH) cpu.h $(PROJECT_RELEASE)/bin/gensize
+ $(RM) $@
+ $(PROJECT_RELEASE)/bin/gensize > $@
+ $(CHMOD) -w $@
+
+$(ARCH)/rtems-cpu.rel: $(OBJS)
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(ARCH)/unixsize.h preinstall $(RELS)
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
+install: all
+
+# Real ports using the gnu tools will need to have bsp_specs!!!
+# ${PROJECT_RELEASE}/lib/bsp_specs
+preinstall: ${PROJECT_RELEASE}/include/rtems/score/unix.h $(ARCH)/unixsize.h \
+ ${PROJECT_RELEASE}/include/rtems/score/targopts.h
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/score
+ $(INSTALL) -m 444 ${ARCH}/unixsize.h ${PROJECT_RELEASE}/include/rtems/score
+
+${PROJECT_RELEASE}/include/rtems/score/unix.h: unix.h
+ $(SED) -e 's?REPLACE_THIS_WITH_THE_CPU_MODEL?$(RTEMS_CPU_MODEL)?' \
+ -e 's?REPLACE_THIS_WITH_THE_BSP?$(RTEMS_BSP)?' \
+ -e 's?REPLACE_THIS_WITH_THE_CPU_FAMILY?$(RTEMS_CPU_FAMILY)?' \
+ -e 's?REPLACE_THIS_WITH_THE_UNIX_FLAVOR?$(RTEMS_UNIX_FLAVOR)?' \
+ <$(srcdir)/unix.h >$(ARCH)/unix.h.tmp
+ $(INSTALL) -m 444 $(ARCH)/unix.h.tmp $@
+
+${PROJECT_RELEASE}/include/rtems/score/targopts.h: $(ARCH)/targopts.h-tmp
+ $(INSTALL) -m 444 $(ARCH)/targopts.h-tmp $@
+
+# $(ARCH)/targopts.h-tmp rule is in leaf.cfg
+
+# Real ports using the gnu tools will need to have bsp_specs!!!
+#${PROJECT_RELEASE}/lib/bsp_specs: $(ARCH)/bsp_specs.tmp
+# $(INSTALL) -m 444 $(ARCH)/bsp_specs.tmp $@
+#
+# $(ARCH)/bsp_specs.tmp rule is in leaf.cfg
diff --git a/c/src/exec/score/cpu/unix/cpu.c b/c/src/exec/score/cpu/unix/cpu.c
index 8b9c3154fb..7a52c1b78b 100644
--- a/c/src/exec/score/cpu/unix/cpu.c
+++ b/c/src/exec/score/cpu/unix/cpu.c
@@ -447,7 +447,7 @@ void _CPU_Context_Initialize(
*(addr + SP_OFF) = (unsigned32)(_stack_high - CPU_FRAME_SIZE);
*(addr + FP_OFF) = (unsigned32)(_stack_high);
-#elif defined(i386)
+#elif defined(i386) || defined(__i386__)
/*
* This information was gathered by disassembling setjmp().
@@ -817,7 +817,7 @@ void _CPU_SHM_Init(
char *shm_addr;
key_t shm_key;
key_t sem_key;
- int status = 0;
+ int status;
int shm_size;
if (getenv("RTEMS_SHM_KEY"))
diff --git a/c/src/exec/score/cpu/unix/cpu.h b/c/src/exec/score/cpu/unix/cpu.h
index 2e69d4af2e..9565bbca63 100644
--- a/c/src/exec/score/cpu/unix/cpu.h
+++ b/c/src/exec/score/cpu/unix/cpu.h
@@ -251,7 +251,7 @@ extern "C" {
#if defined(hppa1_1)
#define CPU_STACK_GROWS_UP TRUE
-#elif defined(sparc) || defined(i386)
+#elif defined(sparc) || defined(i386) || defined(__i386__)
#define CPU_STACK_GROWS_UP FALSE
#else
#error "unknown CPU!!"
@@ -353,7 +353,7 @@ extern "C" {
#endif
#endif
-#if defined(i386)
+#if defined(i386) || defined(__i386__)
#ifdef RTEMS_NEWLIB
#error "Newlib not installed"
@@ -544,7 +544,7 @@ SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)();
#define CPU_FRAME_SIZE (32 * 4)
#elif defined(sparc)
#define CPU_FRAME_SIZE (112) /* based on disassembled test code */
-#elif defined(i386)
+#elif defined(i386) || defined(__i386__)
#define CPU_FRAME_SIZE (24) /* return address, sp, and bp pushed plus fudge */
#else
#error "Unknown CPU!!!"
diff --git a/c/src/exec/score/cpu/unix/unix.h b/c/src/exec/score/cpu/unix/unix.h
index 318c21ca5e..5e0e346a18 100644
--- a/c/src/exec/score/cpu/unix/unix.h
+++ b/c/src/exec/score/cpu/unix/unix.h
@@ -38,6 +38,10 @@ extern "C" {
#define CPU_MODEL_NAME "Solaris"
+#elif defined(__linux__)
+
+#define CPU_MODEL_NAME "Linux"
+
#elif defined(linux)
#define CPU_MODEL_NAME "Linux"
diff --git a/c/src/exec/score/headers/Makefile.in b/c/src/exec/score/headers/Makefile.in
new file mode 100644
index 0000000000..1bafab677c
--- /dev/null
+++ b/c/src/exec/score/headers/Makefile.in
@@ -0,0 +1,44 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# H_FILES that get installed in the rtems/score subdirectoy
+H_PIECES= address apiext bitfield chain context copyrt coremsg coremutex \
+ coresem heap interr isr mpci mppkt object objectmp \
+ priority stack states sysstate system thread threadmp threadq \
+ tod tqdata userext watchdog wkspace
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+# H_FILES that get installed in the rtems subdirectoy
+SAPI_H_PIECES=debug system
+SAPI_H_FILES=$(SAPI_H_PIECES:%=$(srcdir)/%.h)
+
+# H_FILES that get installed at the top level
+# system.h is handled specially
+EXTERNAL_H_PIECES =
+EXTERNAL_H_FILES=$(EXTERNAL_H_PIECES:%=$(srcdir)/%.h)
+
+SRCS=$(H_FILES) $(SAPI_H_FILES) $(EXTERNAL_H_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/score
+ $(INSTALL) -m 444 ${SAPI_H_FILES} ${PROJECT_RELEASE}/include/rtems/
+# $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
diff --git a/c/src/exec/score/include/rtems/score/Makefile.in b/c/src/exec/score/include/rtems/score/Makefile.in
new file mode 100644
index 0000000000..1bafab677c
--- /dev/null
+++ b/c/src/exec/score/include/rtems/score/Makefile.in
@@ -0,0 +1,44 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# H_FILES that get installed in the rtems/score subdirectoy
+H_PIECES= address apiext bitfield chain context copyrt coremsg coremutex \
+ coresem heap interr isr mpci mppkt object objectmp \
+ priority stack states sysstate system thread threadmp threadq \
+ tod tqdata userext watchdog wkspace
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+# H_FILES that get installed in the rtems subdirectoy
+SAPI_H_PIECES=debug system
+SAPI_H_FILES=$(SAPI_H_PIECES:%=$(srcdir)/%.h)
+
+# H_FILES that get installed at the top level
+# system.h is handled specially
+EXTERNAL_H_PIECES =
+EXTERNAL_H_FILES=$(EXTERNAL_H_PIECES:%=$(srcdir)/%.h)
+
+SRCS=$(H_FILES) $(SAPI_H_FILES) $(EXTERNAL_H_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/score
+ $(INSTALL) -m 444 ${SAPI_H_FILES} ${PROJECT_RELEASE}/include/rtems/
+# $(INSTALL) -m 444 ${EXTERNAL_H_FILES} ${PROJECT_RELEASE}/include
diff --git a/c/src/exec/score/inline/Makefile.in b/c/src/exec/score/inline/Makefile.in
new file mode 100644
index 0000000000..147df5ad0f
--- /dev/null
+++ b/c/src/exec/score/inline/Makefile.in
@@ -0,0 +1,31 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+I_PIECES= address chain coremsg coremutex coresem heap \
+ isr mppkt object objectmp priority stack states sysstate thread \
+ threadmp tod tqdata userext watchdog wkspace
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS += $(LIB)
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems/score
diff --git a/c/src/exec/score/inline/rtems/score/Makefile.in b/c/src/exec/score/inline/rtems/score/Makefile.in
new file mode 100644
index 0000000000..147df5ad0f
--- /dev/null
+++ b/c/src/exec/score/inline/rtems/score/Makefile.in
@@ -0,0 +1,31 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+I_PIECES= address chain coremsg coremutex coresem heap \
+ isr mppkt object objectmp priority stack states sysstate thread \
+ threadmp tod tqdata userext watchdog wkspace
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS += $(LIB)
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems/score
diff --git a/c/src/exec/score/macros/Makefile.in b/c/src/exec/score/macros/Makefile.in
new file mode 100644
index 0000000000..147df5ad0f
--- /dev/null
+++ b/c/src/exec/score/macros/Makefile.in
@@ -0,0 +1,31 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+I_PIECES= address chain coremsg coremutex coresem heap \
+ isr mppkt object objectmp priority stack states sysstate thread \
+ threadmp tod tqdata userext watchdog wkspace
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS += $(LIB)
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems/score
diff --git a/c/src/exec/score/macros/rtems/score/Makefile.in b/c/src/exec/score/macros/rtems/score/Makefile.in
new file mode 100644
index 0000000000..147df5ad0f
--- /dev/null
+++ b/c/src/exec/score/macros/rtems/score/Makefile.in
@@ -0,0 +1,31 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+I_PIECES= address chain coremsg coremutex coresem heap \
+ isr mppkt object objectmp priority stack states sysstate thread \
+ threadmp tod tqdata userext watchdog wkspace
+I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
+
+SRCS=$(I_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS += $(LIB)
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 ${I_FILES} ${PROJECT_RELEASE}/include/rtems/score
diff --git a/c/src/exec/score/src/Makefile.in b/c/src/exec/score/src/Makefile.in
new file mode 100644
index 0000000000..c9290f9a14
--- /dev/null
+++ b/c/src/exec/score/src/Makefile.in
@@ -0,0 +1,41 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# C and C++ source names, if any, go here -- minus the .c or .cc
+C_PIECES=apiext chain coremsg coremutex coresem heap interr \
+ isr mpci object objectmp thread threadmp threadq tod userext \
+ watchdog wkspace
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+SRCS=$(C_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) ${OBJS}
diff --git a/c/src/exec/score/tools/Makefile.in b/c/src/exec/score/tools/Makefile.in
new file mode 100644
index 0000000000..185bdbb5e0
--- /dev/null
+++ b/c/src/exec/score/tools/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=generic $(wildcard $(RTEMS_CPU))
diff --git a/c/src/exec/score/tools/generic/Makefile.in b/c/src/exec/score/tools/generic/Makefile.in
new file mode 100644
index 0000000000..f673545ea1
--- /dev/null
+++ b/c/src/exec/score/tools/generic/Makefile.in
@@ -0,0 +1,33 @@
+#
+# $Id$
+#
+# RTEMS build tools
+# NOTE: of course we can't use any of these tools
+# in this Makefile. Most notably: install-if-change
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+DESTDIR=$(PROJECT_RELEASE)/bin
+
+PGMS=size_rtems
+
+INSTALLED=$(PGMS:%=$(DESTDIR)/%)
+
+all: $(DESTDIR) $(PGMS) install
+ echo $(DESTDIR)
+
+$(DESTDIR):
+ [ -d $@ ] || $(MKDIR) $@
+
+install: $(INSTALLED)
+
+# Install the program
+$(DESTDIR)/%: %
+ $(make-script)
diff --git a/c/src/exec/score/tools/hppa1.1/Makefile.in b/c/src/exec/score/tools/hppa1.1/Makefile.in
new file mode 100644
index 0000000000..0ca40be647
--- /dev/null
+++ b/c/src/exec/score/tools/hppa1.1/Makefile.in
@@ -0,0 +1,62 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# we use host compiler here for genoffsets. Hopefully it has same alignment!!
+USE_HOST_COMPILER=yes
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=genoffsets
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+PGMS=${ARCH}/genoffsets
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+# We use files that have not been installed yet.
+CPU_DIR=../../cpu/$(RTEMS_CPU)
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS += -I$(PROJECT_RELEASE)/include \
+ -I$(CPU_DIR)
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here.
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) preinstall $(PGMS)
+ $(INSTALL) -m 555 ${PGMS} ${PROJECT_RELEASE}/bin
+
+# Hack
+# we are #including files that haven't been installed yet.
+# Make sure they are available in the src tree (ie: checked
+# out from SCCS or RCS)
+preinstall: FORCEIT
+ cd $(CPU_DIR); $(MAKE) install-headers
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
diff --git a/c/src/exec/score/tools/unix/Makefile.in b/c/src/exec/score/tools/unix/Makefile.in
new file mode 100644
index 0000000000..f2703f098b
--- /dev/null
+++ b/c/src/exec/score/tools/unix/Makefile.in
@@ -0,0 +1,61 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# we use host compiler here for gensize. Hopefully it has same alignment!!
+USE_HOST_COMPILER=yes
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=gensize
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+PGMS=${ARCH}/gensize
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+# We use files that have not been installed yet.
+CPU_DIR=../../cpu/$(RTEMS_CPU)
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS += -I$(PROJECT_RELEASE)/include \
+ -I$(CPU_DIR)
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here.
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(PGMS)
+ $(INSTALL) -m 555 ${PGMS} ${PROJECT_RELEASE}/bin
+
+# Hack
+# we are #including files that haven't been installed yet.
+# Make sure they are available in the src tree (ie: checked
+# out from SCCS or RCS)
+preinstall:
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
diff --git a/c/src/exec/wrapup/Makefile.in b/c/src/exec/wrapup/Makefile.in
new file mode 100644
index 0000000000..557407f298
--- /dev/null
+++ b/c/src/exec/wrapup/Makefile.in
@@ -0,0 +1,17 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+POSIX_DIRS_yes_V=posix
+POSIX_DIRS = $(POSIX_DIRS_$(HAS_POSIX_API)_V)
+
+SUB_DIRS=rtems $(POSIX_DIRS)
+
diff --git a/c/src/exec/wrapup/posix/Makefile.in b/c/src/exec/wrapup/posix/Makefile.in
new file mode 100644
index 0000000000..3f8c8f5149
--- /dev/null
+++ b/c/src/exec/wrapup/posix/Makefile.in
@@ -0,0 +1,51 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+#
+# This is really temporary until posix is more an integral part of the tree.
+#
+#CPU_OBJS=$(wildcard ../../score/cpu/$(RTEMS_CPU)/$(ARCH)/*.rel)
+#CORE_OBJS=$(wildcard ../../score/src/$(ARCH)/*.o)
+#SAPI_OBJS=$(wildcard ../../sapi/src/$(ARCH)/*.o)
+POSIX_OBJS=$(wildcard ../../posix/src/$(ARCH)/*.o)
+
+OBJS=$(CPU_OBJS) $(CORE_OBJS) $(POSIX_OBJS) $(SAPI_OBJS)
+LIB=$(ARCH)/libposix.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/exec/wrapup/rtems/Makefile.in b/c/src/exec/wrapup/rtems/Makefile.in
new file mode 100644
index 0000000000..e56e2f3469
--- /dev/null
+++ b/c/src/exec/wrapup/rtems/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+CPU_OBJS=$(wildcard ../../score/cpu/$(RTEMS_CPU)/$(ARCH)/*.rel)
+CORE_OBJS=$(wildcard ../../score/src/$(ARCH)/*.o)
+SAPI_OBJS=$(wildcard ../../sapi/src/$(ARCH)/*.o)
+RTEMS_OBJS=$(wildcard ../../rtems/src/$(ARCH)/*.o)
+
+OBJS=$(CPU_OBJS) $(CORE_OBJS) $(RTEMS_OBJS) $(SAPI_OBJS)
+LIB=$(ARCH)/librtems.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/Makefile.in b/c/src/lib/Makefile.in
new file mode 100644
index 0000000000..d57b1c955f
--- /dev/null
+++ b/c/src/lib/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=start include libmisc libc libcpu libbsp wrapup
diff --git a/c/src/lib/include/Makefile.in b/c/src/lib/include/Makefile.in
new file mode 100644
index 0000000000..60dad03bc6
--- /dev/null
+++ b/c/src/lib/include/Makefile.in
@@ -0,0 +1,28 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES=console.h clockdrv.h iosupp.h ringbuf.h \
+ spurious.h timerdrv.h vmeintr.h z8036.h z8530.h z8536.h
+
+HH_FILES=$(H_FILES:%=$(srcdir)/%)
+
+SYS_H_FILES=
+
+SRCS=$(HH_FILES) $(SYS_H_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(HH_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(SYS_H_FILES) ${PROJECT_RELEASE}/include/sys
+
diff --git a/c/src/lib/libbsp/Makefile.in b/c/src/lib/libbsp/Makefile.in
new file mode 100644
index 0000000000..11cd9d8605
--- /dev/null
+++ b/c/src/lib/libbsp/Makefile.in
@@ -0,0 +1,20 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# mptests are the multiprocessing test suite
+# We only build them if HAS_MP was defined
+
+MP_DRIVERS_yes_V = shmdr
+MP_DRIVERS = $(MP_DRIVERS_$(HAS_MP)_V)
+
+# Descend into the $(RTEMS_CPU) directory if it exists
+SUB_DIRS=$(MP_DRIVERS) $(wildcard $(RTEMS_CPU))
diff --git a/c/src/lib/libbsp/a29k/Makefile.in b/c/src/lib/libbsp/a29k/Makefile.in
new file mode 100644
index 0000000000..a92e20d55e
--- /dev/null
+++ b/c/src/lib/libbsp/a29k/Makefile.in
@@ -0,0 +1,14 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# Descend into the $(RTEMS_BSP) directory if it exists
+SUB_DIRS=$(wildcard $(RTEMS_BSP))
diff --git a/c/src/lib/libbsp/a29k/portsw/Makefile.in b/c/src/lib/libbsp/a29k/portsw/Makefile.in
new file mode 100644
index 0000000000..5f233da39d
--- /dev/null
+++ b/c/src/lib/libbsp/a29k/portsw/Makefile.in
@@ -0,0 +1,19 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SRCS=README
+
+all: $(SRCS)
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include startup console wrapup
diff --git a/c/src/lib/libbsp/a29k/portsw/console/Makefile.in b/c/src/lib/libbsp/a29k/portsw/console/Makefile.in
new file mode 100644
index 0000000000..4ba37cd168
--- /dev/null
+++ b/c/src/lib/libbsp/a29k/portsw/console/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console serial
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/concntl.h
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
diff --git a/c/src/lib/libbsp/a29k/portsw/include/Makefile.in b/c/src/lib/libbsp/a29k/portsw/include/Makefile.in
new file mode 100644
index 0000000000..fd7d4d6077
--- /dev/null
+++ b/c/src/lib/libbsp/a29k/portsw/include/Makefile.in
@@ -0,0 +1,32 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/a29k/portsw/shmsupp/Makefile.in b/c/src/lib/libbsp/a29k/portsw/shmsupp/Makefile.in
new file mode 100644
index 0000000000..c91ccb5214
--- /dev/null
+++ b/c/src/lib/libbsp/a29k/portsw/shmsupp/Makefile.in
@@ -0,0 +1,59 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/shmsupp.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=addrconv getcfg lock mpisr
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/a29k/portsw/start/Makefile.in b/c/src/lib/libbsp/a29k/portsw/start/Makefile.in
new file mode 100644
index 0000000000..12f1cbfc6d
--- /dev/null
+++ b/c/src/lib/libbsp/a29k/portsw/start/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=crt0 register
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+PGM=${ARCH}/crt0.o ${ARCH}/register.o
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGM} ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/libbsp/a29k/portsw/startup/Makefile.in b/c/src/lib/libbsp/a29k/portsw/startup/Makefile.in
new file mode 100644
index 0000000000..f79cdd8ff7
--- /dev/null
+++ b/c/src/lib/libbsp/a29k/portsw/startup/Makefile.in
@@ -0,0 +1,59 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspclean bspstart main sbrk setvec iface
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=ramlink romlink $(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) ramlink romlink ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+
diff --git a/c/src/lib/libbsp/a29k/portsw/wrapup/Makefile.in b/c/src/lib/libbsp/a29k/portsw/wrapup/Makefile.in
new file mode 100644
index 0000000000..d78af51ae7
--- /dev/null
+++ b/c/src/lib/libbsp/a29k/portsw/wrapup/Makefile.in
@@ -0,0 +1,50 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup console iic ethernet flash nvram
+CPU_PIECES=clock timer
+GENERIC_PIECES=
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(CPU_PIECES), ../../../../libcpu/$(RTEMS_CPU)/$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/hppa1.1/Makefile.in b/c/src/lib/libbsp/hppa1.1/Makefile.in
new file mode 100644
index 0000000000..a92e20d55e
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/Makefile.in
@@ -0,0 +1,14 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# Descend into the $(RTEMS_BSP) directory if it exists
+SUB_DIRS=$(wildcard $(RTEMS_BSP))
diff --git a/c/src/lib/libbsp/hppa1.1/pxfl/Makefile.in b/c/src/lib/libbsp/hppa1.1/pxfl/Makefile.in
new file mode 100644
index 0000000000..000c6435cb
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/pxfl/Makefile.in
@@ -0,0 +1,49 @@
+#
+# Build the pixelflow bsp by cd'ing into another floss tree and
+# building it there.
+#
+# NOTE: we also jump sideways in rtems tree and install test/support/include
+# so that floss tests can use the rtems test structures
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+SRCS=$(srcdir)/floss-bsp.h
+
+# HACK alert
+# on a 'make -k' we don't want to bomb out of build
+EXIT_CMD=exit 1
+ifeq (k, $(findstring k, $(MAKEFLAGS)))
+EXIT_CMD=true
+endif
+
+
+all install::
+ @$(ECHO); $(ECHO)
+ @if [ ! -d $(FLOSS_ROOT) ]; \
+ then \
+ $(ECHO) "*** ERROR FLOSS_ROOT ($(FLOSS_ROOT)) points to nonexistent directory"; \
+ $(ECHO); $(ECHO); \
+ $(EXIT_CMD); \
+ fi
+ @if [ -f $(FLOSS_ROOT)/PURE ]; \
+ then \
+ $(ECHO) "*** Assuming $(FLOSS_HOME) up to date since ./PURE exists"; \
+ else \
+ cmd="cd $(RTEMS_ROOT)/c/src/tests/support/include; $(MAKE) install"; \
+ $(ECHO) $$cmd; \
+ eval $$cmd || $(EXIT_CMD); \
+ cmd="cd $(FLOSS_ROOT); $(MAKE) $@"; \
+ $(ECHO) $$cmd; \
+ eval $$cmd || $(EXIT_CMD); \
+ fi
+ @$(ECHO); $(ECHO)
+ $(INSTALL) -m 444 $(srcdir)/floss-bsp.h $(PROJECT_RELEASE)/include/bsp.h
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/Makefile.in
new file mode 100644
index 0000000000..8894da86a3
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/Makefile.in
@@ -0,0 +1,16 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+# NOTE: we pick up HPPA clock and timer from libcpu/hppa
+SUB_DIRS=tools include startup tty shmsupp wrapup
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/bsp_specs b/c/src/lib/libbsp/hppa1.1/simhppa/bsp_specs
new file mode 100644
index 0000000000..827767f3d6
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/bsp_specs
@@ -0,0 +1,34 @@
+
+predefines:
+-D__embedded__ -Asystem(embedded)
+
+startfile: replace
+mrtems:
+pg: start.o%s
+{!pg:
+g: start.o%s
+{!g:
+p: start.o%s
+!p: start.o%s
+}}
+{!mrtems:
+pg: pgcrt0%O
+{!pg:
+g: gcrt0%O
+{!g:
+p: pcrt0%O
+!p: crt0%O
+}}}
+
+
+link: replace
+mrtems: -dc -dp -N -e start
+
+lib: replace
+mrtems: -( -lc -lrtemsall -lgcc -)
+
+
+libgcc: replace
+
+
+
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/include/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/include/Makefile.in
new file mode 100644
index 0000000000..6362ab657e
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/include/Makefile.in
@@ -0,0 +1,40 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_PIECES = bsp coverhd
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+RTEMS_H_PIECES = ttydrv
+RTEMS_H_FILES=$(RTEMS_H_PIECES:%=$(srcdir)/%.h)
+
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+# If you add equate files, don't forget to uncomment the install line
+# below.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(RTEMS_H_FILES) ${PROJECT_RELEASE}/include/rtems
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/Makefile.in
new file mode 100644
index 0000000000..f0836ef414
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/shmsupp.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=addrconv getcfg intr lock mpisr
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/start/start.s b/c/src/lib/libbsp/hppa1.1/simhppa/start/start.s
new file mode 100644
index 0000000000..92fda897d9
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/start/start.s
@@ -0,0 +1,169 @@
+/*
+ * crt0.S -- startup file for hppa on RTEMS
+ *
+ * $Id$
+ */
+
+ .COPYRIGHT "crt0.S for hppa"
+
+ .DATA
+
+_progname .STRINGZ "simhppa"
+_crt0_argv .WORD _progname, 0
+
+/*
+ * Set up the standard spaces (sections) These definitions come
+ * from /lib/pcc_prefix.s.
+ */
+ .TEXT
+
+/*
+ * stuff we need that is defined elsewhere.
+ */
+ .IMPORT main, CODE
+ .IMPORT _bss_start, DATA
+ .IMPORT _bss_end, DATA
+ .IMPORT environ, DATA
+
+/*
+ * start -- set things up so the application will run.
+ *
+ */
+ .PROC
+ .CALLINFO SAVE_SP, FRAME=48
+ .EXPORT $START$,ENTRY
+ .EXPORT start,ENTRY
+$START$
+start:
+
+/*
+ * Get a stack
+ */
+
+ ldil L%crt_stack+48,%r30
+ ldo R%crt_stack+48(%r30),%r30
+
+/*
+ * we need to set %r27 (global data pointer) here
+ */
+
+ ldil L%$global$,%r27
+ ldo R%$global$(%r27),%r27
+
+/*
+ * zerobss -- zero out the bss section
+ * XXX We don't do this since simulator and boot rom will do this for us.
+ */
+#if 0
+ ; load the start of bss
+ ldil L%_bss_start,%r4
+ ldo R%_bss_start(%r4),%r4
+
+ ; load the end of bss
+ ldil L%_bss_end,%r5
+ ldo R%_bss_end(%r5),%r5
+
+
+bssloop
+ addi -1,%r5,%r5 ; decrement _bss_end
+ stb %r0,0(0,%r5) ; we do this by bytes for now even
+ ; though it is slower, it is safer
+ combf,= %r4,%r5, bssloop
+ nop
+#endif
+
+ ldi 1,%ret0
+
+/*
+ * Call the "main" routine from the application to get it going.
+ * We call it as main(1, argv, 0)
+ */
+
+ copy %r0, %r24
+
+ ldil L%_crt0_argv,%r25
+ ldo R%_crt0_argv(%r25),%r25
+
+ bl main,%r2
+ ldo 1(%r0), %r26
+
+ .PROCEND
+/*
+ * _exit -- Exit from the application. Normally we cause a user trap
+ * to return to the ROM monitor for another run, but with
+ * this monitor we can not. Still, "C" wants this symbol, it
+ * should be here. Jumping to 0xF0000004 jumps back into the
+ * firmware, while writing a 5 to 0xFFFE0030 causes a reset.
+ */
+_exit_fallthru
+ .PROC
+ .CALLINFO
+ .ENTRY
+
+ ;; This just causes a breakpoint exception
+ break 0x0,0x0
+ bv,n (%rp)
+ nop
+ .EXIT
+ .PROCEND
+
+/*
+ * _sr4export -- support for called functions. (mostly for GDB)
+ */
+ .EXPORT _sr4export, ENTRY
+_sr4export:
+ .PROC
+ .CALLINFO
+ .ENTRY
+
+ ble 0(%sr4,%r22)
+ copy %r31,%rp
+ ldw -18(%sr0,%sp),%rp
+ ldsid (%sr0,%rp),%r1
+ mtsp %r1,%sr0
+ be,n 0(%sr0,%rp)
+ nop
+ .EXIT
+ .PROCEND
+
+
+ .subspa $UNWIND_START$,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=56
+ .export $UNWIND_START
+$UNWIND_START
+ .subspa $UNWIND$,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=64
+ .subspa $UNWIND_END$,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=72
+ .export $UNWIND_END
+$UNWIND_END
+ .subspa $RECOVER_START$,QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=73
+ .export $RECOVER_START
+$RECOVER_START
+ .subspa $RECOVER$,QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=80
+ .subspa $RECOVER_END$,QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=88
+ .export $RECOVER_END
+$RECOVER_END
+
+/*
+ * Here we set up the standard date sub spaces.
+ *
+ * Set up some room for a stack. We just grab a chunk of memory.
+ * We also setup some space for the global variable space, which
+ * must be done using the reserved name "$global$" so "C" code
+ * can find it. The stack grows towards the higher addresses.
+ */
+
+ .subspa $DATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=16
+ .subspa $SHORTDATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=24
+ .subspa $GLOBAL$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=40
+ .export $global$
+$global$
+ .subspa $SHORTBSS$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=80,ZERO
+ .subspa $BSS$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82,ZERO
+
+ .subspa $STACK$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=88,ZERO
+
+ .export crt_stack
+crt_stack
+ .comm 0x1000
+
+ .end
+
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/startup/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/startup/Makefile.in
new file mode 100644
index 0000000000..9474f53521
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/startup/Makefile.in
@@ -0,0 +1,61 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspclean bspstart sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+CC_PIECES=rtems-ctor
+CC_FILES=$(CC_PIECES:%=%.cc)
+CC_O_FILES=$(CC_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+# We install the RTEMS constructor as a separate .o
+# so it can be easily place correctly by the compiler config file.
+INSTALLED_O_FILES=$(ARCH)/rtems-ctor.o
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(INSTALLED_O_FILES) $(PGM)
+ $(INSTALL_VARIANT) $(INSTALLED_O_FILES) ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/startup/bspstart.c b/c/src/lib/libbsp/hppa1.1/simhppa/startup/bspstart.c
index ec49abe2bf..78b028dde3 100644
--- a/c/src/lib/libbsp/hppa1.1/simhppa/startup/bspstart.c
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/startup/bspstart.c
@@ -348,7 +348,7 @@ bsp_start(void)
Cpu_table.itimer_clicks_per_microsecond = 1;
-#ifdef 0
+#if 0
/*
* Commented by DIVISION INC. External interrupt
* processing is now divorced from RTEMS for HPPA.
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in
new file mode 100644
index 0000000000..57315a8cda
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in
@@ -0,0 +1,51 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# we use host compiler here for genoffsets. Hopefully it has same alignment!!
+USE_HOST_COMPILER=yes
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=print_dump
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+PGMS=${ARCH}/print_dump
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here.
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(PGMS)
+ $(INSTALL) -m 555 ${PGMS} ${PROJECT_RELEASE}/bin
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/tty/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/tty/Makefile.in
new file mode 100644
index 0000000000..ddaf3924e5
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/tty/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/tty.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=tty
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/wrapup/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/wrapup/Makefile.in
new file mode 100644
index 0000000000..ffcb245350
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/wrapup/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup tty shmsupp
+# pieces to pick up out of libcpu/hppa
+CPU_PIECES=clock milli timer
+GENERIC_PIECES=shmdr
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(CPU_PIECES), \
+ ../../../../libcpu/$(RTEMS_CPU)/$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), \
+ ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/i386/Makefile.in b/c/src/lib/libbsp/i386/Makefile.in
new file mode 100644
index 0000000000..a92e20d55e
--- /dev/null
+++ b/c/src/lib/libbsp/i386/Makefile.in
@@ -0,0 +1,14 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# Descend into the $(RTEMS_BSP) directory if it exists
+SUB_DIRS=$(wildcard $(RTEMS_BSP))
diff --git a/c/src/lib/libbsp/i386/force386/Makefile.in b/c/src/lib/libbsp/i386/force386/Makefile.in
new file mode 100644
index 0000000000..1280bbaad6
--- /dev/null
+++ b/c/src/lib/libbsp/i386/force386/Makefile.in
@@ -0,0 +1,15 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include startup clock console shmsupp timer wrapup
diff --git a/c/src/lib/libbsp/i386/force386/clock/Makefile.in b/c/src/lib/libbsp/i386/force386/clock/Makefile.in
new file mode 100644
index 0000000000..e2def59237
--- /dev/null
+++ b/c/src/lib/libbsp/i386/force386/clock/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/i386/force386/console/Makefile.in b/c/src/lib/libbsp/i386/force386/console/Makefile.in
new file mode 100644
index 0000000000..ff608c8496
--- /dev/null
+++ b/c/src/lib/libbsp/i386/force386/console/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/i386/force386/include/Makefile.in b/c/src/lib/libbsp/i386/force386/include/Makefile.in
new file mode 100644
index 0000000000..fd7d4d6077
--- /dev/null
+++ b/c/src/lib/libbsp/i386/force386/include/Makefile.in
@@ -0,0 +1,32 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/i386/force386/shmsupp/Makefile.in b/c/src/lib/libbsp/i386/force386/shmsupp/Makefile.in
new file mode 100644
index 0000000000..113ab8109a
--- /dev/null
+++ b/c/src/lib/libbsp/i386/force386/shmsupp/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/shmsupp.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=addrconv getcfg lock mpisr
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/i386/force386/startup/Makefile.in b/c/src/lib/libbsp/i386/force386/startup/Makefile.in
new file mode 100644
index 0000000000..ced465eb90
--- /dev/null
+++ b/c/src/lib/libbsp/i386/force386/startup/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspstart sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=ldsegs
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(srcdir)/linkcmds $(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+
diff --git a/c/src/lib/libbsp/i386/force386/timer/Makefile.in b/c/src/lib/libbsp/i386/force386/timer/Makefile.in
new file mode 100644
index 0000000000..c2ba3476d3
--- /dev/null
+++ b/c/src/lib/libbsp/i386/force386/timer/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=timerisr
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/i386/force386/wrapup/Makefile.in b/c/src/lib/libbsp/i386/force386/wrapup/Makefile.in
new file mode 100644
index 0000000000..0e6fe816b0
--- /dev/null
+++ b/c/src/lib/libbsp/i386/force386/wrapup/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console shmsupp timer
+GENERIC_PIECES=shmdr
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/i386/go32/Makefile.in b/c/src/lib/libbsp/i386/go32/Makefile.in
new file mode 100644
index 0000000000..1590a95a1e
--- /dev/null
+++ b/c/src/lib/libbsp/i386/go32/Makefile.in
@@ -0,0 +1,15 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include startup clock console timer wrapup
diff --git a/c/src/lib/libbsp/i386/go32/clock/Makefile.in b/c/src/lib/libbsp/i386/go32/clock/Makefile.in
new file mode 100644
index 0000000000..6444b837e1
--- /dev/null
+++ b/c/src/lib/libbsp/i386/go32/clock/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit rtc
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/i386/go32/console/Makefile.in b/c/src/lib/libbsp/i386/go32/console/Makefile.in
new file mode 100644
index 0000000000..808b2cd200
--- /dev/null
+++ b/c/src/lib/libbsp/i386/go32/console/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console inch outch
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/i386/go32/include/Makefile.in b/c/src/lib/libbsp/i386/go32/include/Makefile.in
new file mode 100644
index 0000000000..20c100b31f
--- /dev/null
+++ b/c/src/lib/libbsp/i386/go32/include/Makefile.in
@@ -0,0 +1,34 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
+
+install: all
diff --git a/c/src/lib/libbsp/i386/go32/startup/Makefile.in b/c/src/lib/libbsp/i386/go32/startup/Makefile.in
new file mode 100644
index 0000000000..cd011fd39c
--- /dev/null
+++ b/c/src/lib/libbsp/i386/go32/startup/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspstart sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/i386/go32/timer/Makefile.in b/c/src/lib/libbsp/i386/go32/timer/Makefile.in
new file mode 100644
index 0000000000..5327de40f1
--- /dev/null
+++ b/c/src/lib/libbsp/i386/go32/timer/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=timerisr
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/i386/go32/wrapup/Makefile.in b/c/src/lib/libbsp/i386/go32/wrapup/Makefile.in
new file mode 100644
index 0000000000..52d7e1abea
--- /dev/null
+++ b/c/src/lib/libbsp/i386/go32/wrapup/Makefile.in
@@ -0,0 +1,50 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console timer
+GENERIC_PIECES=
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
+install: all
+
diff --git a/c/src/lib/libbsp/i386/i386ex/Makefile.in b/c/src/lib/libbsp/i386/i386ex/Makefile.in
new file mode 100644
index 0000000000..372f1fd5be
--- /dev/null
+++ b/c/src/lib/libbsp/i386/i386ex/Makefile.in
@@ -0,0 +1,18 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+#was:
+#SUB_DIRS=include startup clock console shmsupp timer wrapup
+#is
+SUB_DIRS=include startup clock console timer wrapup
diff --git a/c/src/lib/libbsp/i386/i386ex/clock/Makefile.in b/c/src/lib/libbsp/i386/i386ex/clock/Makefile.in
new file mode 100644
index 0000000000..3dd7213304
--- /dev/null
+++ b/c/src/lib/libbsp/i386/i386ex/clock/Makefile.in
@@ -0,0 +1,59 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/i386/i386ex/console/Makefile.in b/c/src/lib/libbsp/i386/i386ex/console/Makefile.in
new file mode 100644
index 0000000000..e7ec245705
--- /dev/null
+++ b/c/src/lib/libbsp/i386/i386ex/console/Makefile.in
@@ -0,0 +1,57 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/i386/i386ex/include/Makefile.in b/c/src/lib/libbsp/i386/i386ex/include/Makefile.in
new file mode 100644
index 0000000000..20c100b31f
--- /dev/null
+++ b/c/src/lib/libbsp/i386/i386ex/include/Makefile.in
@@ -0,0 +1,34 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
+
+install: all
diff --git a/c/src/lib/libbsp/i386/i386ex/startup/Makefile.in b/c/src/lib/libbsp/i386/i386ex/startup/Makefile.in
new file mode 100644
index 0000000000..14d5164dc5
--- /dev/null
+++ b/c/src/lib/libbsp/i386/i386ex/startup/Makefile.in
@@ -0,0 +1,64 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+# C_PIECES=bspstart sbrk setvec except i386-stub
+C_PIECES=bspstart sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+
+# Assembly source names, if any, go here -- minus the .s
+# removed initcsu piece, ldsegs piece and flush
+S_PIECES= gdt idt interrupts interns reset_jmp
+
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(srcdir)/linkcmds $(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+#DEFINES += -DPRINTON
+DEFINES += -I$(srcdir)
+CPPFLAGS +=
+CFLAGS += -g
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/i386/i386ex/timer/Makefile.in b/c/src/lib/libbsp/i386/i386ex/timer/Makefile.in
new file mode 100644
index 0000000000..5327de40f1
--- /dev/null
+++ b/c/src/lib/libbsp/i386/i386ex/timer/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=timerisr
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/i386/i386ex/wrapup/Makefile.in b/c/src/lib/libbsp/i386/i386ex/wrapup/Makefile.in
new file mode 100644
index 0000000000..52d7e1abea
--- /dev/null
+++ b/c/src/lib/libbsp/i386/i386ex/wrapup/Makefile.in
@@ -0,0 +1,50 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console timer
+GENERIC_PIECES=
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
+install: all
+
diff --git a/c/src/lib/libbsp/i960/Makefile.in b/c/src/lib/libbsp/i960/Makefile.in
new file mode 100644
index 0000000000..a92e20d55e
--- /dev/null
+++ b/c/src/lib/libbsp/i960/Makefile.in
@@ -0,0 +1,14 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# Descend into the $(RTEMS_BSP) directory if it exists
+SUB_DIRS=$(wildcard $(RTEMS_BSP))
diff --git a/c/src/lib/libbsp/i960/cvme961/Makefile.in b/c/src/lib/libbsp/i960/cvme961/Makefile.in
new file mode 100644
index 0000000000..1280bbaad6
--- /dev/null
+++ b/c/src/lib/libbsp/i960/cvme961/Makefile.in
@@ -0,0 +1,15 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include startup clock console shmsupp timer wrapup
diff --git a/c/src/lib/libbsp/i960/cvme961/clock/Makefile.in b/c/src/lib/libbsp/i960/cvme961/clock/Makefile.in
new file mode 100644
index 0000000000..8e325402ca
--- /dev/null
+++ b/c/src/lib/libbsp/i960/cvme961/clock/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/i960/cvme961/console/Makefile.in b/c/src/lib/libbsp/i960/cvme961/console/Makefile.in
new file mode 100644
index 0000000000..ff608c8496
--- /dev/null
+++ b/c/src/lib/libbsp/i960/cvme961/console/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/i960/cvme961/include/Makefile.in b/c/src/lib/libbsp/i960/cvme961/include/Makefile.in
new file mode 100644
index 0000000000..c9b50f69c3
--- /dev/null
+++ b/c/src/lib/libbsp/i960/cvme961/include/Makefile.in
@@ -0,0 +1,37 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+# If you add equate files, don't forget to uncomment the install line
+# below.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include/cpu
+
+install: all
diff --git a/c/src/lib/libbsp/i960/cvme961/shmsupp/Makefile.in b/c/src/lib/libbsp/i960/cvme961/shmsupp/Makefile.in
new file mode 100644
index 0000000000..113ab8109a
--- /dev/null
+++ b/c/src/lib/libbsp/i960/cvme961/shmsupp/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/shmsupp.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=addrconv getcfg lock mpisr
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/i960/cvme961/start/Makefile.in b/c/src/lib/libbsp/i960/cvme961/start/Makefile.in
new file mode 100644
index 0000000000..ca57ecd097
--- /dev/null
+++ b/c/src/lib/libbsp/i960/cvme961/start/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=start
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+PGM=${ARCH}/start.o
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGM} ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/libbsp/i960/cvme961/startup/Makefile.in b/c/src/lib/libbsp/i960/cvme961/startup/Makefile.in
new file mode 100644
index 0000000000..208b5c6b01
--- /dev/null
+++ b/c/src/lib/libbsp/i960/cvme961/startup/Makefile.in
@@ -0,0 +1,55 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspclean bspstart sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/i960/cvme961/timer/Makefile.in b/c/src/lib/libbsp/i960/cvme961/timer/Makefile.in
new file mode 100644
index 0000000000..c2ba3476d3
--- /dev/null
+++ b/c/src/lib/libbsp/i960/cvme961/timer/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=timerisr
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/i960/cvme961/wrapup/Makefile.in b/c/src/lib/libbsp/i960/cvme961/wrapup/Makefile.in
new file mode 100644
index 0000000000..1f8b6feae9
--- /dev/null
+++ b/c/src/lib/libbsp/i960/cvme961/wrapup/Makefile.in
@@ -0,0 +1,50 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console shmsupp timer
+GENERIC_PIECES=shmdr
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
+install: all
+
diff --git a/c/src/lib/libbsp/m68k/Makefile.in b/c/src/lib/libbsp/m68k/Makefile.in
new file mode 100644
index 0000000000..a92e20d55e
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/Makefile.in
@@ -0,0 +1,14 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# Descend into the $(RTEMS_BSP) directory if it exists
+SUB_DIRS=$(wildcard $(RTEMS_BSP))
diff --git a/c/src/lib/libbsp/m68k/dmv152/Makefile.in b/c/src/lib/libbsp/m68k/dmv152/Makefile.in
new file mode 100644
index 0000000000..85b2602471
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/dmv152/Makefile.in
@@ -0,0 +1,15 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include startup clock console spurious timer wrapup
diff --git a/c/src/lib/libbsp/m68k/dmv152/clock/Makefile.in b/c/src/lib/libbsp/m68k/dmv152/clock/Makefile.in
new file mode 100644
index 0000000000..8e325402ca
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/dmv152/clock/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/dmv152/console/Makefile.in b/c/src/lib/libbsp/m68k/dmv152/console/Makefile.in
new file mode 100644
index 0000000000..ff608c8496
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/dmv152/console/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/dmv152/include/Makefile.in b/c/src/lib/libbsp/m68k/dmv152/include/Makefile.in
new file mode 100644
index 0000000000..fd7d4d6077
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/dmv152/include/Makefile.in
@@ -0,0 +1,32 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/m68k/dmv152/spurious/Makefile.in b/c/src/lib/libbsp/m68k/dmv152/spurious/Makefile.in
new file mode 100644
index 0000000000..3c7819fce4
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/dmv152/spurious/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/spurious.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=spinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/dmv152/startup/Makefile.in b/c/src/lib/libbsp/m68k/dmv152/startup/Makefile.in
new file mode 100644
index 0000000000..ee60cf2aed
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/dmv152/startup/Makefile.in
@@ -0,0 +1,52 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspstart sbrk setvec vmeintr
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(srcdir)/linkcmds $(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/m68k/dmv152/timer/Makefile.in b/c/src/lib/libbsp/m68k/dmv152/timer/Makefile.in
new file mode 100644
index 0000000000..c2ba3476d3
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/dmv152/timer/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=timerisr
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/dmv152/wrapup/Makefile.in b/c/src/lib/libbsp/m68k/dmv152/wrapup/Makefile.in
new file mode 100644
index 0000000000..a4444d9cb1
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/dmv152/wrapup/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console spurious timer
+GENERIC_PIECES=
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/m68k/efi332/Makefile.in b/c/src/lib/libbsp/m68k/efi332/Makefile.in
new file mode 100644
index 0000000000..4abe5b4ac5
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi332/Makefile.in
@@ -0,0 +1,15 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include start332 startup clock console spurious timer wrapup
diff --git a/c/src/lib/libbsp/m68k/efi332/clock/Makefile.in b/c/src/lib/libbsp/m68k/efi332/clock/Makefile.in
new file mode 100644
index 0000000000..8e325402ca
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi332/clock/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/efi332/console/Makefile.in b/c/src/lib/libbsp/m68k/efi332/console/Makefile.in
new file mode 100644
index 0000000000..ff608c8496
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi332/console/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/efi332/include/Makefile.in b/c/src/lib/libbsp/m68k/efi332/include/Makefile.in
new file mode 100644
index 0000000000..1e9e4d7edf
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi332/include/Makefile.in
@@ -0,0 +1,32 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/efi332.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/m68k/efi332/spurious/Makefile.in b/c/src/lib/libbsp/m68k/efi332/spurious/Makefile.in
new file mode 100644
index 0000000000..3c7819fce4
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi332/spurious/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/spurious.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=spinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/efi332/start/Makefile.in b/c/src/lib/libbsp/m68k/efi332/start/Makefile.in
new file mode 100644
index 0000000000..e2dd13f0c8
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi332/start/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/start332.o
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=start332
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGM} ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/libbsp/m68k/efi332/start332/Makefile.in b/c/src/lib/libbsp/m68k/efi332/start332/Makefile.in
new file mode 100644
index 0000000000..e2dd13f0c8
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi332/start332/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/start332.o
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=start332
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGM} ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/libbsp/m68k/efi332/startup/Makefile.in b/c/src/lib/libbsp/m68k/efi332/startup/Makefile.in
new file mode 100644
index 0000000000..d45a01966f
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi332/startup/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspstart bspclean sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+
diff --git a/c/src/lib/libbsp/m68k/efi332/timer/Makefile.in b/c/src/lib/libbsp/m68k/efi332/timer/Makefile.in
new file mode 100644
index 0000000000..79c8438431
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi332/timer/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/efi332/wrapup/Makefile.in b/c/src/lib/libbsp/m68k/efi332/wrapup/Makefile.in
new file mode 100644
index 0000000000..a4444d9cb1
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi332/wrapup/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console spurious timer
+GENERIC_PIECES=
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/m68k/efi68k/Makefile.in b/c/src/lib/libbsp/m68k/efi68k/Makefile.in
new file mode 100644
index 0000000000..b3ba290d5e
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi68k/Makefile.in
@@ -0,0 +1,15 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include start68k startup clock console spurious timer wrapup
diff --git a/c/src/lib/libbsp/m68k/efi68k/clock/Makefile.in b/c/src/lib/libbsp/m68k/efi68k/clock/Makefile.in
new file mode 100644
index 0000000000..8e325402ca
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi68k/clock/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/efi68k/console/Makefile.in b/c/src/lib/libbsp/m68k/efi68k/console/Makefile.in
new file mode 100644
index 0000000000..ff608c8496
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi68k/console/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/efi68k/include/Makefile.in b/c/src/lib/libbsp/m68k/efi68k/include/Makefile.in
new file mode 100644
index 0000000000..f4db4743ed
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi68k/include/Makefile.in
@@ -0,0 +1,33 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/efi68k.h $(srcdir)/16550.h \
+ $(srcdir)/DP8570A.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/m68k/efi68k/spurious/Makefile.in b/c/src/lib/libbsp/m68k/efi68k/spurious/Makefile.in
new file mode 100644
index 0000000000..3c7819fce4
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi68k/spurious/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/spurious.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=spinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/efi68k/start/Makefile.in b/c/src/lib/libbsp/m68k/efi68k/start/Makefile.in
new file mode 100644
index 0000000000..1351c0e4e5
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi68k/start/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/start68k.o
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=start68k
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGM} ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/libbsp/m68k/efi68k/start68k/Makefile.in b/c/src/lib/libbsp/m68k/efi68k/start68k/Makefile.in
new file mode 100644
index 0000000000..1351c0e4e5
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi68k/start68k/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/start68k.o
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=start68k
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGM} ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/Makefile.in b/c/src/lib/libbsp/m68k/efi68k/startup/Makefile.in
new file mode 100644
index 0000000000..3c3e0eaccc
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi68k/startup/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspstart bspclean efi68k_tcp efi68k_wd sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+
diff --git a/c/src/lib/libbsp/m68k/efi68k/timer/Makefile.in b/c/src/lib/libbsp/m68k/efi68k/timer/Makefile.in
new file mode 100644
index 0000000000..79c8438431
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi68k/timer/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/efi68k/wrapup/Makefile.in b/c/src/lib/libbsp/m68k/efi68k/wrapup/Makefile.in
new file mode 100644
index 0000000000..a4444d9cb1
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi68k/wrapup/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console spurious timer
+GENERIC_PIECES=
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/m68k/gen68302/Makefile.in b/c/src/lib/libbsp/m68k/gen68302/Makefile.in
new file mode 100644
index 0000000000..bd7ff1f784
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68302/Makefile.in
@@ -0,0 +1,19 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SRCS=README
+
+all: $(SRCS)
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include start302 startup clock console timer wrapup
diff --git a/c/src/lib/libbsp/m68k/gen68302/clock/Makefile.in b/c/src/lib/libbsp/m68k/gen68302/clock/Makefile.in
new file mode 100644
index 0000000000..8e325402ca
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68302/clock/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/gen68302/console/Makefile.in b/c/src/lib/libbsp/m68k/gen68302/console/Makefile.in
new file mode 100644
index 0000000000..ff608c8496
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68302/console/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/gen68302/include/Makefile.in b/c/src/lib/libbsp/m68k/gen68302/include/Makefile.in
new file mode 100644
index 0000000000..fd7d4d6077
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68302/include/Makefile.in
@@ -0,0 +1,32 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/m68k/gen68302/start/Makefile.in b/c/src/lib/libbsp/m68k/gen68302/start/Makefile.in
new file mode 100644
index 0000000000..114dd48226
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68302/start/Makefile.in
@@ -0,0 +1,56 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGMS=${ARCH}/start302.o
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=start302
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGMS} ${PROJECT_RELEASE}/lib
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
diff --git a/c/src/lib/libbsp/m68k/gen68302/start302/Makefile.in b/c/src/lib/libbsp/m68k/gen68302/start302/Makefile.in
new file mode 100644
index 0000000000..114dd48226
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68302/start302/Makefile.in
@@ -0,0 +1,56 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGMS=${ARCH}/start302.o
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=start302
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGMS} ${PROJECT_RELEASE}/lib
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
diff --git a/c/src/lib/libbsp/m68k/gen68302/startup/Makefile.in b/c/src/lib/libbsp/m68k/gen68302/startup/Makefile.in
new file mode 100644
index 0000000000..d45a01966f
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68302/startup/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspstart bspclean sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+
diff --git a/c/src/lib/libbsp/m68k/gen68302/timer/Makefile.in b/c/src/lib/libbsp/m68k/gen68302/timer/Makefile.in
new file mode 100644
index 0000000000..c2ba3476d3
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68302/timer/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=timerisr
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/gen68302/wrapup/Makefile.in b/c/src/lib/libbsp/m68k/gen68302/wrapup/Makefile.in
new file mode 100644
index 0000000000..bd06f5f90f
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68302/wrapup/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console timer
+GENERIC_PIECES=
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/m68k/gen68360/Makefile.in b/c/src/lib/libbsp/m68k/gen68360/Makefile.in
new file mode 100644
index 0000000000..9581a49c3b
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68360/Makefile.in
@@ -0,0 +1,19 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SRCS=README
+
+all: $(SRCS)
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include start360 startup clock console timer wrapup
diff --git a/c/src/lib/libbsp/m68k/gen68360/clock/Makefile.in b/c/src/lib/libbsp/m68k/gen68360/clock/Makefile.in
new file mode 100644
index 0000000000..8e325402ca
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68360/clock/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/gen68360/console/Makefile.in b/c/src/lib/libbsp/m68k/gen68360/console/Makefile.in
new file mode 100644
index 0000000000..ff608c8496
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68360/console/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/gen68360/include/Makefile.in b/c/src/lib/libbsp/m68k/gen68360/include/Makefile.in
new file mode 100644
index 0000000000..fd7d4d6077
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68360/include/Makefile.in
@@ -0,0 +1,32 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/m68k/gen68360/start/Makefile.in b/c/src/lib/libbsp/m68k/gen68360/start/Makefile.in
new file mode 100644
index 0000000000..9b6dd903ea
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68360/start/Makefile.in
@@ -0,0 +1,56 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGMS=${ARCH}/start360.o
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=start360
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGMS} ${PROJECT_RELEASE}/lib
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
diff --git a/c/src/lib/libbsp/m68k/gen68360/start360/Makefile.in b/c/src/lib/libbsp/m68k/gen68360/start360/Makefile.in
new file mode 100644
index 0000000000..9b6dd903ea
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68360/start360/Makefile.in
@@ -0,0 +1,56 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGMS=${ARCH}/start360.o
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=start360
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGMS} ${PROJECT_RELEASE}/lib
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
diff --git a/c/src/lib/libbsp/m68k/gen68360/startup/Makefile.in b/c/src/lib/libbsp/m68k/gen68360/startup/Makefile.in
new file mode 100644
index 0000000000..a26be2b371
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68360/startup/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspstart bspclean init68360 sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(srcdir)/linkcmds $(srcdir)/linkcmds.prom $(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds $(srcdir)/linkcmds.prom ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+
diff --git a/c/src/lib/libbsp/m68k/gen68360/timer/Makefile.in b/c/src/lib/libbsp/m68k/gen68360/timer/Makefile.in
new file mode 100644
index 0000000000..79c8438431
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68360/timer/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/gen68360/wrapup/Makefile.in b/c/src/lib/libbsp/m68k/gen68360/wrapup/Makefile.in
new file mode 100644
index 0000000000..bd06f5f90f
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/gen68360/wrapup/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console timer
+GENERIC_PIECES=
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/m68k/idp/Makefile.in b/c/src/lib/libbsp/m68k/idp/Makefile.in
new file mode 100644
index 0000000000..1590a95a1e
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/idp/Makefile.in
@@ -0,0 +1,15 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include startup clock console timer wrapup
diff --git a/c/src/lib/libbsp/m68k/idp/clock/Makefile.in b/c/src/lib/libbsp/m68k/idp/clock/Makefile.in
new file mode 100644
index 0000000000..95a41d281e
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/idp/clock/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/idp/console/Makefile.in b/c/src/lib/libbsp/m68k/idp/console/Makefile.in
new file mode 100644
index 0000000000..1332213895
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/idp/console/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console leds mc68ec duart
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/idp/include/Makefile.in b/c/src/lib/libbsp/m68k/idp/include/Makefile.in
new file mode 100644
index 0000000000..d4574056f5
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/idp/include/Makefile.in
@@ -0,0 +1,33 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h $(srcdir)/leds.h \
+ $(srcdir)/mc68230.h $(srcdir)/mc68681.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/m68k/idp/startup/Makefile.in b/c/src/lib/libbsp/m68k/idp/startup/Makefile.in
new file mode 100644
index 0000000000..3d5e713735
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/idp/startup/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspstart sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+
diff --git a/c/src/lib/libbsp/m68k/idp/timer/Makefile.in b/c/src/lib/libbsp/m68k/idp/timer/Makefile.in
new file mode 100644
index 0000000000..468ed7460d
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/idp/timer/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=timerisr
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/idp/wrapup/Makefile.in b/c/src/lib/libbsp/m68k/idp/wrapup/Makefile.in
new file mode 100644
index 0000000000..8bbdfdc470
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/idp/wrapup/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console timer
+GENERIC_PIECES=
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/m68k/mvme136/Makefile.in b/c/src/lib/libbsp/m68k/mvme136/Makefile.in
new file mode 100644
index 0000000000..1280bbaad6
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme136/Makefile.in
@@ -0,0 +1,15 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include startup clock console shmsupp timer wrapup
diff --git a/c/src/lib/libbsp/m68k/mvme136/clock/Makefile.in b/c/src/lib/libbsp/m68k/mvme136/clock/Makefile.in
new file mode 100644
index 0000000000..e2def59237
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme136/clock/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/mvme136/console/Makefile.in b/c/src/lib/libbsp/m68k/mvme136/console/Makefile.in
new file mode 100644
index 0000000000..ff608c8496
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme136/console/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/mvme136/include/Makefile.in b/c/src/lib/libbsp/m68k/mvme136/include/Makefile.in
new file mode 100644
index 0000000000..fd7d4d6077
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme136/include/Makefile.in
@@ -0,0 +1,32 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/m68k/mvme136/shmsupp/Makefile.in b/c/src/lib/libbsp/m68k/mvme136/shmsupp/Makefile.in
new file mode 100644
index 0000000000..113ab8109a
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme136/shmsupp/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/shmsupp.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=addrconv getcfg lock mpisr
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/m68k/mvme136/startup/Makefile.in b/c/src/lib/libbsp/m68k/mvme136/startup/Makefile.in
new file mode 100644
index 0000000000..a817df7d46
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme136/startup/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspclean bspstart sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(srcdir)/linkcmds $(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+
diff --git a/c/src/lib/libbsp/m68k/mvme136/timer/Makefile.in b/c/src/lib/libbsp/m68k/mvme136/timer/Makefile.in
new file mode 100644
index 0000000000..c2ba3476d3
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme136/timer/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=timerisr
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/mvme136/wrapup/Makefile.in b/c/src/lib/libbsp/m68k/mvme136/wrapup/Makefile.in
new file mode 100644
index 0000000000..0e6fe816b0
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme136/wrapup/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console shmsupp timer
+GENERIC_PIECES=shmdr
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/m68k/mvme147/Makefile.in b/c/src/lib/libbsp/m68k/mvme147/Makefile.in
new file mode 100644
index 0000000000..1590a95a1e
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147/Makefile.in
@@ -0,0 +1,15 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include startup clock console timer wrapup
diff --git a/c/src/lib/libbsp/m68k/mvme147/clock/Makefile.in b/c/src/lib/libbsp/m68k/mvme147/clock/Makefile.in
new file mode 100644
index 0000000000..e2def59237
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147/clock/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/mvme147/console/Makefile.in b/c/src/lib/libbsp/m68k/mvme147/console/Makefile.in
new file mode 100644
index 0000000000..ff608c8496
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147/console/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/mvme147/include/Makefile.in b/c/src/lib/libbsp/m68k/mvme147/include/Makefile.in
new file mode 100644
index 0000000000..fd7d4d6077
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147/include/Makefile.in
@@ -0,0 +1,32 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/m68k/mvme147/startup/Makefile.in b/c/src/lib/libbsp/m68k/mvme147/startup/Makefile.in
new file mode 100644
index 0000000000..a817df7d46
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147/startup/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspclean bspstart sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(srcdir)/linkcmds $(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+
diff --git a/c/src/lib/libbsp/m68k/mvme147/timer/Makefile.in b/c/src/lib/libbsp/m68k/mvme147/timer/Makefile.in
new file mode 100644
index 0000000000..c2ba3476d3
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147/timer/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=timerisr
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/mvme147/wrapup/Makefile.in b/c/src/lib/libbsp/m68k/mvme147/wrapup/Makefile.in
new file mode 100644
index 0000000000..ccc33af739
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147/wrapup/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console timer # shmsupp
+GENERIC_PIECES=# shmdr
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/m68k/mvme147s/Makefile.in b/c/src/lib/libbsp/m68k/mvme147s/Makefile.in
new file mode 100644
index 0000000000..61010e50f6
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147s/Makefile.in
@@ -0,0 +1,16 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include startup clock console timer shmsupp wrapup
+
diff --git a/c/src/lib/libbsp/m68k/mvme147s/clock/Makefile.in b/c/src/lib/libbsp/m68k/mvme147s/clock/Makefile.in
new file mode 100644
index 0000000000..fea609c5bf
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147s/clock/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+SHARED_SRCS=ckinit.c
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS += $(SHARED_SRCS)
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+$(SHARED_SRCS):
+ -$(LN) -s $(srcdir)/../../mvme147/clock/$@ $@
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/mvme147s/console/Makefile.in b/c/src/lib/libbsp/m68k/mvme147s/console/Makefile.in
new file mode 100644
index 0000000000..6d5ee876d3
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147s/console/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+SHARED_SRCS=console.c
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS += $(SHARED_SRCS)
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+$(SHARED_SRCS):
+ -$(LN) -s $(srcdir)/../../mvme147/console/$@ $@
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/mvme147s/include/Makefile.in b/c/src/lib/libbsp/m68k/mvme147s/include/Makefile.in
new file mode 100644
index 0000000000..fd7d4d6077
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147s/include/Makefile.in
@@ -0,0 +1,32 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/m68k/mvme147s/shmsupp/Makefile.in b/c/src/lib/libbsp/m68k/mvme147s/shmsupp/Makefile.in
new file mode 100644
index 0000000000..9006fb28e7
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147s/shmsupp/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/shmsupp.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=addrconv getcfg lock mpisr
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/m68k/mvme147s/startup/Makefile.in b/c/src/lib/libbsp/m68k/mvme147s/startup/Makefile.in
new file mode 100644
index 0000000000..8482d07f4c
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147s/startup/Makefile.in
@@ -0,0 +1,59 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspclean bspstart sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(srcdir)/linkcmds $(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+SHARED_SRCS=bspclean.c sbrk.c setvec.c
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS += $(SHARED_SRCS)
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+
+$(SHARED_SRCS):
+ -$(LN) -s $(srcdir)/../../mvme147/startup/$@ $@
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+
diff --git a/c/src/lib/libbsp/m68k/mvme147s/timer/Makefile.in b/c/src/lib/libbsp/m68k/mvme147s/timer/Makefile.in
new file mode 100644
index 0000000000..53729c4ecd
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147s/timer/Makefile.in
@@ -0,0 +1,63 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=timerisr
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(S_FILES) $(H_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+SHARED_SRCS=timer.c timerisr.s
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS += $(SHARED_SRCS)
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+$(SHARED_SRCS):
+ -$(LN) -s $(srcdir)/../../mvme147/timer/$@ $@
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/mvme147s/wrapup/Makefile.in b/c/src/lib/libbsp/m68k/mvme147s/wrapup/Makefile.in
new file mode 100644
index 0000000000..0296916f22
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme147s/wrapup/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console timer shmsupp
+GENERIC_PIECES=shmdr
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/m68k/mvme162/Makefile.in b/c/src/lib/libbsp/m68k/mvme162/Makefile.in
new file mode 100644
index 0000000000..c72d071f77
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme162/Makefile.in
@@ -0,0 +1,19 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SRCS=README
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+#
+# XXXX add tools
+SUB_DIRS=include startup clock console timer wrapup
diff --git a/c/src/lib/libbsp/m68k/mvme162/clock/Makefile.in b/c/src/lib/libbsp/m68k/mvme162/clock/Makefile.in
new file mode 100644
index 0000000000..e2def59237
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme162/clock/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/mvme162/console/Makefile.in b/c/src/lib/libbsp/m68k/mvme162/console/Makefile.in
new file mode 100644
index 0000000000..ff608c8496
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme162/console/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/mvme162/include/Makefile.in b/c/src/lib/libbsp/m68k/mvme162/include/Makefile.in
new file mode 100644
index 0000000000..8c93d9a2fa
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme162/include/Makefile.in
@@ -0,0 +1,32 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h $(srcdir)/page_table.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/m68k/mvme162/startup/Makefile.in b/c/src/lib/libbsp/m68k/mvme162/startup/Makefile.in
new file mode 100644
index 0000000000..3d7819f81c
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme162/startup/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspclean bspstart page_table sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+
diff --git a/c/src/lib/libbsp/m68k/mvme162/timer/Makefile.in b/c/src/lib/libbsp/m68k/mvme162/timer/Makefile.in
new file mode 100644
index 0000000000..c2ba3476d3
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme162/timer/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=timerisr
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/m68k/mvme162/tools/Makefile.in b/c/src/lib/libbsp/m68k/mvme162/tools/Makefile.in
new file mode 100644
index 0000000000..4c363f303c
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme162/tools/Makefile.in
@@ -0,0 +1,52 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# we use host compiler here for genoffsets. Hopefully it has same alignment!!
+USE_HOST_COMPILER=yes
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=sload
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+PGMS=${ARCH}/sload
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here.
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(PGMS)
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
+install: all
+ $(INSTALL) -m 555 ${PGMS} ${PROJECT_RELEASE}/bin
diff --git a/c/src/lib/libbsp/m68k/mvme162/wrapup/Makefile.in b/c/src/lib/libbsp/m68k/mvme162/wrapup/Makefile.in
new file mode 100644
index 0000000000..bd06f5f90f
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mvme162/wrapup/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console timer
+GENERIC_PIECES=
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/mips/README b/c/src/lib/libbsp/mips/README
new file mode 100644
index 0000000000..805ed6c193
--- /dev/null
+++ b/c/src/lib/libbsp/mips/README
@@ -0,0 +1,3 @@
+The MIPS bsp are now called p4600 and p4650, referring to which cpu they use.
+The same bsp sub-directory can be used, the cpu is selected by the bsp
+specific makefiles (p4600.cfg and p4650.cfg).
diff --git a/c/src/lib/libbsp/mips64orion/Makefile.in b/c/src/lib/libbsp/mips64orion/Makefile.in
new file mode 100644
index 0000000000..7dbe87397c
--- /dev/null
+++ b/c/src/lib/libbsp/mips64orion/Makefile.in
@@ -0,0 +1,14 @@
+#
+# Makefile,v 1.2 1995/05/31 16:56:44 joel Exp
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# Descend into the $(RTEMS_BSP) directory if it exists
+SUB_DIRS=$(wildcard $(RTEMS_BSP))
diff --git a/c/src/lib/libbsp/mips64orion/README b/c/src/lib/libbsp/mips64orion/README
new file mode 100644
index 0000000000..805ed6c193
--- /dev/null
+++ b/c/src/lib/libbsp/mips64orion/README
@@ -0,0 +1,3 @@
+The MIPS bsp are now called p4600 and p4650, referring to which cpu they use.
+The same bsp sub-directory can be used, the cpu is selected by the bsp
+specific makefiles (p4600.cfg and p4650.cfg).
diff --git a/c/src/lib/libbsp/mips64orion/p4000/console/Makefile.in b/c/src/lib/libbsp/mips64orion/p4000/console/Makefile.in
new file mode 100644
index 0000000000..7dfe2cbcde
--- /dev/null
+++ b/c/src/lib/libbsp/mips64orion/p4000/console/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=led
+S_FILES=$(S_PIECES:%=%.S)
+S_O_FILES=$(S_FILES:%.S=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/mips64orion/p4000/include/Makefile.in b/c/src/lib/libbsp/mips64orion/p4000/include/Makefile.in
new file mode 100644
index 0000000000..fd7d4d6077
--- /dev/null
+++ b/c/src/lib/libbsp/mips64orion/p4000/include/Makefile.in
@@ -0,0 +1,32 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/mips64orion/p4000/liblnk/Makefile.in b/c/src/lib/libbsp/mips64orion/p4000/liblnk/Makefile.in
new file mode 100644
index 0000000000..ac11a0e2f5
--- /dev/null
+++ b/c/src/lib/libbsp/mips64orion/p4000/liblnk/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/liblnk.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=lnklib
+S_FILES=$(S_PIECES:%=%.S)
+S_O_FILES=$(S_FILES:%.S=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/mips64orion/p4000/start/Makefile.in b/c/src/lib/libbsp/mips64orion/p4000/start/Makefile.in
new file mode 100644
index 0000000000..67478f0a83
--- /dev/null
+++ b/c/src/lib/libbsp/mips64orion/p4000/start/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=idt_csu
+S_FILES=$(S_PIECES:%=%.S)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+PGM=${ARCH}/idt_csu.o
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGM} ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/libbsp/mips64orion/p4000/startup/Makefile.in b/c/src/lib/libbsp/mips64orion/p4000/startup/Makefile.in
new file mode 100644
index 0000000000..38a14f71e8
--- /dev/null
+++ b/c/src/lib/libbsp/mips64orion/p4000/startup/Makefile.in
@@ -0,0 +1,61 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspclean bspstart main sbrk setvec inittlb
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=idtmem idttlb
+S_FILES=$(S_PIECES:%=%.S)
+S_O_FILES=$(S_FILES:%.S=${ARCH}/%.o)
+
+SRCS=ghlinkcmds linkcmds $(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/ghlinkcmds $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+
+
+
diff --git a/c/src/lib/libbsp/mips64orion/p4000/wrapup/Makefile.in b/c/src/lib/libbsp/mips64orion/p4000/wrapup/Makefile.in
new file mode 100644
index 0000000000..ff57be1813
--- /dev/null
+++ b/c/src/lib/libbsp/mips64orion/p4000/wrapup/Makefile.in
@@ -0,0 +1,52 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup console liblnk
+CPU_PIECES=clock timer
+GENERIC_PIECES=
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(CPU_PIECES), ../../../../libcpu/$(RTEMS_CPU)/$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
+install: all
+
diff --git a/c/src/lib/libbsp/no_cpu/Makefile.in b/c/src/lib/libbsp/no_cpu/Makefile.in
new file mode 100644
index 0000000000..a92e20d55e
--- /dev/null
+++ b/c/src/lib/libbsp/no_cpu/Makefile.in
@@ -0,0 +1,14 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# Descend into the $(RTEMS_BSP) directory if it exists
+SUB_DIRS=$(wildcard $(RTEMS_BSP))
diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/Makefile.in b/c/src/lib/libbsp/no_cpu/no_bsp/Makefile.in
new file mode 100644
index 0000000000..039b961a77
--- /dev/null
+++ b/c/src/lib/libbsp/no_cpu/no_bsp/Makefile.in
@@ -0,0 +1,19 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SRCS=README
+
+all: $(SRCS)
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include startup clock console shmsupp timer wrapup
diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/clock/Makefile.in b/c/src/lib/libbsp/no_cpu/no_bsp/clock/Makefile.in
new file mode 100644
index 0000000000..1bbbda6e96
--- /dev/null
+++ b/c/src/lib/libbsp/no_cpu/no_bsp/clock/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/console/Makefile.in b/c/src/lib/libbsp/no_cpu/no_bsp/console/Makefile.in
new file mode 100644
index 0000000000..58d2734659
--- /dev/null
+++ b/c/src/lib/libbsp/no_cpu/no_bsp/console/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/include/Makefile.in b/c/src/lib/libbsp/no_cpu/no_bsp/include/Makefile.in
new file mode 100644
index 0000000000..fd7d4d6077
--- /dev/null
+++ b/c/src/lib/libbsp/no_cpu/no_bsp/include/Makefile.in
@@ -0,0 +1,32 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/shmsupp/Makefile.in b/c/src/lib/libbsp/no_cpu/no_bsp/shmsupp/Makefile.in
new file mode 100644
index 0000000000..c91ccb5214
--- /dev/null
+++ b/c/src/lib/libbsp/no_cpu/no_bsp/shmsupp/Makefile.in
@@ -0,0 +1,59 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/shmsupp.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=addrconv getcfg lock mpisr
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/startup/Makefile.in b/c/src/lib/libbsp/no_cpu/no_bsp/startup/Makefile.in
new file mode 100644
index 0000000000..02891e718c
--- /dev/null
+++ b/c/src/lib/libbsp/no_cpu/no_bsp/startup/Makefile.in
@@ -0,0 +1,60 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspclean bspstart main sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=linkcmds $(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+ $(INSTALL) linkcmds ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/timer/Makefile.in b/c/src/lib/libbsp/no_cpu/no_bsp/timer/Makefile.in
new file mode 100644
index 0000000000..48c65c1c49
--- /dev/null
+++ b/c/src/lib/libbsp/no_cpu/no_bsp/timer/Makefile.in
@@ -0,0 +1,60 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# NOTE: timerisr is normally an assembly file!!!
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer timerisr
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/wrapup/Makefile.in b/c/src/lib/libbsp/no_cpu/no_bsp/wrapup/Makefile.in
new file mode 100644
index 0000000000..0e6fe816b0
--- /dev/null
+++ b/c/src/lib/libbsp/no_cpu/no_bsp/wrapup/Makefile.in
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup clock console shmsupp timer
+GENERIC_PIECES=shmdr
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/powerpc/Makefile.in b/c/src/lib/libbsp/powerpc/Makefile.in
new file mode 100644
index 0000000000..a92e20d55e
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/Makefile.in
@@ -0,0 +1,14 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# Descend into the $(RTEMS_BSP) directory if it exists
+SUB_DIRS=$(wildcard $(RTEMS_BSP))
diff --git a/c/src/lib/libbsp/powerpc/papyrus/Makefile.in b/c/src/lib/libbsp/powerpc/papyrus/Makefile.in
new file mode 100644
index 0000000000..17aaea81d5
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/papyrus/Makefile.in
@@ -0,0 +1,19 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SRCS=README
+
+all: $(SRCS)
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include dlentry flashentry startup wrapup
diff --git a/c/src/lib/libbsp/powerpc/papyrus/dlentry/Makefile.in b/c/src/lib/libbsp/powerpc/papyrus/dlentry/Makefile.in
new file mode 100644
index 0000000000..2078226e73
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/papyrus/dlentry/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/dlentry.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=dlentry
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/powerpc/papyrus/flashentry/Makefile.in b/c/src/lib/libbsp/powerpc/papyrus/flashentry/Makefile.in
new file mode 100644
index 0000000000..e02c8bb3d6
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/papyrus/flashentry/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/flashentry.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=flashentry
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/powerpc/papyrus/include/Makefile.in b/c/src/lib/libbsp/powerpc/papyrus/include/Makefile.in
new file mode 100644
index 0000000000..20c100b31f
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/papyrus/include/Makefile.in
@@ -0,0 +1,34 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
+
+install: all
diff --git a/c/src/lib/libbsp/powerpc/papyrus/startup/Makefile.in b/c/src/lib/libbsp/powerpc/papyrus/startup/Makefile.in
new file mode 100644
index 0000000000..cfbf683a91
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/papyrus/startup/Makefile.in
@@ -0,0 +1,55 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspclean bspstart main sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/powerpc/papyrus/wrapup/Makefile.in b/c/src/lib/libbsp/powerpc/papyrus/wrapup/Makefile.in
new file mode 100644
index 0000000000..875cb30396
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/papyrus/wrapup/Makefile.in
@@ -0,0 +1,55 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup dlentry flashentry
+# pieces to pick up out of libcpu/ppc
+CPU_PIECES=ppc403/clock ppc403/timer ppc403/console ppc403/vectors
+GENERIC_PIECES=
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(CPU_PIECES), \
+ ../../../../libcpu/$(RTEMS_CPU)/$(piece)/$(ARCH)/$(notdir $(piece)).rel) \
+ $(foreach piece, $(GENERIC_PIECES), \
+ ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
+install: all
+
diff --git a/c/src/lib/libbsp/shmdr/Makefile.in b/c/src/lib/libbsp/shmdr/Makefile.in
new file mode 100644
index 0000000000..1f264207c9
--- /dev/null
+++ b/c/src/lib/libbsp/shmdr/Makefile.in
@@ -0,0 +1,59 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/shmdr.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=addlq cnvpkt getlq dump fatal getpkt init initlq intr mpisr \
+ poll receive retpkt send setckvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_PIECES=shm mpci
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: preinstall ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL_VARIANT) -m 644 $(PGM) ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by
+# ../$(RTEMS_BSP)/wrapup/Makefile
+
+preinstall:
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/sparc/Makefile.in b/c/src/lib/libbsp/sparc/Makefile.in
new file mode 100644
index 0000000000..a92e20d55e
--- /dev/null
+++ b/c/src/lib/libbsp/sparc/Makefile.in
@@ -0,0 +1,14 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# Descend into the $(RTEMS_BSP) directory if it exists
+SUB_DIRS=$(wildcard $(RTEMS_BSP))
diff --git a/c/src/lib/libbsp/sparc/erc32/Makefile.in b/c/src/lib/libbsp/sparc/erc32/Makefile.in
new file mode 100644
index 0000000000..c4d00cd7a6
--- /dev/null
+++ b/c/src/lib/libbsp/sparc/erc32/Makefile.in
@@ -0,0 +1,16 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+# NOTE: we pick up HPPA clock and timer from libcpu/hppa
+SUB_DIRS=startsis include startup console clock timer wrapup
diff --git a/c/src/lib/libbsp/sparc/erc32/clock/Makefile.in b/c/src/lib/libbsp/sparc/erc32/clock/Makefile.in
new file mode 100644
index 0000000000..3dd7213304
--- /dev/null
+++ b/c/src/lib/libbsp/sparc/erc32/clock/Makefile.in
@@ -0,0 +1,59 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/sparc/erc32/console/Makefile.in b/c/src/lib/libbsp/sparc/erc32/console/Makefile.in
new file mode 100644
index 0000000000..58d2734659
--- /dev/null
+++ b/c/src/lib/libbsp/sparc/erc32/console/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/sparc/erc32/include/Makefile.in b/c/src/lib/libbsp/sparc/erc32/include/Makefile.in
new file mode 100644
index 0000000000..8022b50bb2
--- /dev/null
+++ b/c/src/lib/libbsp/sparc/erc32/include/Makefile.in
@@ -0,0 +1,34 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+# If you add equate files, don't forget to uncomment the install line
+# below.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/sparc/erc32/start/Makefile.in b/c/src/lib/libbsp/sparc/erc32/start/Makefile.in
new file mode 100644
index 0000000000..07bd7ad73e
--- /dev/null
+++ b/c/src/lib/libbsp/sparc/erc32/start/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGMS=${ARCH}/startsis.o
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=startsis
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGMS} ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/libbsp/sparc/erc32/startsis/Makefile.in b/c/src/lib/libbsp/sparc/erc32/startsis/Makefile.in
new file mode 100644
index 0000000000..07bd7ad73e
--- /dev/null
+++ b/c/src/lib/libbsp/sparc/erc32/startsis/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGMS=${ARCH}/startsis.o
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=startsis
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGMS} ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/libbsp/sparc/erc32/startup/Makefile.in b/c/src/lib/libbsp/sparc/erc32/startup/Makefile.in
new file mode 100644
index 0000000000..f0afe26114
--- /dev/null
+++ b/c/src/lib/libbsp/sparc/erc32/startup/Makefile.in
@@ -0,0 +1,65 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspclean bspstart sbrk setvec spurious
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+CC_PIECES=rtems-ctor
+CC_FILES=$(CC_PIECES:%=%.cc)
+CC_O_FILES=$(CC_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.S)
+S_O_FILES=$(S_FILES:%.S=${ARCH}/%.o)
+
+SRCS=linkcmds $(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES)
+
+# We install the RTEMS constructor as a separate .o
+# so it can be easily place correctly by the compiler config file.
+INSTALLED_O_FILES=$(ARCH)/rtems-ctor.o
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(INSTALLED_O_FILES) $(PGM)
+ $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib
+ $(INSTALL_VARIANT) $(INSTALLED_O_FILES) ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/libbsp/sparc/erc32/timer/Makefile.in b/c/src/lib/libbsp/sparc/erc32/timer/Makefile.in
new file mode 100644
index 0000000000..6511afb8bf
--- /dev/null
+++ b/c/src/lib/libbsp/sparc/erc32/timer/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/sparc/erc32/tools/Makefile.in b/c/src/lib/libbsp/sparc/erc32/tools/Makefile.in
new file mode 100644
index 0000000000..4b680df9f0
--- /dev/null
+++ b/c/src/lib/libbsp/sparc/erc32/tools/Makefile.in
@@ -0,0 +1,25 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+DESTDIR=$(PROJECT_RELEASE)/tests
+
+PGMS=runtest
+
+INSTALLED=$(PGMS:%=$(DESTDIR)/%)
+
+all: $(DESTDIR) $(PGMS) install
+
+install: $(INSTALLED)
+
+# Install the program
+$(DESTDIR)/%: %
+ $(make-script)
diff --git a/c/src/lib/libbsp/sparc/erc32/wrapup/Makefile.in b/c/src/lib/libbsp/sparc/erc32/wrapup/Makefile.in
new file mode 100644
index 0000000000..b583e82f19
--- /dev/null
+++ b/c/src/lib/libbsp/sparc/erc32/wrapup/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup console clock timer
+# pieces to pick up out of libcpu/sparc
+CPU_PIECES=reg_win
+GENERIC_PIECES=
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(CPU_PIECES), \
+ ../../../../libcpu/$(RTEMS_CPU)/$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), \
+ ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libbsp/unix/Makefile.in b/c/src/lib/libbsp/unix/Makefile.in
new file mode 100644
index 0000000000..a92e20d55e
--- /dev/null
+++ b/c/src/lib/libbsp/unix/Makefile.in
@@ -0,0 +1,14 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# Descend into the $(RTEMS_BSP) directory if it exists
+SUB_DIRS=$(wildcard $(RTEMS_BSP))
diff --git a/c/src/lib/libbsp/unix/posix/Makefile.in b/c/src/lib/libbsp/unix/posix/Makefile.in
new file mode 100644
index 0000000000..1a0df3d90b
--- /dev/null
+++ b/c/src/lib/libbsp/unix/posix/Makefile.in
@@ -0,0 +1,25 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SRCS=README
+
+# MP_PARTS are the pieces of the BSP required in a MP environment
+# We only build them if HAS_MP was defined
+
+MP_PARTS_yes_V = shmsupp
+MP_PARTS = $(MP_PARTS_$(HAS_MP)_V)
+
+all: $(SRCS)
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include startup clock console timer $(MP_PARTS) wrapup
diff --git a/c/src/lib/libbsp/unix/posix/clock/Makefile.in b/c/src/lib/libbsp/unix/posix/clock/Makefile.in
new file mode 100644
index 0000000000..809910191e
--- /dev/null
+++ b/c/src/lib/libbsp/unix/posix/clock/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=clock
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by
+# ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/unix/posix/console/Makefile.in b/c/src/lib/libbsp/unix/posix/console/Makefile.in
new file mode 100644
index 0000000000..ff608c8496
--- /dev/null
+++ b/c/src/lib/libbsp/unix/posix/console/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/unix/posix/include/Makefile.in b/c/src/lib/libbsp/unix/posix/include/Makefile.in
new file mode 100644
index 0000000000..fd7d4d6077
--- /dev/null
+++ b/c/src/lib/libbsp/unix/posix/include/Makefile.in
@@ -0,0 +1,32 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(EQ_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libbsp/unix/posix/shmsupp/Makefile.in b/c/src/lib/libbsp/unix/posix/shmsupp/Makefile.in
new file mode 100644
index 0000000000..f0836ef414
--- /dev/null
+++ b/c/src/lib/libbsp/unix/posix/shmsupp/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/shmsupp.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=addrconv getcfg intr lock mpisr
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/unix/posix/startup/Makefile.in b/c/src/lib/libbsp/unix/posix/startup/Makefile.in
new file mode 100644
index 0000000000..fd016427e5
--- /dev/null
+++ b/c/src/lib/libbsp/unix/posix/startup/Makefile.in
@@ -0,0 +1,65 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+NO_CTOR_LIB=${ARCH}/libno-ctor.a
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspclean bspstart setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+CC_PIECES=rtems-ctor
+CC_FILES=$(CC_PIECES:%=%.cc)
+CC_O_FILES=$(CC_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) no-ctor.c
+OBJS=$(C_O_FILES)
+
+# We install the RTEMS constructor as a separate .o
+# so it can be easily place correctly by the compiler config file.
+INSTALLED_O_FILES=$(ARCH)/rtems-ctor.o
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+${NO_CTOR_LIB}: $(ARCH)/no-ctor.o
+ $(RM) $@
+ $(AR) -cvr $@ $(ARCH)/no-ctor.o
+
+all: ${ARCH} $(SRCS) $(INSTALLED_O_FILES) $(PGM) ${NO_CTOR_LIB}
+ $(INSTALL_VARIANT) $(INSTALLED_O_FILES) ${PROJECT_RELEASE}/lib
+ $(INSTALL_VARIANT) $(NO_CTOR_LIB) ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/libbsp/unix/posix/timer/Makefile.in b/c/src/lib/libbsp/unix/posix/timer/Makefile.in
new file mode 100644
index 0000000000..150619daba
--- /dev/null
+++ b/c/src/lib/libbsp/unix/posix/timer/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by
+# ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libbsp/unix/posix/tools/Makefile.in b/c/src/lib/libbsp/unix/posix/tools/Makefile.in
new file mode 100644
index 0000000000..fc5f40ba18
--- /dev/null
+++ b/c/src/lib/libbsp/unix/posix/tools/Makefile.in
@@ -0,0 +1,30 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+DESTDIR=$(PROJECT_RELEASE)/tests
+
+# We use the generic difftest
+PGMS=runtest looptest semdump shmdump
+
+INSTALLED=$(PGMS:%=$(DESTDIR)/%)
+
+all: $(DESTDIR) $(PGMS) install
+
+install: $(INSTALLED)
+
+# Install the program, replacing #!KSHELL with $(KSH)
+# and first line #!SHELL with $(SHELL)
+$(DESTDIR)/%: %
+ -$(RM) $@.old
+ -$(MV) $@ $@.old >/dev/null 2>&1
+ $(SED) -e '1,1s?^#!KSHELL?#!$(KSH)?' -e '1,1s?^#!SHELL?#!$(SHELL)?' < $< > $@
+ $(CHMOD) 0555 $@
diff --git a/c/src/lib/libbsp/unix/posix/wrapup/Makefile.in b/c/src/lib/libbsp/unix/posix/wrapup/Makefile.in
new file mode 100644
index 0000000000..7dbf6b7c44
--- /dev/null
+++ b/c/src/lib/libbsp/unix/posix/wrapup/Makefile.in
@@ -0,0 +1,64 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# MP_XXX_PARTS are the pieces of the BSP required in a MP environment
+# We only build them if HAS_MP was defined
+
+MP_BSP_PARTS_yes_V = shmsupp
+MP_BSP_PARTS = $(MP_BSP_PARTS_$(HAS_MP)_V)
+
+MP_GENERIC_PARTS_yes_V = shmdr
+MP_GENERIC_PARTS = $(MP_GENERIC_PARTS_$(HAS_MP)_V)
+
+
+
+BSP_PIECES=startup clock console $(MP_BSP_PARTS) timer
+# pieces to pick up out of libcpu/unix
+CPU_PIECES=
+GENERIC_PIECES=$(MP_GENERIC_PARTS)
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(CPU_PIECES), \
+ ../../../../libcpu/$(RTEMS_CPU)/$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), \
+ ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/libc/Makefile.in b/c/src/lib/libc/Makefile.in
new file mode 100644
index 0000000000..9b5c9238d6
--- /dev/null
+++ b/c/src/lib/libc/Makefile.in
@@ -0,0 +1,62 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+LIBNAME=libcsupport.a
+LIB=${ARCH}/${LIBNAME}
+
+# C and C++ source names, if any, go here -- minus the .c or .cc
+C_PIECES=__gettod __brk __times malloc syscalls \
+ no_libc newlibc newlibif support unixlibc libio hosterr
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/libcsupport.h
+SYS_H_FILES=
+RTEMS_H_FILES=$(srcdir)/libio.h
+PRIVATE_H_FILES=$(srcdir)/internal.h
+
+INSTALLED_H_FILES=$(srcdir)/libio.h $(srcdir)/libcsupport.h
+SRCS=$(C_FILES) $(H_FILES) $(SYS_H_FILES) $(RTEMS_H_FILES) $(PRIVATE_H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(LIBC_DEFINES)
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS += $(LIB)
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} preinstall $(LIB)
+ $(INSTALL_VARIANT) -m 644 ${LIB} ${PROJECT_RELEASE}/lib
+
+$(LIB): $(SRCS) ${OBJS}
+ $(make-library)
+
+# Install the library, appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
+preinstall:
+ $(INSTALL) -m 444 ${RTEMS_H_FILES} ${PROJECT_RELEASE}/include/rtems
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(SYS_H_FILES) ${PROJECT_RELEASE}/include/sys
+
+
diff --git a/c/src/lib/libcpu/Makefile.in b/c/src/lib/libcpu/Makefile.in
new file mode 100644
index 0000000000..db59fa1142
--- /dev/null
+++ b/c/src/lib/libcpu/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=$(wildcard $(RTEMS_CPU))
diff --git a/c/src/lib/libcpu/hppa1.1/Makefile.in b/c/src/lib/libcpu/hppa1.1/Makefile.in
new file mode 100644
index 0000000000..387b84ad61
--- /dev/null
+++ b/c/src/lib/libcpu/hppa1.1/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=include milli runway clock timer semaphore
diff --git a/c/src/lib/libcpu/hppa1.1/clock/Makefile.in b/c/src/lib/libcpu/hppa1.1/clock/Makefile.in
new file mode 100644
index 0000000000..20bef5121e
--- /dev/null
+++ b/c/src/lib/libcpu/hppa1.1/clock/Makefile.in
@@ -0,0 +1,59 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=clock
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by
+# libbsp/hppa/BSP/wrapup/Makefile
+install: all
diff --git a/c/src/lib/libcpu/hppa1.1/include/Makefile.in b/c/src/lib/libcpu/hppa1.1/include/Makefile.in
new file mode 100644
index 0000000000..177394bdba
--- /dev/null
+++ b/c/src/lib/libcpu/hppa1.1/include/Makefile.in
@@ -0,0 +1,20 @@
+#
+# $Id$
+#
+# Install any include files needed by libcpu.
+# Mainly this just means bsp.h which would normally be installed
+# after libcpu is built.
+# This is a bit of a hack.
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+all: FORCEIT
+ cd ../../../libbsp/$(RTEMS_CPU)/$(RTEMS_BSP)/include; $(MAKE) all
+
+
diff --git a/c/src/lib/libcpu/hppa1.1/milli/Makefile.in b/c/src/lib/libcpu/hppa1.1/milli/Makefile.in
new file mode 100644
index 0000000000..414e8fac8a
--- /dev/null
+++ b/c/src/lib/libcpu/hppa1.1/milli/Makefile.in
@@ -0,0 +1,59 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/milli.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=milli
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by
+# libbsp/hppa/BSP/wrapup/Makefile
+install: all
diff --git a/c/src/lib/libcpu/hppa1.1/milli/milli.s b/c/src/lib/libcpu/hppa1.1/milli/milli.s
new file mode 100644
index 0000000000..85aaa08d88
--- /dev/null
+++ b/c/src/lib/libcpu/hppa1.1/milli/milli.s
@@ -0,0 +1,1998 @@
+;
+; (c) Copyright 1986 HEWLETT-PACKARD COMPANY
+;
+; To anyone who acknowledges that this file is provided "AS IS"
+; without any express or implied warranty:
+; permission to use, copy, modify, and distribute this file
+; for any purpose is hereby granted without fee, provided that
+; the above copyright notice and this notice appears in all
+; copies, and that the name of Hewlett-Packard Company not be
+; used in advertising or publicity pertaining to distribution
+; of the software without specific, written prior permission.
+; Hewlett-Packard Company makes no representations about the
+; suitability of this software for any purpose.
+;
+
+; Standard Hardware Register Definitions for Use with Assembler
+; version A.08.06
+; - fr16-31 added at Utah
+;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+; Hardware General Registers
+r0: .equ 0
+
+r1: .equ 1
+
+r2: .equ 2
+
+r3: .equ 3
+
+r4: .equ 4
+
+r5: .equ 5
+
+r6: .equ 6
+
+r7: .equ 7
+
+r8: .equ 8
+
+r9: .equ 9
+
+r10: .equ 10
+
+r11: .equ 11
+
+r12: .equ 12
+
+r13: .equ 13
+
+r14: .equ 14
+
+r15: .equ 15
+
+r16: .equ 16
+
+r17: .equ 17
+
+r18: .equ 18
+
+r19: .equ 19
+
+r20: .equ 20
+
+r21: .equ 21
+
+r22: .equ 22
+
+r23: .equ 23
+
+r24: .equ 24
+
+r25: .equ 25
+
+r26: .equ 26
+
+r27: .equ 27
+
+r28: .equ 28
+
+r29: .equ 29
+
+r30: .equ 30
+
+r31: .equ 31
+
+; Hardware Space Registers
+sr0: .equ 0
+
+sr1: .equ 1
+
+sr2: .equ 2
+
+sr3: .equ 3
+
+sr4: .equ 4
+
+sr5: .equ 5
+
+sr6: .equ 6
+
+sr7: .equ 7
+
+; Hardware Floating Point Registers
+fr0: .equ 0
+
+fr1: .equ 1
+
+fr2: .equ 2
+
+fr3: .equ 3
+
+fr4: .equ 4
+
+fr5: .equ 5
+
+fr6: .equ 6
+
+fr7: .equ 7
+
+fr8: .equ 8
+
+fr9: .equ 9
+
+fr10: .equ 10
+
+fr11: .equ 11
+
+fr12: .equ 12
+
+fr13: .equ 13
+
+fr14: .equ 14
+
+fr15: .equ 15
+
+fr16: .equ 16
+
+fr17: .equ 17
+
+fr18: .equ 18
+
+fr19: .equ 19
+
+fr20: .equ 20
+
+fr21: .equ 21
+
+fr22: .equ 22
+
+fr23: .equ 23
+
+fr24: .equ 24
+
+fr25: .equ 25
+
+fr26: .equ 26
+
+fr27: .equ 27
+
+fr28: .equ 28
+
+fr29: .equ 29
+
+fr30: .equ 30
+
+fr31: .equ 31
+
+; Hardware Control Registers
+cr0: .equ 0
+
+rctr: .equ 0 ; Recovery Counter Register
+
+
+cr8: .equ 8 ; Protection ID 1
+
+pidr1: .equ 8
+
+
+cr9: .equ 9 ; Protection ID 2
+
+pidr2: .equ 9
+
+
+cr10: .equ 10
+
+ccr: .equ 10 ; Coprocessor Confiquration Register
+
+
+cr11: .equ 11
+
+sar: .equ 11 ; Shift Amount Register
+
+
+cr12: .equ 12
+
+pidr3: .equ 12 ; Protection ID 3
+
+
+cr13: .equ 13
+
+pidr4: .equ 13 ; Protection ID 4
+
+
+cr14: .equ 14
+
+iva: .equ 14 ; Interrupt Vector Address
+
+
+cr15: .equ 15
+
+eiem: .equ 15 ; External Interrupt Enable Mask
+
+
+cr16: .equ 16
+
+itmr: .equ 16 ; Interval Timer
+
+
+cr17: .equ 17
+
+pcsq: .equ 17 ; Program Counter Space queue
+
+
+cr18: .equ 18
+
+pcoq: .equ 18 ; Program Counter Offset queue
+
+
+cr19: .equ 19
+
+iir: .equ 19 ; Interruption Instruction Register
+
+
+cr20: .equ 20
+
+isr: .equ 20 ; Interruption Space Register
+
+
+cr21: .equ 21
+
+ior: .equ 21 ; Interruption Offset Register
+
+
+cr22: .equ 22
+
+ipsw: .equ 22 ; Interrpution Processor Status Word
+
+
+cr23: .equ 23
+
+eirr: .equ 23 ; External Interrupt Request
+
+
+cr24: .equ 24
+
+ppda: .equ 24 ; Physcial Page Directory Address
+
+tr0: .equ 24 ; Temporary register 0
+
+
+cr25: .equ 25
+
+hta: .equ 25 ; Hash Table Address
+
+tr1: .equ 25 ; Temporary register 1
+
+
+cr26: .equ 26
+
+tr2: .equ 26 ; Temporary register 2
+
+
+cr27: .equ 27
+
+tr3: .equ 27 ; Temporary register 3
+
+
+cr28: .equ 28
+
+tr4: .equ 28 ; Temporary register 4
+
+
+cr29: .equ 29
+
+tr5: .equ 29 ; Temporary register 5
+
+
+cr30: .equ 30
+
+tr6: .equ 30 ; Temporary register 6
+
+
+cr31: .equ 31
+
+tr7: .equ 31 ; Temporary register 7
+
+;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+; Procedure Call Convention ~
+; Register Definitions for Use with Assembler ~
+; version A.08.06
+;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+; Software Architecture General Registers
+rp: .equ r2 ; return pointer
+
+mrp: .equ r31 ; millicode return pointer
+
+ret0: .equ r28 ; return value
+
+ret1: .equ r29 ; return value (high part of double)
+
+sl: .equ r29 ; static link
+
+sp: .equ r30 ; stack pointer
+
+dp: .equ r27 ; data pointer
+
+arg0: .equ r26 ; argument
+
+arg1: .equ r25 ; argument or high part of double argument
+
+arg2: .equ r24 ; argument
+
+arg3: .equ r23 ; argument or high part of double argument
+
+;_____________________________________________________________________________
+; Software Architecture Space Registers
+; sr0 ; return link form BLE
+sret: .equ sr1 ; return value
+
+sarg: .equ sr1 ; argument
+
+; sr4 ; PC SPACE tracker
+; sr5 ; process private data
+;_____________________________________________________________________________
+; Software Architecture Pseudo Registers
+previous_sp: .equ 64 ; old stack pointer (locates previous frame)
+
+;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+; Standard space and subspace definitions. version A.08.06
+; These are generally suitable for programs on HP_UX and HPE.
+; Statements commented out are used when building such things as operating
+; system kernels.
+;;;;;;;;;;;;;;;;
+ .SPACE $TEXT$, SPNUM=0,SORT=8
+ .subspa $MILLICODE$, QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=8
+ .subspa $LIT$, QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=16
+ .subspa $CODE$, QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=24
+; Additional code subspaces should have ALIGN=8 for an interspace BV
+; and should have SORT=24.
+;
+; For an incomplete executable (program bound to shared libraries),
+; sort keys $GLOBAL$ -1 and $GLOBAL$ -2 are reserved for the $DLT$
+; and $PLT$ subspaces respectively.
+;;;;;;;;;;;;;;;
+ .SPACE $PRIVATE$, SPNUM=1,PRIVATE,SORT=16
+ .subspa $GLOBAL$, QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=40
+ .import $global$
+ .subspa $DATA$, QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=16
+ .subspa $BSS$, QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82,ZERO
+
+ .SPACE $TEXT$
+ .SUBSPA $MILLICODE$
+
+ .align 8
+ .EXPORT $$remI,millicode
+; .IMPORT cerror
+$$remI:
+ .PROC
+ .CALLINFO millicode
+ .ENTRY
+ addit,= 0,arg1,r0
+ add,>= r0,arg0,ret1
+ sub r0,ret1,ret1
+ sub r0,arg1,r1
+ ds r0,r1,r0
+ or r0,r0,r1
+ add ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ ds r1,arg1,r1
+ addc ret1,ret1,ret1
+ movb,>=,n r1,ret1,remI300
+ add,< arg1,r0,r0
+ add,tr r1,arg1,ret1
+ sub r1,arg1,ret1
+remI300: add,>= arg0,r0,r0
+
+ sub r0,ret1,ret1
+ bv r0(r31)
+ nop
+ .EXIT
+ .PROCEND
+
+bit1: .equ 1
+
+bit30: .equ 30
+bit31: .equ 31
+
+len2: .equ 2
+
+len4: .equ 4
+
+
+$$dyncall:
+ .proc
+ .callinfo NO_CALLS
+ .entry
+ .export $$dyncall,MILLICODE
+
+ bb,>=,n 22,bit30,noshlibs
+
+ depi 0,bit31,len2,22
+ ldw 4(22),19
+ ldw 0(22),22
+noshlibs:
+ ldsid (22),r1
+ mtsp r1,sr0
+ be 0(sr0,r22)
+ stw rp,-24(sp)
+ .exit
+ .procend
+
+temp: .EQU r1
+
+retreg: .EQU ret1 ; r29
+
+
+ .export $$divU,millicode
+ .import $$divU_3,millicode
+ .import $$divU_5,millicode
+ .import $$divU_6,millicode
+ .import $$divU_7,millicode
+ .import $$divU_9,millicode
+ .import $$divU_10,millicode
+ .import $$divU_12,millicode
+ .import $$divU_14,millicode
+ .import $$divU_15,millicode
+$$divU:
+ .proc
+ .callinfo millicode
+ .entry
+; The subtract is not nullified since it does no harm and can be used
+; by the two cases that branch back to "normal".
+ comib,>= 15,arg1,special_divisor
+ sub r0,arg1,temp ; clear carry, negate the divisor
+ ds r0,temp,r0 ; set V-bit to 1
+normal:
+ add arg0,arg0,retreg ; shift msb bit into carry
+ ds r0,arg1,temp ; 1st divide step, if no carry
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 2nd divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 3rd divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 4th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 5th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 6th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 7th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 8th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 9th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 10th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 11th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 12th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 13th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 14th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 15th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 16th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 17th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 18th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 19th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 20th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 21st divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 22nd divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 23rd divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 24th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 25th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 26th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 27th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 28th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 29th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 30th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 31st divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 32nd divide step,
+ bv 0(r31)
+ addc retreg,retreg,retreg ; shift last retreg bit into retreg
+;_____________________________________________________________________________
+; handle the cases where divisor is a small constant or has high bit on
+special_divisor:
+ comib,> 0,arg1,big_divisor
+ nop
+ blr arg1,r0
+ nop
+zero_divisor: ; this label is here to provide external visibility
+
+ addit,= 0,arg1,0 ; trap for zero dvr
+ nop
+ bv 0(r31) ; divisor == 1
+ copy arg0,retreg
+ bv 0(r31) ; divisor == 2
+ extru arg0,30,31,retreg
+ b,n $$divU_3 ; divisor == 3
+ nop
+ bv 0(r31) ; divisor == 4
+ extru arg0,29,30,retreg
+ b,n $$divU_5 ; divisor == 5
+ nop
+ b,n $$divU_6 ; divisor == 6
+ nop
+ b,n $$divU_7 ; divisor == 7
+ nop
+ bv 0(r31) ; divisor == 8
+ extru arg0,28,29,retreg
+ b,n $$divU_9 ; divisor == 9
+ nop
+ b,n $$divU_10 ; divisor == 10
+ nop
+ b normal ; divisor == 11
+ ds r0,temp,r0 ; set V-bit to 1
+ b,n $$divU_12 ; divisor == 12
+ nop
+ b normal ; divisor == 13
+ ds r0,temp,r0 ; set V-bit to 1
+ b,n $$divU_14 ; divisor == 14
+ nop
+ b,n $$divU_15 ; divisor == 15
+ nop
+;_____________________________________________________________________________
+; Handle the case where the high bit is on in the divisor.
+; Compute: if( dividend>=divisor) quotient=1; else quotient=0;
+; Note: dividend>==divisor iff dividend-divisor does not borrow
+; and not borrow iff carry
+big_divisor:
+ sub arg0,arg1,r0
+ bv 0(r31)
+ addc r0,r0,retreg
+ .exit
+ .procend
+ .end
+
+t2: .EQU r1
+
+; x2 .EQU arg0 ; r26
+t1: .EQU arg1 ; r25
+
+; x1 .EQU ret1 ; r29
+;_____________________________________________________________________________
+
+$$divide_by_constant:
+ .PROC
+ .CALLINFO millicode
+ .entry
+
+
+ .export $$divide_by_constant,millicode
+; Provides a "nice" label for the code covered by the unwind descriptor
+; for things like gprof.
+
+
+
+
+
+
+
+
+
+$$divI_2:
+ .EXPORT $$divI_2,MILLICODE
+ COMCLR,>= arg0,0,0
+ ADDI 1,arg0,arg0
+ bv 0(r31)
+ EXTRS arg0,30,31,ret1
+
+
+
+$$divI_4:
+ .EXPORT $$divI_4,MILLICODE
+ COMCLR,>= arg0,0,0
+ ADDI 3,arg0,arg0
+ bv 0(r31)
+ EXTRS arg0,29,30,ret1
+
+
+
+$$divI_8:
+ .EXPORT $$divI_8,MILLICODE
+ COMCLR,>= arg0,0,0
+ ADDI 7,arg0,arg0
+ bv 0(r31)
+ EXTRS arg0,28,29,ret1
+
+
+$$divI_16:
+ .EXPORT $$divI_16,MILLICODE
+ COMCLR,>= arg0,0,0
+ ADDI 15,arg0,arg0
+ bv 0(r31)
+ EXTRS arg0,27,28,ret1
+
+
+
+
+
+
+
+
+
+
+
+$$divI_3:
+ .EXPORT $$divI_3,MILLICODE
+ COMB,<,N arg0,0,$neg3
+
+ ADDI 1,arg0,arg0
+ EXTRU arg0,1,2,ret1
+ SH2ADD arg0,arg0,arg0
+ B $pos
+ ADDC ret1,0,ret1
+
+$neg3:
+ SUBI 1,arg0,arg0
+ EXTRU arg0,1,2,ret1
+ SH2ADD arg0,arg0,arg0
+ B $neg
+ ADDC ret1,0,ret1
+
+$$divU_3:
+ .EXPORT $$divU_3,MILLICODE
+ ADDI 1,arg0,arg0
+ ADDC 0,0,ret1
+ SHD ret1,arg0,30,t1
+ SH2ADD arg0,arg0,arg0
+ B $pos
+ ADDC ret1,t1,ret1
+
+
+
+$$divI_5:
+ .EXPORT $$divI_5,MILLICODE
+ COMB,<,N arg0,0,$neg5
+ ADDI 3,arg0,t1
+ SH1ADD arg0,t1,arg0
+ B $pos
+ ADDC 0,0,ret1
+
+$neg5:
+ SUB 0,arg0,arg0
+ ADDI 1,arg0,arg0
+ SHD 0,arg0,31,ret1
+ SH1ADD arg0,arg0,arg0
+ B $neg
+ ADDC ret1,0,ret1
+
+$$divU_5:
+ .EXPORT $$divU_5,MILLICODE
+ ADDI 1,arg0,arg0
+ ADDC 0,0,ret1
+ SHD ret1,arg0,31,t1
+ SH1ADD arg0,arg0,arg0
+ B $pos
+ ADDC t1,ret1,ret1
+
+
+$$divI_6:
+ .EXPORT $$divI_6,MILLICODE
+ COMB,<,N arg0,0,$neg6
+ EXTRU arg0,30,31,arg0
+ ADDI 5,arg0,t1
+ SH2ADD arg0,t1,arg0
+ B $pos
+ ADDC 0,0,ret1
+
+$neg6:
+ SUBI 2,arg0,arg0
+
+
+ EXTRU arg0,30,31,arg0
+ SHD 0,arg0,30,ret1
+ SH2ADD arg0,arg0,arg0
+ B $neg
+ ADDC ret1,0,ret1
+
+$$divU_6:
+ .EXPORT $$divU_6,MILLICODE
+ EXTRU arg0,30,31,arg0
+ ADDI 1,arg0,arg0
+ SHD 0,arg0,30,ret1
+ SH2ADD arg0,arg0,arg0
+ B $pos
+ ADDC ret1,0,ret1
+
+
+$$divU_10:
+ .EXPORT $$divU_10,MILLICODE
+ EXTRU arg0,30,31,arg0
+ ADDI 3,arg0,t1
+ SH1ADD arg0,t1,arg0
+ ADDC 0,0,ret1
+$pos:
+ SHD ret1,arg0,28,t1
+ SHD arg0,0,28,t2
+ ADD arg0,t2,arg0
+ ADDC ret1,t1,ret1
+$pos_for_17:
+ SHD ret1,arg0,24,t1
+ SHD arg0,0,24,t2
+ ADD arg0,t2,arg0
+ ADDC ret1,t1,ret1
+
+ SHD ret1,arg0,16,t1
+ SHD arg0,0,16,t2
+ ADD arg0,t2,arg0
+ bv 0(r31)
+ ADDC ret1,t1,ret1
+
+$$divI_10:
+ .EXPORT $$divI_10,MILLICODE
+ COMB,< arg0,0,$neg10
+ COPY 0,ret1
+ EXTRU arg0,30,31,arg0
+ ADDIB,TR 1,arg0,$pos
+ SH1ADD arg0,arg0,arg0
+
+$neg10:
+ SUBI 2,arg0,arg0
+
+
+ EXTRU arg0,30,31,arg0
+ SH1ADD arg0,arg0,arg0
+$neg:
+ SHD ret1,arg0,28,t1
+ SHD arg0,0,28,t2
+ ADD arg0,t2,arg0
+ ADDC ret1,t1,ret1
+$neg_for_17:
+ SHD ret1,arg0,24,t1
+ SHD arg0,0,24,t2
+ ADD arg0,t2,arg0
+ ADDC ret1,t1,ret1
+
+ SHD ret1,arg0,16,t1
+ SHD arg0,0,16,t2
+ ADD arg0,t2,arg0
+ ADDC ret1,t1,ret1
+ bv 0(r31)
+ SUB 0,ret1,ret1
+
+
+$$divI_12:
+ .EXPORT $$divI_12,MILLICODE
+ COMB,< arg0,0,$neg12
+ COPY 0,ret1
+ EXTRU arg0,29,30,arg0
+ ADDIB,TR 1,arg0,$pos
+ SH2ADD arg0,arg0,arg0
+
+$neg12:
+ SUBI 4,arg0,arg0
+
+
+ EXTRU arg0,29,30,arg0
+ B $neg
+ SH2ADD arg0,arg0,arg0
+
+$$divU_12:
+ .EXPORT $$divU_12,MILLICODE
+ EXTRU arg0,29,30,arg0
+ ADDI 5,arg0,t1
+ SH2ADD arg0,t1,arg0
+ B $pos
+ ADDC 0,0,ret1
+
+
+$$divI_15:
+ .EXPORT $$divI_15,MILLICODE
+ COMB,< arg0,0,$neg15
+ COPY 0,ret1
+ ADDIB,TR 1,arg0,$pos+4
+ SHD ret1,arg0,28,t1
+
+$neg15:
+ B $neg
+ SUBI 1,arg0,arg0
+
+$$divU_15:
+ .EXPORT $$divU_15,MILLICODE
+ ADDI 1,arg0,arg0
+ B $pos
+ ADDC 0,0,ret1
+
+
+$$divI_17:
+ .EXPORT $$divI_17,MILLICODE
+ COMB,<,N arg0,0,$neg17
+ ADDI 1,arg0,arg0
+ SHD 0,arg0,28,t1
+ SHD arg0,0,28,t2
+ SUB t2,arg0,arg0
+ B $pos_for_17
+ SUBB t1,0,ret1
+
+$neg17:
+ SUBI 1,arg0,arg0
+ SHD 0,arg0,28,t1
+ SHD arg0,0,28,t2
+ SUB t2,arg0,arg0
+ B $neg_for_17
+ SUBB t1,0,ret1
+
+$$divU_17:
+ .EXPORT $$divU_17,MILLICODE
+ ADDI 1,arg0,arg0
+ ADDC 0,0,ret1
+ SHD ret1,arg0,28,t1
+$u17:
+ SHD arg0,0,28,t2
+ SUB t2,arg0,arg0
+ B $pos_for_17
+ SUBB t1,ret1,ret1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+$$divI_7:
+ .EXPORT $$divI_7,MILLICODE
+ COMB,<,N arg0,0,$neg7
+$7:
+ ADDI 1,arg0,arg0
+ SHD 0,arg0,29,ret1
+ SH3ADD arg0,arg0,arg0
+ ADDC ret1,0,ret1
+$pos7:
+ SHD ret1,arg0,26,t1
+ SHD arg0,0,26,t2
+ ADD arg0,t2,arg0
+ ADDC ret1,t1,ret1
+
+ SHD ret1,arg0,20,t1
+ SHD arg0,0,20,t2
+ ADD arg0,t2,arg0
+ ADDC ret1,t1,t1
+
+
+
+ COPY 0,ret1
+ SHD,= t1,arg0,24,t1
+$1:
+ ADDB,TR t1,ret1,$2
+ EXTRU arg0,31,24,arg0
+
+ bv,n 0(r31)
+
+$2:
+ ADDB,TR t1,arg0,$1
+ EXTRU,= arg0,7,8,t1
+
+$neg7:
+ SUBI 1,arg0,arg0
+$8:
+ SHD 0,arg0,29,ret1
+ SH3ADD arg0,arg0,arg0
+ ADDC ret1,0,ret1
+
+$neg7_shift:
+ SHD ret1,arg0,26,t1
+ SHD arg0,0,26,t2
+ ADD arg0,t2,arg0
+ ADDC ret1,t1,ret1
+
+ SHD ret1,arg0,20,t1
+ SHD arg0,0,20,t2
+ ADD arg0,t2,arg0
+ ADDC ret1,t1,t1
+
+
+
+ COPY 0,ret1
+ SHD,= t1,arg0,24,t1
+$3:
+ ADDB,TR t1,ret1,$4
+ EXTRU arg0,31,24,arg0
+
+ bv 0(r31)
+ SUB 0,ret1,ret1
+
+$4:
+ ADDB,TR t1,arg0,$3
+ EXTRU,= arg0,7,8,t1
+
+$$divU_7:
+ .EXPORT $$divU_7,MILLICODE
+ ADDI 1,arg0,arg0
+ ADDC 0,0,ret1
+ SHD ret1,arg0,29,t1
+ SH3ADD arg0,arg0,arg0
+ B $pos7
+ ADDC t1,ret1,ret1
+
+
+$$divI_9:
+ .EXPORT $$divI_9,MILLICODE
+ COMB,<,N arg0,0,$neg9
+ ADDI 1,arg0,arg0
+ SHD 0,arg0,29,t1
+ SHD arg0,0,29,t2
+ SUB t2,arg0,arg0
+ B $pos7
+ SUBB t1,0,ret1
+
+$neg9:
+ SUBI 1,arg0,arg0
+ SHD 0,arg0,29,t1
+ SHD arg0,0,29,t2
+ SUB t2,arg0,arg0
+ B $neg7_shift
+ SUBB t1,0,ret1
+
+$$divU_9:
+ .EXPORT $$divU_9,MILLICODE
+ ADDI 1,arg0,arg0
+ ADDC 0,0,ret1
+ SHD ret1,arg0,29,t1
+ SHD arg0,0,29,t2
+ SUB t2,arg0,arg0
+ B $pos7
+ SUBB t1,ret1,ret1
+
+
+$$divI_14:
+ .EXPORT $$divI_14,MILLICODE
+ COMB,<,N arg0,0,$neg14
+$$divU_14:
+ .EXPORT $$divU_14,MILLICODE
+ B $7
+ EXTRU arg0,30,31,arg0
+
+$neg14:
+ SUBI 2,arg0,arg0
+ B $8
+ EXTRU arg0,30,31,arg0
+
+ .exit
+ .PROCEND
+ .END
+
+rmndr: .EQU ret1 ; r29
+
+
+ .export $$remU,millicode
+$$remU:
+ .proc
+ .callinfo millicode
+ .entry
+
+ comib,>=,n 0,arg1,special_case
+ sub r0,arg1,rmndr ; clear carry, negate the divisor
+ ds r0,rmndr,r0 ; set V-bit to 1
+ add arg0,arg0,temp ; shift msb bit into carry
+ ds r0,arg1,rmndr ; 1st divide step, if no carry
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 2nd divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 3rd divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 4th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 5th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 6th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 7th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 8th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 9th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 10th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 11th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 12th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 13th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 14th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 15th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 16th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 17th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 18th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 19th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 20th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 21st divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 22nd divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 23rd divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 24th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 25th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 26th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 27th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 28th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 29th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 30th divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 31st divide step
+ addc temp,temp,temp ; shift temp with/into carry
+ ds rmndr,arg1,rmndr ; 32nd divide step,
+ comiclr,<= 0,rmndr,r0
+ add rmndr,arg1,rmndr ; correction
+; .exit
+ bv,n 0(r31)
+ nop
+; Putting >= on the last DS and deleting COMICLR does not work!
+;_____________________________________________________________________________
+special_case:
+ addit,= 0,arg1,r0 ; trap on div by zero
+ sub,>>= arg0,arg1,rmndr
+ copy arg0,rmndr
+ bv,n 0(r31)
+ nop
+ .exit
+ .procend
+ .end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+; Use bv 0(r31) and bv,n 0(r31) instead.
+; #define return bv 0(%mrp)
+; #define return_n bv,n 0(%mrp)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .subspa $MILLICODE$
+ .align 16
+$$mulI:
+
+ .proc
+ .callinfo millicode
+ .entry
+ .export $$mulI, millicode
+ combt,<<= %r25,%r26,l4 ; swap args if unsigned %r25>%r26
+ copy 0,%r29 ; zero out the result
+ xor %r26,%r25,%r26 ; swap %r26 & %r25 using the
+ xor %r26,%r25,%r25 ; old xor trick
+ xor %r26,%r25,%r26
+l4: combt,<= 0,%r26,l3 ; if %r26>=0 then proceed like unsigned
+
+ zdep %r25,30,8,%r1 ; %r1 = (%r25&0xff)<<1 *********
+ sub,> 0,%r25,%r1 ; otherwise negate both and
+ combt,<=,n %r26,%r1,l2 ; swap back if |%r26|<|%r25|
+ sub 0,%r26,%r25
+ movb,tr,n %r1,%r26,l2 ; 10th inst.
+
+l0: add %r29,%r1,%r29 ; add in this partial product
+
+l1: zdep %r26,23,24,%r26 ; %r26 <<= 8 ******************
+
+l2: zdep %r25,30,8,%r1 ; %r1 = (%r25&0xff)<<1 *********
+
+l3: blr %r1,0 ; case on these 8 bits ******
+
+ extru %r25,23,24,%r25 ; %r25 >>= 8 ******************
+
+;16 insts before this.
+; %r26 <<= 8 **************************
+x0: comb,<> %r25,0,l2 ! zdep %r26,23,24,%r26 ! bv,n 0(r31) ! nop
+
+x1: comb,<> %r25,0,l1 ! add %r29,%r26,%r29 ! bv,n 0(r31) ! nop
+
+x2: comb,<> %r25,0,l1 ! sh1add %r26,%r29,%r29 ! bv,n 0(r31) ! nop
+
+x3: comb,<> %r25,0,l0 ! sh1add %r26,%r26,%r1 ! bv 0(r31) ! add %r29,%r1,%r29
+
+x4: comb,<> %r25,0,l1 ! sh2add %r26,%r29,%r29 ! bv,n 0(r31) ! nop
+
+x5: comb,<> %r25,0,l0 ! sh2add %r26,%r26,%r1 ! bv 0(r31) ! add %r29,%r1,%r29
+
+x6: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh1add %r1,%r29,%r29 ! bv,n 0(r31)
+
+x7: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r26,%r29,%r29 ! b,n ret_t0
+
+x8: comb,<> %r25,0,l1 ! sh3add %r26,%r29,%r29 ! bv,n 0(r31) ! nop
+
+x9: comb,<> %r25,0,l0 ! sh3add %r26,%r26,%r1 ! bv 0(r31) ! add %r29,%r1,%r29
+
+x10: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh1add %r1,%r29,%r29 ! bv,n 0(r31)
+
+x11: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r26,%r29,%r29 ! b,n ret_t0
+
+x12: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh2add %r1,%r29,%r29 ! bv,n 0(r31)
+
+x13: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r26,%r29,%r29 ! b,n ret_t0
+
+x14: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x15: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh1add %r1,%r1,%r1 ! b,n ret_t0
+
+x16: zdep %r26,27,28,%r1 ! comb,<> %r25,0,l1 ! add %r29,%r1,%r29 ! bv,n 0(r31)
+
+x17: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r26,%r1,%r1 ! b,n ret_t0
+
+x18: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh1add %r1,%r29,%r29 ! bv,n 0(r31)
+
+x19: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh1add %r1,%r26,%r1 ! b,n ret_t0
+
+x20: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh2add %r1,%r29,%r29 ! bv,n 0(r31)
+
+x21: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r26,%r1 ! b,n ret_t0
+
+x22: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x23: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
+
+x24: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh3add %r1,%r29,%r29 ! bv,n 0(r31)
+
+x25: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r1,%r1 ! b,n ret_t0
+
+x26: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x27: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r1,%r1,%r1 ! b,n ret_t0
+
+x28: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x29: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
+
+x30: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x31: zdep %r26,26,27,%r1 ! comb,<> %r25,0,l0 ! sub %r1,%r26,%r1 ! b,n ret_t0
+
+x32: zdep %r26,26,27,%r1 ! comb,<> %r25,0,l1 ! add %r29,%r1,%r29 ! bv,n 0(r31)
+
+x33: sh3add %r26,0,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r26,%r1 ! b,n ret_t0
+
+x34: zdep %r26,27,28,%r1 ! add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x35: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh3add %r26,%r1,%r1
+
+x36: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh2add %r1,%r29,%r29 ! bv,n 0(r31)
+
+x37: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r26,%r1 ! b,n ret_t0
+
+x38: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x39: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
+
+x40: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh3add %r1,%r29,%r29 ! bv,n 0(r31)
+
+x41: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r1,%r26,%r1 ! b,n ret_t0
+
+x42: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x43: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
+
+x44: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x45: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r1,%r1 ! b,n ret_t0
+
+x46: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! add %r1,%r26,%r1
+
+x47: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh1add %r26,%r1,%r1
+
+x48: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! zdep %r1,27,28,%r1 ! b,n ret_t0
+
+x49: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r26,%r1,%r1
+
+x50: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x51: sh3add %r26,%r26,%r1 ! sh3add %r26,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
+
+x52: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x53: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
+
+x54: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x55: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
+
+x56: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
+
+x57: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
+
+x58: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
+
+x59: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t02a0 ! sh1add %r1,%r1,%r1
+
+x60: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x61: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
+
+x62: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x63: zdep %r26,25,26,%r1 ! comb,<> %r25,0,l0 ! sub %r1,%r26,%r1 ! b,n ret_t0
+
+x64: zdep %r26,25,26,%r1 ! comb,<> %r25,0,l1 ! add %r29,%r1,%r29 ! bv,n 0(r31)
+
+x65: sh3add %r26,0,%r1 ! comb,<> %r25,0,l0 ! sh3add %r1,%r26,%r1 ! b,n ret_t0
+
+x66: zdep %r26,26,27,%r1 ! add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x67: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
+
+x68: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x69: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
+
+x70: zdep %r26,25,26,%r1 ! sh2add %r26,%r1,%r1 ! b e_t0 ! sh1add %r26,%r1,%r1
+
+x71: sh3add %r26,%r26,%r1 ! sh3add %r1,0,%r1 ! b e_t0 ! sub %r1,%r26,%r1
+
+x72: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh3add %r1,%r29,%r29 ! bv,n 0(r31)
+
+x73: sh3add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_shift ! add %r29,%r1,%r29
+
+x74: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x75: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
+
+x76: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x77: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
+
+x78: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
+
+x79: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sub %r1,%r26,%r1
+
+x80: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! add %r29,%r1,%r29
+
+x81: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_shift ! add %r29,%r1,%r29
+
+x82: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x83: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
+
+x84: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x85: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
+
+x86: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
+
+x87: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_t02a0 ! sh2add %r26,%r1,%r1
+
+x88: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
+
+x89: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
+
+x90: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x91: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
+
+x92: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
+
+x93: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
+
+x94: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sh1add %r26,%r1,%r1
+
+x95: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
+
+x96: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x97: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
+
+x98: zdep %r26,26,27,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh1add %r26,%r1,%r1
+
+x99: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
+
+x100: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x101: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
+
+x102: zdep %r26,26,27,%r1 ! sh1add %r26,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
+
+x103: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t02a0 ! sh2add %r1,%r26,%r1
+
+x104: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
+
+x105: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
+
+x106: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
+
+x107: sh3add %r26,%r26,%r1 ! sh2add %r26,%r1,%r1 ! b e_t02a0 ! sh3add %r1,%r26,%r1
+
+x108: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x109: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
+
+x110: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
+
+x111: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
+
+x112: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! zdep %r1,27,28,%r1
+
+x113: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t02a0 ! sh1add %r1,%r1,%r1
+
+x114: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r1,%r1
+
+x115: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r1,%r1
+
+x116: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh2add %r1,%r26,%r1
+
+x117: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r1,%r1
+
+x118: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0a0 ! sh3add %r1,%r1,%r1
+
+x119: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t02a0 ! sh3add %r1,%r1,%r1
+
+x120: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
+
+x121: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
+
+x122: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
+
+x123: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
+
+x124: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x125: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
+
+x126: zdep %r26,25,26,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x127: zdep %r26,24,25,%r1 ! comb,<> %r25,0,l0 ! sub %r1,%r26,%r1 ! b,n ret_t0
+
+x128: zdep %r26,24,25,%r1 ! comb,<> %r25,0,l1 ! add %r29,%r1,%r29 ! bv,n 0(r31)
+
+x129: zdep %r26,24,25,%r1 ! comb,<> %r25,0,l0 ! add %r1,%r26,%r1 ! b,n ret_t0
+
+x130: zdep %r26,25,26,%r1 ! add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x131: sh3add %r26,0,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
+
+x132: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x133: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
+
+x134: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
+
+x135: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
+
+x136: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
+
+x137: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
+
+x138: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
+
+x139: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0a0 ! sh2add %r1,%r26,%r1
+
+x140: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh2add %r1,%r1,%r1
+
+x141: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0a0 ! sh1add %r1,%r26,%r1
+
+x142: sh3add %r26,%r26,%r1 ! sh3add %r1,0,%r1 ! b e_2t0 ! sub %r1,%r26,%r1
+
+x143: zdep %r26,27,28,%r1 ! sh3add %r1,%r1,%r1 ! b e_t0 ! sub %r1,%r26,%r1
+
+x144: sh3add %r26,%r26,%r1 ! sh3add %r1,0,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x145: sh3add %r26,%r26,%r1 ! sh3add %r1,0,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
+
+x146: sh3add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x147: sh3add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
+
+x148: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x149: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
+
+x150: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
+
+x151: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r26,%r1
+
+x152: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
+
+x153: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
+
+x154: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
+
+x155: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
+
+x156: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
+
+x157: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_t02a0 ! sh2add %r1,%r1,%r1
+
+x158: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sub %r1,%r26,%r1
+
+x159: zdep %r26,26,27,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sub %r1,%r26,%r1
+
+x160: sh2add %r26,%r26,%r1 ! sh2add %r1,0,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
+
+x161: sh3add %r26,0,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
+
+x162: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x163: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
+
+x164: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x165: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
+
+x166: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
+
+x167: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r26,%r1
+
+x168: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
+
+x169: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
+
+x170: zdep %r26,26,27,%r1 ! sh1add %r26,%r1,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
+
+x171: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r1,%r1
+
+x172: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
+
+x173: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t02a0 ! sh3add %r1,%r1,%r1
+
+x174: zdep %r26,26,27,%r1 ! sh1add %r26,%r1,%r1 ! b e_t04a0 ! sh2add %r1,%r1,%r1
+
+x175: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_5t0 ! sh1add %r1,%r26,%r1
+
+x176: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_8t0 ! add %r1,%r26,%r1
+
+x177: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_8t0a0 ! add %r1,%r26,%r1
+
+x178: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh3add %r1,%r26,%r1
+
+x179: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0a0 ! sh3add %r1,%r26,%r1
+
+x180: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x181: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
+
+x182: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
+
+x183: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0a0 ! sh1add %r1,%r26,%r1
+
+x184: sh2add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_4t0 ! add %r1,%r26,%r1
+
+x185: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
+
+x186: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r1,%r1
+
+x187: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t02a0 ! sh2add %r1,%r1,%r1
+
+x188: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_4t0 ! sh1add %r26,%r1,%r1
+
+x189: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r1,%r1
+
+x190: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r1,%r1
+
+x191: zdep %r26,25,26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sub %r1,%r26,%r1
+
+x192: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
+
+x193: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
+
+x194: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
+
+x195: sh3add %r26,0,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
+
+x196: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
+
+x197: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_4t0a0 ! sh1add %r1,%r26,%r1
+
+x198: zdep %r26,25,26,%r1 ! sh1add %r26,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
+
+x199: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r1,%r1
+
+x200: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
+
+x201: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
+
+x202: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
+
+x203: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0a0 ! sh2add %r1,%r26,%r1
+
+x204: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r1,%r1
+
+x205: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
+
+x206: zdep %r26,25,26,%r1 ! sh2add %r26,%r1,%r1 ! b e_t02a0 ! sh1add %r1,%r1,%r1
+
+x207: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_3t0 ! sh2add %r1,%r26,%r1
+
+x208: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_8t0 ! add %r1,%r26,%r1
+
+x209: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_8t0a0 ! add %r1,%r26,%r1
+
+x210: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r1,%r1
+
+x211: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh2add %r1,%r1,%r1
+
+x212: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_4t0 ! sh2add %r1,%r26,%r1
+
+x213: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_4t0a0 ! sh2add %r1,%r26,%r1
+
+x214: sh3add %r26,%r26,%r1 ! sh2add %r26,%r1,%r1 ! b e2t04a0 ! sh3add %r1,%r26,%r1
+
+x215: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_5t0 ! sh1add %r1,%r26,%r1
+
+x216: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
+
+x217: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
+
+x218: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
+
+x219: sh3add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
+
+x220: sh1add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
+
+x221: sh1add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_4t0a0 ! sh1add %r1,%r26,%r1
+
+x222: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r1,%r1
+
+x223: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r1,%r1
+
+x224: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_8t0 ! add %r1,%r26,%r1
+
+x225: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
+
+x226: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t02a0 ! zdep %r1,26,27,%r1
+
+x227: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t02a0 ! sh2add %r1,%r1,%r1
+
+x228: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r1,%r1
+
+x229: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0a0 ! sh1add %r1,%r1,%r1
+
+x230: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_5t0 ! add %r1,%r26,%r1
+
+x231: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_3t0 ! sh2add %r1,%r26,%r1
+
+x232: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_8t0 ! sh2add %r1,%r26,%r1
+
+x233: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_8t0a0 ! sh2add %r1,%r26,%r1
+
+x234: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh3add %r1,%r1,%r1
+
+x235: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh3add %r1,%r1,%r1
+
+x236: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e4t08a0 ! sh1add %r1,%r1,%r1
+
+x237: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_3t0 ! sub %r1,%r26,%r1
+
+x238: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e2t04a0 ! sh3add %r1,%r1,%r1
+
+x239: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0ma0 ! sh1add %r1,%r1,%r1
+
+x240: sh3add %r26,%r26,%r1 ! add %r1,%r26,%r1 ! b e_8t0 ! sh1add %r1,%r1,%r1
+
+x241: sh3add %r26,%r26,%r1 ! add %r1,%r26,%r1 ! b e_8t0a0 ! sh1add %r1,%r1,%r1
+
+x242: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh3add %r1,%r26,%r1
+
+x243: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
+
+x244: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_4t0 ! sh2add %r1,%r26,%r1
+
+x245: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_5t0 ! sh1add %r1,%r26,%r1
+
+x246: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r1,%r1
+
+x247: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r1,%r1
+
+x248: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
+
+x249: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
+
+x250: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r1,%r1
+
+x251: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0a0 ! sh2add %r1,%r1,%r1
+
+x252: zdep %r26,25,26,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
+
+x253: zdep %r26,25,26,%r1 ! sub %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
+
+x254: zdep %r26,24,25,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
+
+x255: zdep %r26,23,24,%r1 ! comb,<> %r25,0,l0 ! sub %r1,%r26,%r1 ! b,n ret_t0
+
+;1040 insts before this.
+ret_t0: bv 0(r31)
+
+e_t0: add %r29,%r1,%r29
+
+e_shift: comb,<> %r25,0,l2
+
+ zdep %r26,23,24,%r26 ; %r26 <<= 8 ***********
+ bv,n 0(r31)
+e_t0ma0: comb,<> %r25,0,l0
+
+ sub %r1,%r26,%r1
+ bv 0(r31)
+ add %r29,%r1,%r29
+e_t0a0: comb,<> %r25,0,l0
+
+ add %r1,%r26,%r1
+ bv 0(r31)
+ add %r29,%r1,%r29
+e_t02a0: comb,<> %r25,0,l0
+
+ sh1add %r26,%r1,%r1
+ bv 0(r31)
+ add %r29,%r1,%r29
+e_t04a0: comb,<> %r25,0,l0
+
+ sh2add %r26,%r1,%r1
+ bv 0(r31)
+ add %r29,%r1,%r29
+e_2t0: comb,<> %r25,0,l1
+
+ sh1add %r1,%r29,%r29
+ bv,n 0(r31)
+e_2t0a0: comb,<> %r25,0,l0
+
+ sh1add %r1,%r26,%r1
+ bv 0(r31)
+ add %r29,%r1,%r29
+e2t04a0: sh1add %r26,%r1,%r1
+
+ comb,<> %r25,0,l1
+ sh1add %r1,%r29,%r29
+ bv,n 0(r31)
+e_3t0: comb,<> %r25,0,l0
+
+ sh1add %r1,%r1,%r1
+ bv 0(r31)
+ add %r29,%r1,%r29
+e_4t0: comb,<> %r25,0,l1
+
+ sh2add %r1,%r29,%r29
+ bv,n 0(r31)
+e_4t0a0: comb,<> %r25,0,l0
+
+ sh2add %r1,%r26,%r1
+ bv 0(r31)
+ add %r29,%r1,%r29
+e4t08a0: sh1add %r26,%r1,%r1
+
+ comb,<> %r25,0,l1
+ sh2add %r1,%r29,%r29
+ bv,n 0(r31)
+e_5t0: comb,<> %r25,0,l0
+
+ sh2add %r1,%r1,%r1
+ bv 0(r31)
+ add %r29,%r1,%r29
+e_8t0: comb,<> %r25,0,l1
+
+ sh3add %r1,%r29,%r29
+ bv,n 0(r31)
+e_8t0a0: comb,<> %r25,0,l0
+
+ sh3add %r1,%r26,%r1
+ bv 0(r31)
+ add %r29,%r1,%r29
+
+ .exit
+ .procend
+ .end
+
+ .import $$divI_2,millicode
+ .import $$divI_3,millicode
+ .import $$divI_4,millicode
+ .import $$divI_5,millicode
+ .import $$divI_6,millicode
+ .import $$divI_7,millicode
+ .import $$divI_8,millicode
+ .import $$divI_9,millicode
+ .import $$divI_10,millicode
+ .import $$divI_12,millicode
+ .import $$divI_14,millicode
+ .import $$divI_15,millicode
+ .export $$divI,millicode
+ .export $$divoI,millicode
+$$divoI:
+ .proc
+ .callinfo millicode
+ .entry
+ comib,=,n -1,arg1,negative1 ; when divisor == -1
+$$divI:
+ comib,>>=,n 15,arg1,small_divisor
+ add,>= 0,arg0,retreg ; move dividend, if retreg < 0,
+normal1:
+ sub 0,retreg,retreg ; make it positive
+ sub 0,arg1,temp ; clear carry,
+ ; negate the divisor
+ ds 0,temp,0 ; set V-bit to the comple-
+ ; ment of the divisor sign
+ add retreg,retreg,retreg ; shift msb bit into carry
+ ds r0,arg1,temp ; 1st divide step, if no carry
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 2nd divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 3rd divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 4th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 5th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 6th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 7th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 8th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 9th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 10th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 11th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 12th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 13th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 14th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 15th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 16th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 17th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 18th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 19th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 20th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 21st divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 22nd divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 23rd divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 24th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 25th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 26th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 27th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 28th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 29th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 30th divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 31st divide step
+ addc retreg,retreg,retreg ; shift retreg with/into carry
+ ds temp,arg1,temp ; 32nd divide step,
+ addc retreg,retreg,retreg ; shift last retreg bit into retreg
+ xor,>= arg0,arg1,0 ; get correct sign of quotient
+ sub 0,retreg,retreg ; based on operand signs
+ bv,n 0(r31)
+ nop
+;______________________________________________________________________
+small_divisor:
+ blr,n arg1,r0
+ nop
+; table for divisor == 0,1, ... ,15
+ addit,= 0,arg1,r0 ; trap if divisor == 0
+ nop
+ bv 0(r31) ; divisor == 1
+ copy arg0,retreg
+ b,n $$divI_2 ; divisor == 2
+ nop
+ b,n $$divI_3 ; divisor == 3
+ nop
+ b,n $$divI_4 ; divisor == 4
+ nop
+ b,n $$divI_5 ; divisor == 5
+ nop
+ b,n $$divI_6 ; divisor == 6
+ nop
+ b,n $$divI_7 ; divisor == 7
+ nop
+ b,n $$divI_8 ; divisor == 8
+ nop
+ b,n $$divI_9 ; divisor == 9
+ nop
+ b,n $$divI_10 ; divisor == 10
+ nop
+ b normal1 ; divisor == 11
+ add,>= 0,arg0,retreg
+ b,n $$divI_12 ; divisor == 12
+ nop
+ b normal1 ; divisor == 13
+ add,>= 0,arg0,retreg
+ b,n $$divI_14 ; divisor == 14
+ nop
+ b,n $$divI_15 ; divisor == 15
+ nop
+;______________________________________________________________________
+negative1:
+ sub 0,arg0,retreg ; result is negation of dividend
+ bv 0(r31)
+ addo arg0,arg1,r0 ; trap iff dividend==0x80000000 && divisor==-1
+ .exit
+ .procend
+
+ .subspa $LIT$
+___hp_free_copyright:
+ .export ___hp_free_copyright,data
+ .align 4
+ .string "(c) Copyright 1986 HEWLETT-PACKARD COMPANY\x0aTo anyone who acknowledges that this file is provided \"AS IS\"\x0awithout any express or implied warranty:\x0a permission to use, copy, modify, and distribute this file\x0afor any purpose is hereby granted without fee, provided that\x0athe above copyright notice and this notice appears in all\x0acopies, and that the name of Hewlett-Packard Company not be\x0aused in advertising or publicity pertaining to distribution\x0aof the software without specific, written prior permission.\x0aHewlett-Packard Company makes no representations about the\x0asuitability of this software for any purpose.\x0a\x00"
+ .align 4
+ .end
diff --git a/c/src/lib/libcpu/hppa1.1/runway/Makefile.in b/c/src/lib/libcpu/hppa1.1/runway/Makefile.in
new file mode 100644
index 0000000000..0580bf3046
--- /dev/null
+++ b/c/src/lib/libcpu/hppa1.1/runway/Makefile.in
@@ -0,0 +1,22 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_PIECES = runway
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libcpu/hppa1.1/semaphore/Makefile.in b/c/src/lib/libcpu/hppa1.1/semaphore/Makefile.in
new file mode 100644
index 0000000000..423d53c8de
--- /dev/null
+++ b/c/src/lib/libcpu/hppa1.1/semaphore/Makefile.in
@@ -0,0 +1,52 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/semaphore.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=semaphore
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_PIECES=semaphore
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+# Add your list of files to delete here.
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL) -m 444 $(H_FILES) $(PROJECT_RELEASE)/include
diff --git a/c/src/lib/libcpu/hppa1.1/timer/Makefile.in b/c/src/lib/libcpu/hppa1.1/timer/Makefile.in
new file mode 100644
index 0000000000..03af6fc92a
--- /dev/null
+++ b/c/src/lib/libcpu/hppa1.1/timer/Makefile.in
@@ -0,0 +1,59 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by
+# libbsp/hppa/BSP/wrapup/Makefile
+install: all
diff --git a/c/src/lib/libcpu/mips64orion/Makefile.in b/c/src/lib/libcpu/mips64orion/Makefile.in
new file mode 100644
index 0000000000..ac8c9d81f2
--- /dev/null
+++ b/c/src/lib/libcpu/mips64orion/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=include clock timer
diff --git a/c/src/lib/libcpu/mips64orion/clock/Makefile.in b/c/src/lib/libcpu/mips64orion/clock/Makefile.in
new file mode 100644
index 0000000000..41735e9e07
--- /dev/null
+++ b/c/src/lib/libcpu/mips64orion/clock/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=ckinit
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=clock
+S_FILES=$(S_PIECES:%=%.S)
+S_O_FILES=$(S_FILES:%.S=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libcpu/mips64orion/include/Makefile.in b/c/src/lib/libcpu/mips64orion/include/Makefile.in
new file mode 100644
index 0000000000..5c369d39f7
--- /dev/null
+++ b/c/src/lib/libcpu/mips64orion/include/Makefile.in
@@ -0,0 +1,20 @@
+#
+# $Id$
+#
+# Install any include files needed by libcpu.
+# Mainly this just means bsp.h which would normally be installed
+# after libcpu is built.
+# This is a bit of a hack.
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+all: FORCEIT
+ cd ../../../libbsp/$(RTEMS_CPU)/$(RTEMS_BSP)/include; $(MAKE) all
+
+
diff --git a/c/src/lib/libcpu/mips64orion/timer/Makefile.in b/c/src/lib/libcpu/mips64orion/timer/Makefile.in
new file mode 100644
index 0000000000..e5a4218f1f
--- /dev/null
+++ b/c/src/lib/libcpu/mips64orion/timer/Makefile.in
@@ -0,0 +1,60 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# NOTE: timerisr is normally an assembly file!!!
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=gettime
+S_FILES=$(S_PIECES:%=%.S)
+S_O_FILES=$(S_FILES:%.S=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libcpu/powerpc/Makefile.in b/c/src/lib/libcpu/powerpc/Makefile.in
new file mode 100644
index 0000000000..2dda77e7a4
--- /dev/null
+++ b/c/src/lib/libcpu/powerpc/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=ppc403
diff --git a/c/src/lib/libcpu/powerpc/ppc403/Makefile.in b/c/src/lib/libcpu/powerpc/ppc403/Makefile.in
new file mode 100644
index 0000000000..f7dab552c0
--- /dev/null
+++ b/c/src/lib/libcpu/powerpc/ppc403/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=include console clock timer vectors
diff --git a/c/src/lib/libcpu/powerpc/ppc403/clock/Makefile.in b/c/src/lib/libcpu/powerpc/ppc403/clock/Makefile.in
new file mode 100644
index 0000000000..20bef5121e
--- /dev/null
+++ b/c/src/lib/libcpu/powerpc/ppc403/clock/Makefile.in
@@ -0,0 +1,59 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/clock.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=clock
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by
+# libbsp/hppa/BSP/wrapup/Makefile
+install: all
diff --git a/c/src/lib/libcpu/powerpc/ppc403/console/Makefile.in b/c/src/lib/libcpu/powerpc/ppc403/console/Makefile.in
new file mode 100644
index 0000000000..58d2734659
--- /dev/null
+++ b/c/src/lib/libcpu/powerpc/ppc403/console/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/console.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=console
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libcpu/powerpc/ppc403/include/Makefile.in b/c/src/lib/libcpu/powerpc/ppc403/include/Makefile.in
new file mode 100644
index 0000000000..373231afc8
--- /dev/null
+++ b/c/src/lib/libcpu/powerpc/ppc403/include/Makefile.in
@@ -0,0 +1,20 @@
+#
+# $Id$
+#
+# Install any include files needed by libcpu.
+# Mainly this just means bsp.h which would normally be installed
+# after libcpu is built.
+# This is a bit of a hack.
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+all: FORCEIT
+ cd ../../../../libbsp/$(RTEMS_CPU)/$(RTEMS_BSP)/include; $(MAKE) all
+
+
diff --git a/c/src/lib/libcpu/powerpc/ppc403/timer/Makefile.in b/c/src/lib/libcpu/powerpc/ppc403/timer/Makefile.in
new file mode 100644
index 0000000000..03af6fc92a
--- /dev/null
+++ b/c/src/lib/libcpu/powerpc/ppc403/timer/Makefile.in
@@ -0,0 +1,59 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/timer.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=timer
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by
+# libbsp/hppa/BSP/wrapup/Makefile
+install: all
diff --git a/c/src/lib/libcpu/powerpc/ppc403/vectors/Makefile.in b/c/src/lib/libcpu/powerpc/ppc403/vectors/Makefile.in
new file mode 100644
index 0000000000..8d089d85ec
--- /dev/null
+++ b/c/src/lib/libcpu/powerpc/ppc403/vectors/Makefile.in
@@ -0,0 +1,58 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/vectors.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=vectors align_h
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
diff --git a/c/src/lib/libcpu/sparc/Makefile.in b/c/src/lib/libcpu/sparc/Makefile.in
new file mode 100644
index 0000000000..20d5882104
--- /dev/null
+++ b/c/src/lib/libcpu/sparc/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=reg_win
diff --git a/c/src/lib/libcpu/sparc/reg_win/Makefile.in b/c/src/lib/libcpu/sparc/reg_win/Makefile.in
new file mode 100644
index 0000000000..1af0b25c59
--- /dev/null
+++ b/c/src/lib/libcpu/sparc/reg_win/Makefile.in
@@ -0,0 +1,59 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/reg_win.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=window
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS += $(CFLAGS_OS_V)
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by
+# libbsp/sparc/BSP/wrapup/Makefile
+install: all
diff --git a/c/src/lib/libmisc/Makefile.in b/c/src/lib/libmisc/Makefile.in
new file mode 100644
index 0000000000..3cbde13912
--- /dev/null
+++ b/c/src/lib/libmisc/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=assoc error stackchk monitor wrapup
diff --git a/c/src/lib/libmisc/assoc/Makefile.in b/c/src/lib/libmisc/assoc/Makefile.in
new file mode 100644
index 0000000000..c7189808b5
--- /dev/null
+++ b/c/src/lib/libmisc/assoc/Makefile.in
@@ -0,0 +1,51 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+LIB=${ARCH}/libassoc-tmp.a
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=assoc
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/assoc.h
+
+SRCS=$(C_FILES) $(H_FILES) $(INSTALLED_H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS += -I.
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${LIB}: ${SRCS} ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems
diff --git a/c/src/lib/libmisc/error/Makefile.in b/c/src/lib/libmisc/error/Makefile.in
new file mode 100644
index 0000000000..67b73d713f
--- /dev/null
+++ b/c/src/lib/libmisc/error/Makefile.in
@@ -0,0 +1,51 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+LIB=${ARCH}/liberror-tmp.a
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=error
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/error.h
+
+SRCS=$(C_FILES) $(H_FILES) $(INSTALLED_H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS += -I.
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${LIB}: ${SRCS} ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems
diff --git a/c/src/lib/libmisc/monitor/Makefile.in b/c/src/lib/libmisc/monitor/Makefile.in
new file mode 100644
index 0000000000..0f6600f59c
--- /dev/null
+++ b/c/src/lib/libmisc/monitor/Makefile.in
@@ -0,0 +1,57 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+LIB=${ARCH}/libmonitor-tmp.a
+# C source names, if any, go here -- minus the .c
+C_PIECES=mon-command mon-symbols mon-prmisc mon-monitor mon-object mon-server \
+ mon-task mon-queue mon-driver mon-dname mon-itask \
+ mon-extension mon-manager mon-config mon-mpci
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+INSTALLED_H_FILES=$(srcdir)/monitor.h $(srcdir)/symbols.h
+
+SRCS=README $(C_FILES) $(H_FILES) $(INSTALLED_H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS += -I$(srcdir)
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+.PHONY: preinstall
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${LIB}: ${SRCS} ${OBJS}
+ $(make-library)
+
+all: preinstall ${ARCH} $(SRCS) $(LIB)
+
+preinstall: $(INSTALLED_H_FILES)
+ $(INSTALL) -m 444 ${INSTALLED_H_FILES} ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libmisc/stackchk/Makefile.in b/c/src/lib/libmisc/stackchk/Makefile.in
new file mode 100644
index 0000000000..ebaf092657
--- /dev/null
+++ b/c/src/lib/libmisc/stackchk/Makefile.in
@@ -0,0 +1,52 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+LIB=${ARCH}/libstackchk-tmp.a
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=check
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=internal.h
+INSTALLED_H_FILES=$(srcdir)/stackchk.h
+
+SRCS=$(C_FILES) $(H_FILES) $(INSTALLED_H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${LIB}: ${SRCS} ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL) -m 444 ${INSTALLED_H_FILES} ${PROJECT_RELEASE}/include
diff --git a/c/src/lib/libmisc/wrapup/Makefile.in b/c/src/lib/libmisc/wrapup/Makefile.in
new file mode 100644
index 0000000000..9e089e3186
--- /dev/null
+++ b/c/src/lib/libmisc/wrapup/Makefile.in
@@ -0,0 +1,40 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+LIB=$(ARCH)/libmisc.a
+
+# Using the wildcard on the Purify support makes sure it may not be there
+
+LIBS=../monitor/$(ARCH)/libmonitor-tmp.a \
+ ../error/$(ARCH)/liberror-tmp.a \
+ ../assoc/$(ARCH)/libassoc-tmp.a \
+ ../stackchk/$(ARCH)/libstackchk-tmp.a \
+ $(wildcard ../purify/$(ARCH)/libpurify-tmp.a)
+RELS=
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${LIBS} $(RELS)
+ $(RM) -r $(ARCH)
+ $(MKDIR) $(ARCH)
+ cd $(ARCH); for lib in $(LIBS:%=../%); do \
+ $(AR) -xv $$lib; \
+ done
+ # cd $(ARCH); $(LN) -s $(RELS:%=../%) .
+ $(RM) $@
+ $(AR) ruv $@ $(ARCH)/*
+ $(MKLIB) $@
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/c/src/lib/start/Makefile.in b/c/src/lib/start/Makefile.in
new file mode 100644
index 0000000000..db59fa1142
--- /dev/null
+++ b/c/src/lib/start/Makefile.in
@@ -0,0 +1,13 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+SUB_DIRS=$(wildcard $(RTEMS_CPU))
diff --git a/c/src/lib/start/a29k/Makefile.in b/c/src/lib/start/a29k/Makefile.in
new file mode 100644
index 0000000000..12f1cbfc6d
--- /dev/null
+++ b/c/src/lib/start/a29k/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=crt0 register
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+PGM=${ARCH}/crt0.o ${ARCH}/register.o
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGM} ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/start/i960/Makefile.in b/c/src/lib/start/i960/Makefile.in
new file mode 100644
index 0000000000..ca57ecd097
--- /dev/null
+++ b/c/src/lib/start/i960/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=start
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+PGM=${ARCH}/start.o
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGM} ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/start/m68k/Makefile.in b/c/src/lib/start/m68k/Makefile.in
new file mode 100644
index 0000000000..81f1f8d3dd
--- /dev/null
+++ b/c/src/lib/start/m68k/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGMS=${ARCH}/start.o
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=start
+S_FILES=$(S_PIECES:%=%.s)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGMS} ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/start/mips64orion/Makefile.in b/c/src/lib/start/mips64orion/Makefile.in
new file mode 100644
index 0000000000..67478f0a83
--- /dev/null
+++ b/c/src/lib/start/mips64orion/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES=idt_csu
+S_FILES=$(S_PIECES:%=%.S)
+S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
+OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+PGM=${ARCH}/idt_csu.o
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
+ $(INSTALL_VARIANT) -m 555 ${PGM} ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/wrapup/Makefile.in b/c/src/lib/wrapup/Makefile.in
new file mode 100644
index 0000000000..0316d5c56b
--- /dev/null
+++ b/c/src/lib/wrapup/Makefile.in
@@ -0,0 +1,34 @@
+#
+# $Id$
+#
+# build and install "glommed" librtemsall.a
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+LIB=$(PROJECT_HOME)/lib/librtemsall.a
+
+SRCS=$(wildcard $(PROJECT_HOME)/lib/libbsp$(LIB_VARIANT).a) \
+ $(PROJECT_HOME)/lib/librtems$(LIB_VARIANT).a \
+ $(wildcard $(PROJECT_HOME)/lib/libposix$(LIB_VARIANT).a) \
+ $(PROJECT_HOME)/lib/libcsupport$(LIB_VARIANT).a \
+ $(wildcard $(PROJECT_HOME)/lib/rtems-ctor$(LIB_VARIANT).o) \
+ $(wildcard $(PROJECT_HOME)/lib/libno-ctor$(LIB_VARIANT).a)
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(ARCH) $(LIB)
+
+$(LIB): $(SRCS)
+ $(PROJECT_RELEASE)/build-tools/rtems-glom \
+ -d $(PROJECT_HOME)/lib -v -V "$(LIB_VARIANT)" -a $(AR)
+
+install: all
+
diff --git a/c/src/libmisc/assoc/Makefile.in b/c/src/libmisc/assoc/Makefile.in
new file mode 100644
index 0000000000..c7189808b5
--- /dev/null
+++ b/c/src/libmisc/assoc/Makefile.in
@@ -0,0 +1,51 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+LIB=${ARCH}/libassoc-tmp.a
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=assoc
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=$(srcdir)/assoc.h
+
+SRCS=$(C_FILES) $(H_FILES) $(INSTALLED_H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS += -I.
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${LIB}: ${SRCS} ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL) -m 444 ${H_FILES} ${PROJECT_R