summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/mips/shared/Makefile.am
blob: 55b3e56aa8eb3e1ecc75ef3cd566563a0781c74a (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
##
## $Id$
##

EXTRA_DIST =
CLEANDIRS =
noinst_DATA =

include $(top_srcdir)/../../../automake/compile.am
include $(top_srcdir)/../../../automake/lib.am

## cache
include_libcpudir = $(includedir)/libcpu

noinst_HEADERS = cache/cache_.h
include_libcpu_HEADERS = ../../shared/include/cache.h

cache_C_FILES = cache/cache.c
common_C_FILES = ../../shared/src/cache_aligned_malloc.c
common_C_FILES += ../../shared/src/cache_manager.c

cache_rel_OBJECTS = $(cache_C_FILES:cache/%.c=cache/$(ARCH)/%.$(OBJEXT))
cache_rel_OBJECTS += \
    $(common_C_FILES:../../shared/src/%.c=cache/$(ARCH)/%.$(OBJEXT))

AM_CPPFLAGS += -I$(srcdir)/cache

cache/$(ARCH)/$(dirstamp):
	@$(mkdir_p) cache/$(ARCH)
	@: > cache/$(ARCH)/$(dirstamp)
cache/$(ARCH)/%.$(OBJEXT): cache/%.c cache/$(ARCH)/$(dirstamp)
	${COMPILE} -o $@ -c $<
cache/$(ARCH)/%.$(OBJEXT): ../../shared/src/%.c cache/$(ARCH)/$(dirstamp)
	${COMPILE} -o $@ -c $<
cache/$(ARCH)/cache.rel: $(cache_rel_OBJECTS)
	$(make-rel)
CLEANDIRS += cache/o-optimize cache/o-debug
noinst_DATA += cache/$(ARCH)/cache.rel

## interrupts

interrupts_C_FILES = interrupts/installisrentries.c \
    interrupts/vectorexceptions.c
interrupts_S_FILES = interrupts/isr_entries.S

interrupts_rel_OBJECTS = \
    $(interrupts_C_FILES:interrupts/%.c=interrupts/$(ARCH)/%.$(OBJEXT)) \
    $(interrupts_S_FILES:interrupts/%.S=interrupts/$(ARCH)/%.$(OBJEXT))

if tx39
EXTRA_FLAGS = -DTX39
endif

if mongoosev
EXTRA_FLAGS = -DMONGOOSEV
endif

AM_CPPFLAGS += $(EXTRA_FLAGS)

interrupts/$(ARCH)/$(dirstamp):
	@$(mkdir_p) interrupts/$(ARCH)
	@: > interrupts/$(ARCH)/$(dirstamp)
interrupts/$(ARCH)/%.$(OBJEXT): interrupts/%.c interrupts/$(ARCH)/$(dirstamp)
	${COMPILE} -o $@ -c $<
interrupts/$(ARCH)/%.$(OBJEXT): interrupts/%.S interrupts/$(ARCH)/$(dirstamp)
	${CCASCOMPILE} -o $@ -c $<
interrupts/$(ARCH)/interrupts.rel: $(interrupts_rel_OBJECTS)
	$(make-rel)
CLEANDIRS += interrupts/o-optimize interrupts/o-debug
noinst_DATA += interrupts/$(ARCH)/interrupts.rel

## --

PREINSTALL_FILES =

$(PROJECT_INCLUDE)/libcpu/$(dirstamp):
	@$(mkdir_p) $(PROJECT_INCLUDE)/libcpu
	@: > $(PROJECT_INCLUDE)/libcpu/$(dirstamp)
PREINSTALL_FILES += $(PROJECT_INCLUDE)/libcpu/$(dirstamp)

$(PROJECT_INCLUDE)/libcpu/cache.h: ../../shared/include/cache.h $(PROJECT_INCLUDE)/libcpu/$(dirstamp)
	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/libcpu/cache.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/libcpu/cache.h

CLEANFILES = $(PREINSTALL_FILES)

include $(top_srcdir)/../../../automake/local.am