Makefile.ALL
2 KB
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
#!gmake
ifndef SIMTOOLS
SIMTOOLS = ../../..
endif
include $(SIMTOOLS)/makedefs
TARGET = gammalib.a
VPATH = ..
#################################################################
# INCLUDE DIRECTORIES
#################################################################
ID1 = -I$(SIMTOOLS)/common/misc -I$(SIMTOOLS)/common/tcl -I$(SIMTOOLS)/common/stats
ID2 = -I$(SIMTOOLS)/cpus-alpha/gamma
ID3 = -I$(SIMTOOLS)/cpus-alpha/alpha-shared
ID4 = -I$(SIMTOOLS)/caches -I$(SIMTOOLS)/caches/2Level
INCS = $(ID1) $(ID2) $(ID3) $(ID4)
ifdef EXTERNAL_TRACE
INCS += -I$(EXTERNAL_TRACE_DIR)
endif
#################################################################
# DEFINES
#################################################################
ifdef SOLO
DEF1 = -DSOLO
else
DEF1 = -DSIMOS
endif
DEFS = $(DEF1) $(GLOBAL_DEFS)
#################################################################
# C and ASM FLAGS
#################################################################
CFLAGS = $(GLOBAL_CFLAGS)
CC_OPTS = $(CFLAGS) $(INCS) $(DEFS)
#################################################################
# TARGETS
#################################################################
C_TARGETS = gamma.o gamma_asm.o gamma_init.o cpu_interface.o stats.o epsilon.o kappa.o
TARGETS = $(C_TARGETS)
.PHONY: warn deps
default: warn
ifdef SOLO
@$(MAKE) -f ../Makefile.ALL SOLO=1 deps
@$(MAKE) -f ../Makefile.ALL SOLO=1 INCLUDE_DEPS=1 $(TARGET)
else
@$(MAKE) -f ../Makefile.ALL SIMOS=1 deps
@$(MAKE) -f ../Makefile.ALL SIMOS=1 INCLUDE_DEPS=1 $(TARGET)
endif
$(TARGET): $(TARGETS)
@echo "-> Updating library $(TARGET)"
$(AR) cru $(TARGET) $(TARGETS)
warn:
@echo ""
@echo "Making gamma"
@echo "************"
@echo " DEFS : `$(FORMAT) $(DEFS)`"
@echo " CFLAGS : `$(FORMAT) $(CFLAGS)`"
@echo " INCS: `$(FORMAT) $(INCS)`"
@echo ""
$(C_TARGETS): %.o: %.c
@echo "Compiling $(<F)"
$(CC) $(CC_OPTS) -c $<
deps: ${TARGETS:.o=.d}
%.d: %.c
@$(CC) -M $(CC_OPTS) $< > $@
ifdef INCLUDE_DEPS
include ${TARGETS:.o=.d}
endif