This repository has been archived by the owner on Oct 2, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Makefile.in
125 lines (104 loc) · 3.22 KB
/
Makefile.in
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#------------------------------------------------------------------------------
#
# CHARITY MAKEFILE
#
#------------------------------------------------------------------------------
# THE CHARITY SOURCE:
SRCDIR = @srcdir@
INC = $(SRCDIR)/Include
CFLAGS=@CFLAGS@ -NDEBUG
CPPFLAGS=@CPPFLAGS@ -I$(INC)
CC=@CC@
LEX=@LEX@
YACC=@YACC@
MAKE=gmake
# THE MODULE DIRECTORIES:
GD = $(SRCDIR)/General
LD = $(SRCDIR)/Lists
PD = $(SRCDIR)/ParseLex
ST = $(SRCDIR)/Symtab
PM = $(SRCDIR)/Pm
TR = $(SRCDIR)/Translate
CP = $(SRCDIR)/Compile
MC = $(SRCDIR)/Machine
TC = $(SRCDIR)/TypeCheck
VA = $(SRCDIR)/Variance
GD_OBJS = $(GD)/main.o $(GD)/commands.o $(GD)/lib.o $(GD)/ioChar.o \
$(GD)/pmem.o
LD_OBJS = $(LD)/list.o
PD_OBJS = $(PD)/lex.yy.o $(PD)/y.tab.o $(PD)/parse.o $(PD)/printParse.o \
$(PD)/listParse.o
ST_OBJS = $(ST)/symtab.o $(ST)/addSymtab.o $(ST)/lookupSymtab.o \
$(ST)/miscSymtab.o $(ST)/codetab.o $(ST)/combPrint.o
PM_OBJS = $(PM)/pm.o $(PM)/pmLib.o $(PM)/pmTransExprs.o \
$(PM)/pmTransPhrases.o
TR_OBJS = $(TR)/ctTranslate.o
CP_OBJS = $(CP)/compile.o $(CP)/decompile.o $(CP)/emit.o
MC_OBJS = $(MC)/machine.o $(MC)/gc.o
TC_OBJS = $(TC)/tc_convert.o $(TC)/tc_list.o $(TC)/tc_main.o \
$(TC)/tc_subst.o $(TC)/tc_unify.o
VA_OBJS = $(VA)/variance.o
# THE OBJECT FILES
OBJ = $(GD_OBJS) $(LD_OBJS) $(PD_OBJS) $(ST_OBJS) $(PM_OBJS) $(TR_OBJS) \
$(CP_OBJS) $(MC_OBJS) $(TC_OBJS) $(VA_OBJS)
C_SRCS = $(OBJ:.o=.c)
# THE TARGETS:
.PHONY: clean distclean maintainer-clean install
all: charity
charity:
cd Compile && $(MAKE) all
cd General && $(MAKE) all
cd Lists && $(MAKE) all
cd Machine && $(MAKE) all
cd ParseLex && $(MAKE) all
cd Pm && $(MAKE) all
cd Symtab && $(MAKE) all
cd Translate && $(MAKE) all
cd TypeCheck && $(MAKE) all
cd Variance && $(MAKE) all
@echo "Linking $@..."
$(CC) -o $@ $(OBJ) $(LFLAGS) @EFENCE@
clean:
cd Compile && $(MAKE) clean
cd General && $(MAKE) clean
cd Lists && $(MAKE) clean
cd Machine && $(MAKE) clean
cd ParseLex && $(MAKE) clean
cd Pm && $(MAKE) clean
cd Symtab && $(MAKE) clean
cd Translate && $(MAKE) clean
cd TypeCheck && $(MAKE) clean
cd Variance && $(MAKE) clean
$(RM) charity
distclean: clean
cd Compile && make distclean
cd General && make distclean
cd Lists && make distclean
cd Machine && make distclean
cd ParseLex && make distclean
cd Pm && make distclean
cd Symtab && make distclean
cd Translate && make distclean
cd TypeCheck && make distclean
cd Variance && make distclean
$(RM) config.cache config.status config.log Makefile
maintainer-clean: distclean
@echo 'This command is intended for maintainers to use; it'
@echo 'deletes files that may need special tools to rebuild.'
$(RM) $(PD)/lex.yy.c $(PD)/y.tab.h $(PD)/y.tab.c
install: charity
$(MV) charity @exec_prefix@/charity/charity
lint:
$(LINT) $(CPPFLAGS) -I$(GD) -I$(LD) -I$(PD) -I$(ST) -I$(PM) \
-I$(TR) -I$(CP) -I$(MC) -I$(TC) -I$(VA) \
`find $(SRCDIR) -name '*.c'`
tags:
$(CTAGS) `find $(SRCDIR) -name '*.[ch]'`
SOURCES:
echo `find $(SRCDIR) -name '*.[ch]'` \
`find $(SRCDIR) -name 'Makefile.in'` \
$(SRCDIR)/configure.in $(SRCDIR)/AUTHORS $(SRCDIR)/BUGS \
$(SRCDIR)/COPYING $(SRCDIR)/ChangeLog $(SRCDIR)/INSTALL \
$(SRCDIR)/NEWS $(SRCDIR)/TODO $(SRCDIR)/README \
$(SRCDIR)/charity.spec \
`find $(SRCDIR) -name '*.ch'` > $@