summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/mrm332
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2017-12-23 18:18:56 +1100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-01-25 08:45:26 +0100
commit2afb22b7e1ebcbe40373ff7e0efae7d207c655a9 (patch)
tree44759efe9374f13200a97e96d91bd9a2b7e5ce2a /c/src/lib/libbsp/m68k/mrm332
parentMAINTAINERS: Add myself to Write After Approval. (diff)
downloadrtems-2afb22b7e1ebcbe40373ff7e0efae7d207c655a9.tar.bz2
Remove make preinstall
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
Diffstat (limited to 'c/src/lib/libbsp/m68k/mrm332')
-rw-r--r--c/src/lib/libbsp/m68k/mrm332/Makefile.am15
-rw-r--r--c/src/lib/libbsp/m68k/mrm332/configure.ac3
-rw-r--r--c/src/lib/libbsp/m68k/mrm332/include/bsp.h90
-rw-r--r--c/src/lib/libbsp/m68k/mrm332/include/mrm332.h71
-rw-r--r--c/src/lib/libbsp/m68k/mrm332/include/tm27.h1
-rw-r--r--c/src/lib/libbsp/m68k/mrm332/preinstall.am67
-rw-r--r--c/src/lib/libbsp/m68k/mrm332/startup/bsp_specs (renamed from c/src/lib/libbsp/m68k/mrm332/bsp_specs)0
7 files changed, 6 insertions, 241 deletions
diff --git a/c/src/lib/libbsp/m68k/mrm332/Makefile.am b/c/src/lib/libbsp/m68k/mrm332/Makefile.am
index 0d06beaeaf..0cd22f2c0d 100644
--- a/c/src/lib/libbsp/m68k/mrm332/Makefile.am
+++ b/c/src/lib/libbsp/m68k/mrm332/Makefile.am
@@ -4,19 +4,10 @@ EXTRA_DIST =
include $(top_srcdir)/../../../../automake/compile.am
include $(top_srcdir)/../../bsp.am
-include_bspdir = $(includedir)/bsp
+dist_project_lib_DATA = startup/bsp_specs
-dist_project_lib_DATA = bsp_specs
-
-include_HEADERS = include/bsp.h
-include_HEADERS += include/tm27.h
-
-nodist_include_HEADERS = include/bspopts.h
-nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
DISTCLEANFILES = include/bspopts.h
-include_HEADERS += include/mrm332.h
-
EXTRA_DIST += times
EXTRA_DIST += start/start.S
@@ -24,7 +15,7 @@ start.$(OBJEXT): start/start.S
$(CPPASCOMPILE) -o $@ -c $<
project_lib_DATA = start.$(OBJEXT)
-dist_project_lib_DATA += startup/linkcmds
+project_lib_DATA += linkcmds
noinst_LIBRARIES = libbsp.a
libbsp_a_SOURCES =
@@ -51,5 +42,5 @@ libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/cache.rel \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel
-include $(srcdir)/preinstall.am
include $(top_srcdir)/../../../../automake/local.am
+include $(srcdir)/../../../../../../bsps/m68k/mrm332/headers.am
diff --git a/c/src/lib/libbsp/m68k/mrm332/configure.ac b/c/src/lib/libbsp/m68k/mrm332/configure.ac
index a00483fcd0..c8fb1c1ac3 100644
--- a/c/src/lib/libbsp/m68k/mrm332/configure.ac
+++ b/c/src/lib/libbsp/m68k/mrm332/configure.ac
@@ -4,6 +4,9 @@ AC_PREREQ([2.69])
AC_INIT([rtems-c-src-lib-libbsp-m68k-mrm332],[_RTEMS_VERSION],[https://devel.rtems.org/newticket])
AC_CONFIG_SRCDIR([make/custom/mrm332.cfg])
RTEMS_TOP(../../../../../..)
+RTEMS_SOURCE_TOP
+RTEMS_BUILD_TOP
+RTEMS_BSP_LINKCMDS
RTEMS_CANONICAL_TARGET_CPU
AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.12.2])
diff --git a/c/src/lib/libbsp/m68k/mrm332/include/bsp.h b/c/src/lib/libbsp/m68k/mrm332/include/bsp.h
deleted file mode 100644
index 6d4f7b8eb2..0000000000
--- a/c/src/lib/libbsp/m68k/mrm332/include/bsp.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* bsp.h
- *
- * This include file contains all mrm board IO definitions.
- */
-
-/*
- * COPYRIGHT (c) 1989-2009.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef LIBBSP_M68K_MRM332_BSP_H
-#define LIBBSP_M68K_MRM332_BSP_H
-
-#include <bspopts.h>
-#include <bsp/default-initial-extension.h>
-
-#include <rtems.h>
-#include <rtems/bspIo.h>
-#include <mrm332.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define CONSOLE_SCI
-
-/* externals */
-
-extern char _etext[];
-extern char _copy_start[];
-extern char _edata[];
-extern char _clear_start[];
-extern char end[];
-extern bool _copy_data_from_rom;
-
-/* constants */
-
-#ifdef __START_C__
-#define STACK_SIZE "#0x800"
-#else
-#define STACK_SIZE 0x800
-#endif
-
-/* macros */
-
-#define RAW_PUTS(str) \
- { register char *ptr = str; \
- while (*ptr) SCI_output_char(*ptr++); \
- }
-
-#define RAW_PUTI(n) { \
- register int i, j; \
- \
- RAW_PUTS("0x"); \
- for (i=28;i>=0;i -= 4) { \
- j = (n>>i) & 0xf; \
- SCI_output_char( (j>9 ? j-10+'a' : j+'0') ); \
- } \
- }
-
-/* miscellaneous stuff assumed to exist */
-
-extern rtems_isr_entry M68Kvec[]; /* vector table address */
-
-extern int stack_size;
-extern int stack_start;
-
-/* functions */
-
-rtems_isr_entry set_vector(
- rtems_isr_entry handler,
- rtems_vector_number vector,
- int type
-);
-
-void Spurious_Initialize(void);
-
-void _UART_flush(void);
-
-void outbyte(char);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/c/src/lib/libbsp/m68k/mrm332/include/mrm332.h b/c/src/lib/libbsp/m68k/mrm332/include/mrm332.h
deleted file mode 100644
index 1b8672752d..0000000000
--- a/c/src/lib/libbsp/m68k/mrm332/include/mrm332.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* mrm332.h
- */
-
-#ifndef _MRM332_H_
-#define _MRM332_H_
-
-/* SIM_MM (SIM Module Mapping) determines the location of the control
- register block. When MM=0, register addresses range fom 0x7ff000 to
- 0x7FFFFF. When MM=1, register addresses range from 0xfff000 to
- 0xffffff. */
-#define SIM_MM 1
-
-/* Interrupt related definitions */
-#define SIM_IARB 15
-#define QSM_IARB 10
-
-#define MRM_PIV 64
-#define ISRL_PIT 4 /* zero disables PIT */
-
-#define EFI_QIVR 66 /* 66=>SCI and 67=>QSPI interrupt */
-#define ISRL_QSPI 0
-
-#define EFI_SPINT 24 /* spurious interrupt */
-#define EFI_INT1 25 /* CTS interrupt */
-#define ISRL_SCI 6
-
-/* System Clock definitions */
-#define XTAL 32768.0 /* crystal frequency in Hz */
-
-/* Specify the CPU frequency. Do not specify a faster clock than your */
-/* CPU is rated for! */
-#if 0
-/* Default MRM clock rate (8.388688 MHz) set by CPU32: */
-#define MRM_W 0 /* system clock parameters */
-#define MRM_X 0
-#define MRM_Y 0x3f
-#endif
-
-#if 0
-/* 16.77722 MHz: */
-#define MRM_W 1 /* system clock parameters */
-#define MRM_X 1
-#define MRM_Y 0x0f
-#endif
-
-#if 1
-/* 25.16582 MHz: */
-#define MRM_W 1 /* system clock parameters */
-#define MRM_X 1
-#define MRM_Y 0x17
-#define SET_EDIV
-#endif
-
-#define SYS_CLOCK (XTAL*4.0*(MRM_Y+1)*(1 << (2*MRM_W+MRM_X)))
-#define SCI_BAUD 19200 /* RS232 Baud Rate */
-
-/* macros/functions */
-
-#ifndef ASM
-
-/*
- * This prototype really should have the noreturn attribute but
- * that causes a warning. Not sure how to fix that.
- */
-/* static void reboot(void) __attribute__ ((noreturn)); */
-static void reboot(void);
-__inline__ static void reboot() {__asm__ ("trap #15; .word 0x0063");}
-
-#endif /* ASM */
-
-#endif /* _MRM_H_ */
diff --git a/c/src/lib/libbsp/m68k/mrm332/include/tm27.h b/c/src/lib/libbsp/m68k/mrm332/include/tm27.h
deleted file mode 100644
index 0dfa7bf628..0000000000
--- a/c/src/lib/libbsp/m68k/mrm332/include/tm27.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <rtems/tm27-default.h>
diff --git a/c/src/lib/libbsp/m68k/mrm332/preinstall.am b/c/src/lib/libbsp/m68k/mrm332/preinstall.am
deleted file mode 100644
index 7bf1c0166a..0000000000
--- a/c/src/lib/libbsp/m68k/mrm332/preinstall.am
+++ /dev/null
@@ -1,67 +0,0 @@
-## Automatically generated by ampolish3 - Do not edit
-
-if AMPOLISH3
-$(srcdir)/preinstall.am: Makefile.am
- $(AMPOLISH3) $(srcdir)/Makefile.am > $(srcdir)/preinstall.am
-endif
-
-PREINSTALL_DIRS =
-DISTCLEANFILES += $(PREINSTALL_DIRS)
-
-all-am: $(PREINSTALL_FILES)
-
-PREINSTALL_FILES =
-CLEANFILES = $(PREINSTALL_FILES)
-
-all-local: $(TMPINSTALL_FILES)
-
-TMPINSTALL_FILES =
-CLEANFILES += $(TMPINSTALL_FILES)
-
-$(PROJECT_LIB)/$(dirstamp):
- @$(MKDIR_P) $(PROJECT_LIB)
- @: > $(PROJECT_LIB)/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp)
-
-$(PROJECT_INCLUDE)/$(dirstamp):
- @$(MKDIR_P) $(PROJECT_INCLUDE)
- @: > $(PROJECT_INCLUDE)/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp)
-
-$(PROJECT_INCLUDE)/bsp/$(dirstamp):
- @$(MKDIR_P) $(PROJECT_INCLUDE)/bsp
- @: > $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-
-$(PROJECT_LIB)/bsp_specs: bsp_specs $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/bsp_specs
-PREINSTALL_FILES += $(PROJECT_LIB)/bsp_specs
-
-$(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h
-
-$(PROJECT_INCLUDE)/tm27.h: include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
-
-$(PROJECT_INCLUDE)/bspopts.h: include/bspopts.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h
-
-$(PROJECT_INCLUDE)/bsp/bootcard.h: ../../shared/include/bootcard.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/bootcard.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.h
-
-$(PROJECT_INCLUDE)/mrm332.h: include/mrm332.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/mrm332.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/mrm332.h
-
-$(PROJECT_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT)
-TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT)
-
-$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
-PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
-
diff --git a/c/src/lib/libbsp/m68k/mrm332/bsp_specs b/c/src/lib/libbsp/m68k/mrm332/startup/bsp_specs
index 87638cc027..87638cc027 100644
--- a/c/src/lib/libbsp/m68k/mrm332/bsp_specs
+++ b/c/src/lib/libbsp/m68k/mrm332/startup/bsp_specs