summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score/cpu/unix/Makefile.in
blob: 244c787974aefc4fde59b9ac3d805b62b0022090 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#
#  $Id$
#

@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @RTEMS_ROOT@
PROJECT_ROOT = @PROJECT_ROOT@
RTEMS_CUSTOM = $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg

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 $(RTEMS_ROOT)/make/leaf.cfg

#
# (OPTIONAL) Add local stuff here using +=
#

DEFINES  +=
CPPFLAGS += 
CFLAGS   += $(CFLAGS_OS_V) -DCPU_SYNC_IO

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_INCLUDE)/rtems/score/unix.h $(ARCH)/unixsize.h \
            $(PROJECT_INCLUDE)/rtems/score/targopts.h 
	$(INSTALL) -m 444 ${H_FILES} $(PROJECT_INCLUDE)/rtems/score
	$(INSTALL) -m 444 ${ARCH}/unixsize.h $(PROJECT_INCLUDE)/rtems/score

$(PROJECT_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_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