Makefile.ALL
2.42 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
92
93
94
95
96
97
98
99
100
101
102
#!gnumake
ifndef SIMTOOLS
SIMTOOLS = ../../..
endif
include $(SIMTOOLS)/makedefs
TARGET = solo-aint
VPATH = ..
#################################################################
# INCLUDE DIRECTORIES
#################################################################
ID1 = -I$(SIMTOOLS)/common/misc
ID2 = -I$(SIMTOOLS)/cpus-alpha/gamma
ID3 = -I$(SIMTOOLS)/cpus-alpha/alpha-shared
ID4 = -I$(SIMTOOLS)/cpus-alpha/solo-aint
INCS = $(ID1) $(ID2) $(ID3) $(ID4)
LIBS = $(SIMTOOLS)/cpus-alpha/gamma/SOLO-AINT/gammalib.a
LIBS += $(SIMTOOLS)/common/tcl/SOLO-AINT/tcl.a
LIBS += $(SIMTOOLS)/common/symbols/SOLO-AINT/symbols.a
LIBS += $(SIMTOOLS)/common/misc/SOLO-AINT/misc.a
LIBS += $(SIMTOOLS)/common/stats/SOLO-AINT/stats.a
LIBS += $(SIMOS_DIR)/build-files/lib/alpha-shared/libtcl.a
#################################################################
# 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 = main.o mmu.o gamma_aint.o \
aint_init.o subst.o tlb.o memory.o ipc.o symtab.o exec.o queue.o
TARGETS = $(C_TARGETS)
##
## common-stats are in two different libraries.
##
LDFLAGS = -v -u List_Insert -u List_Remove -u List_Init
.PHONY: warn deps
default: warn
ifdef SIMOS
@$(MAKE) -f ../Makefile.ALL SIMOS=1 deps
@$(MAKE) -f ../Makefile.ALL SIMOS=1 INCLUDE_DEPS=1 $(TARGET)
else
@$(MAKE) -f ../Makefile.ALL SOLO=1 deps
@$(MAKE) -f ../Makefile.ALL SOLO=1 INCLUDE_DEPS=1 $(TARGET)
endif
$(TARGET): $(TARGETS) $(LIBS)
@echo "Linking solo-aint"
cc -o solo-aint $(TARGETS) $(LDFLAGS) $(LIBS) -lmld -lm -lots
warn:
@echo ""
@echo "Making solo-aint"
@echo "************"
@echo " DEFS : `$(FORMAT) $(DEFS)`"
@echo " CFLAGS : `$(FORMAT) $(CFLAGS)`"
@echo " INCS: `$(FORMAT) $(INCS)`"
@echo " LDFLAGS: `$(FORMAT) $(LDFLAGS)`"
@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