Make.proto
author claus
Sun, 23 Jul 1995 04:24:56 +0200
changeset 98 ccc7f9389a8e
parent 96 ae3b3d960476
child 102 77e4d1119ff2
permissions -rw-r--r--
.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
98
claus
parents: 96
diff changeset
     1
# $Header: /cvs/stx/stx/libcomp/Make.proto,v 1.25 1995-07-23 02:24:56 claus Exp $
43
3ed34342e38d *** empty log message ***
claus
parents: 42
diff changeset
     2
#
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
     3
# -------------- no need to change anything below ----------
7ad01559b262 Initial revision
claus
parents:
diff changeset
     4
22
753cf527f426 *** empty log message ***
claus
parents: 16
diff changeset
     5
TOP=..
753cf527f426 *** empty log message ***
claus
parents: 16
diff changeset
     6
SUBDIRS=
753cf527f426 *** empty log message ***
claus
parents: 16
diff changeset
     7
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
     8
LIBNAME=libcomp
7ad01559b262 Initial revision
claus
parents:
diff changeset
     9
8
894907329a43 *** empty log message ***
claus
parents: 3
diff changeset
    10
STCOPT=$(LIBCOMP_STCOPT)
95
claus
parents: 82
diff changeset
    11
STCLOCALOPT='-Pcompiler-classes-(libcomp)' $(COMMONSYMBOLS)
claus
parents: 82
diff changeset
    12
claus
parents: 82
diff changeset
    13
LOCALDEFS=$(DLDEFS)
8
894907329a43 *** empty log message ***
claus
parents: 3
diff changeset
    14
74
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    15
all::       abbrev.stc $(UNCRITICALOBJS) objs classList.stc $(OBJTARGET) $(LIBCOMP_MORE)
36
a87a78ef7ef1 cleanup
claus
parents: 22
diff changeset
    16
a87a78ef7ef1 cleanup
claus
parents: 22
diff changeset
    17
#
a87a78ef7ef1 cleanup
claus
parents: 22
diff changeset
    18
# although all files are compiled in here,
a87a78ef7ef1 cleanup
claus
parents: 22
diff changeset
    19
# not everything goes into the target library
a87a78ef7ef1 cleanup
claus
parents: 22
diff changeset
    20
# ObjFLoader is optional
a87a78ef7ef1 cleanup
claus
parents: 22
diff changeset
    21
#
a87a78ef7ef1 cleanup
claus
parents: 22
diff changeset
    22
OBJFILES=`ls *.o                                 \
67
a39aadae61ae nice make
claus
parents: 60
diff changeset
    23
	  |  grep -v ObjFLoader.$(O)             \
a39aadae61ae nice make
claus
parents: 60
diff changeset
    24
	  |  grep -v libcompInit.$(O)`
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
    25
74
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    26
#
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    27
# these are uncritical - save some bytes by compiling with optspace
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    28
#
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    29
UNCRITICALOBJS=                                        \
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    30
	     Explainer.$(O)                            \
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    31
	     UndefVar.$(O)                             \
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    32
	     SrcFLoader.$(O)                      
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    33
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    34
OBJS=                                                  \
71
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    35
	      Scanner.$(O)                             \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    36
		Parser.$(O)                            \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    37
		  BCompiler.$(O)                       \
74
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    38
		  Explainer.$(O)                       \
71
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    39
	      Variable.$(O)                            \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    40
	      ParseNode.$(O)                           \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    41
		PrimaryNd.$(O)                         \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    42
		  VarNode.$(O)                         \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    43
		  SelfNode.$(O)                        \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    44
		    SuperNode.$(O)                     \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    45
		  ConstNode.$(O)                       \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    46
		StatNode.$(O)                          \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    47
		  RetNode.$(O)                         \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    48
		  PrimNd.$(O)                          \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    49
		AssignNd.$(O)                          \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    50
		BlockNode.$(O)                         \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    51
		MessageNd.$(O)                         \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    52
		  UnaryNd.$(O)                         \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    53
		  BinaryNd.$(O)                        \
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    54
		  CascadeNd.$(O)                       \
74
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    55
	      UndefVar.$(O)                            \
71
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    56
	      LazyMethod.$(O)                          \
74
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    57
	      SrcFLoader.$(O)                            \
71
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    58
	      ImmArray.$(O)                            \
22
753cf527f426 *** empty log message ***
claus
parents: 16
diff changeset
    59
	      $(EXTRA_LIBCOMP)
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
    60
16
1abb86677ea6 *** empty log message ***
claus
parents: 13
diff changeset
    61
# only needed for NeXT - assembler dumps core with long name ?!?!
1abb86677ea6 *** empty log message ***
claus
parents: 13
diff changeset
    62
#
1abb86677ea6 *** empty log message ***
claus
parents: 13
diff changeset
    63
VarNode.$(O):
82
claus
parents: 81
diff changeset
    64
	    $(STC) -CC="$(CC)" $(STCFLAGS) $(SOMESHORTNAMES) $(CFLAGS) -c $*.st
71
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    65
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    66
#
74
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    67
# these are not time critical
71
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    68
#
74
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    69
$(UNCRITICALOBJS):
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    70
	@$(MAKE) UNCRITICAL NAME=$*.st
71
2aac7fbb5be0 *** empty log message ***
claus
parents: 67
diff changeset
    71
74
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    72
UNCRITICAL:
fee7c3091f71 *** empty log message ***
claus
parents: 72
diff changeset
    73
	$(STC) -CC="$(CC)" $(STCFLAGS) +optspace2 $(CFLAGS) -c $(NAME)
16
1abb86677ea6 *** empty log message ***
claus
parents: 13
diff changeset
    74
36
a87a78ef7ef1 cleanup
claus
parents: 22
diff changeset
    75
#
a87a78ef7ef1 cleanup
claus
parents: 22
diff changeset
    76
# install the extra objects
a87a78ef7ef1 cleanup
claus
parents: 22
diff changeset
    77
#
a87a78ef7ef1 cleanup
claus
parents: 22
diff changeset
    78
qinstall::  $(DESTLIBDIR)
67
a39aadae61ae nice make
claus
parents: 60
diff changeset
    79
	    if [ "$(EXTRA_LIBCOMP)"x != "x" ]; then             \
a39aadae61ae nice make
claus
parents: 60
diff changeset
    80
		$(INSTALL) $(EXTRA_LIBCOMP) $(DESTLIBDIR);      \
36
a87a78ef7ef1 cleanup
claus
parents: 22
diff changeset
    81
	    fi
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
    82
42
10abeeb1ef30 big cleanup
claus
parents: 36
diff changeset
    83
#
10abeeb1ef30 big cleanup
claus
parents: 36
diff changeset
    84
# ObjectFile and ObjectFileLoader are not included in
10abeeb1ef30 big cleanup
claus
parents: 36
diff changeset
    85
# the classLibrary (but as extra objects)
10abeeb1ef30 big cleanup
claus
parents: 36
diff changeset
    86
#
10abeeb1ef30 big cleanup
claus
parents: 36
diff changeset
    87
classList.stc: Make.proto
10abeeb1ef30 big cleanup
claus
parents: 36
diff changeset
    88
	    $(MAKE) genClassList
10abeeb1ef30 big cleanup
claus
parents: 36
diff changeset
    89
	    grep -v ObjectFileLoader < classList.stc > ttt
10abeeb1ef30 big cleanup
claus
parents: 36
diff changeset
    90
	    grep -v ObjectFile       < ttt > classList.stc
10abeeb1ef30 big cleanup
claus
parents: 36
diff changeset
    91
	    rm -f ttt
10abeeb1ef30 big cleanup
claus
parents: 36
diff changeset
    92
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
    93
cleanjunk::
7ad01559b262 Initial revision
claus
parents:
diff changeset
    94
	    -rm -f *.c *.H
7ad01559b262 Initial revision
claus
parents:
diff changeset
    95
7ad01559b262 Initial revision
claus
parents:
diff changeset
    96
clean::
98
claus
parents: 96
diff changeset
    97
	    -mv ObjFloader.o __ObjFLoader.o
claus
parents: 96
diff changeset
    98
	    -rm -f [A-Z]*.o
claus
parents: 96
diff changeset
    99
	    -mv __ObjFLoader.o ObjFloader.o
42
10abeeb1ef30 big cleanup
claus
parents: 36
diff changeset
   100
	    -rm -f *.c *.H abbrev.stc classList.stc
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
   101
7ad01559b262 Initial revision
claus
parents:
diff changeset
   102
clobber::
42
10abeeb1ef30 big cleanup
claus
parents: 36
diff changeset
   103
	    -rm -f *.c *.H abbrev.stc classList.stc
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
   104
7ad01559b262 Initial revision
claus
parents:
diff changeset
   105
tar:
96
claus
parents: 95
diff changeset
   106
	(cd $(TOP); tar cvfh DISTRIB/libcomp.tar \
59
claus
parents: 57
diff changeset
   107
				libcomp/.dir.info \
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
   108
				libcomp/*.st \
42
10abeeb1ef30 big cleanup
claus
parents: 36
diff changeset
   109
				libcomp/Make.proto)
47
f861ad42703e *** empty log message ***
claus
parents: 45
diff changeset
   110
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
   111
#
7ad01559b262 Initial revision
claus
parents:
diff changeset
   112
# next thing I'll build into stc is a makedepend feature for this ...
7ad01559b262 Initial revision
claus
parents:
diff changeset
   113
#
7ad01559b262 Initial revision
claus
parents:
diff changeset
   114
22
753cf527f426 *** empty log message ***
claus
parents: 16
diff changeset
   115
I = $(INCLUDE)
753cf527f426 *** empty log message ***
claus
parents: 16
diff changeset
   116
52
d80ec10c3321 *** empty log message ***
claus
parents: 47
diff changeset
   117
STCHDR=$(I)/stc.h $(I)/stcIntern.h $(CPUINTERN_H)
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
   118
OBJECT=$(I)/Object.H $(STCHDR)
81
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   119
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
   120
SCANNER=$(I)/Scanner.H $(OBJECT)
7ad01559b262 Initial revision
claus
parents:
diff changeset
   121
PARSER=$(I)/Parser.H $(SCANNER)
7ad01559b262 Initial revision
claus
parents:
diff changeset
   122
PARSENODE=$(I)/ParseNode.H $(OBJECT)
7ad01559b262 Initial revision
claus
parents:
diff changeset
   123
PRIMARYNODE=$(I)/PrimaryNd.H $(PARSENODE)
7ad01559b262 Initial revision
claus
parents:
diff changeset
   124
MESSAGENODE=$(I)/MessageNd.H $(PARSENODE)
7ad01559b262 Initial revision
claus
parents:
diff changeset
   125
81
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   126
ObjFLoader.$(O):   ObjFLoader.st $(OBJECT)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   127
LazyMethod.$(O):   LazyMethod.st $(I)/Method.H $(I)/CompCode.H $(I)/ExecFunc.H $(OBJECT)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   128
UndefVar.$(O):     UndefVar.st $(OBJECT)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   129
Scanner.$(O):      Scanner.st $(OBJECT)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   130
Parser.$(O):       Parser.st $(SCANNER)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   131
BCompiler.$(O):    BCompiler.st $(PARSER)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   132
Variable.$(O):     Variable.st $(OBJECT)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   133
ParseNode.$(O):    ParseNode.st $(OBJECT)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   134
StatNode.$(O):     StatNode.st $(PARSENODE)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   135
AssignNd.$(O):     AssignNd.st $(PARSENODE)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   136
BlockNode.$(O):    BlockNode.st $(PARSENODE)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   137
PrimaryNd.$(O):    PrimaryNd.st $(PARSENODE)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   138
VarNode.$(O):      VarNode.st $(PRIMARYNODE)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   139
SelfNode.$(O):     SelfNode.st $(PRIMARYNODE)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   140
ConstNode.$(O):    ConstNode.st $(PRIMARYNODE)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   141
VariableNode.$(O): VariableNode.st $(PRIMARYNODE)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   142
SuperNode.$(O):    SuperNode.st $(I)/SelfNode.H $(PRIMARYNODE)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   143
MessageNd.$(O):    MessageNd.st $(PARSENODE)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   144
CascadeNd.$(O):    CascadeNd.st $(MESSAGENODE)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   145
BinaryNd.$(O):     BinaryNd.st $(MESSAGENODE)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   146
UnaryNd.$(O):      UnaryNd.st $(MESSAGENODE)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   147
PrimNd.$(O):       PrimNd.st $(PARSENODE) $(I)/StatNode.H
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   148
RetNode.$(O):      RetNode.st $(PARSENODE) $(I)/StatNode.H
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   149
CompErr.$(O):      CompErr.st $(OBJECT)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   150
ImmArray.$(O):     ImmArray.st $(I)/Array.H $(OBJECT)
0
7ad01559b262 Initial revision
claus
parents:
diff changeset
   151
81
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   152
CMethod.$(O):      CMethod.st $(I)/Method.H $(OBJECT)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   153
MCompiler.$(O):    MCompiler.st $(PARSER)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   154
Explainer.$(O):    Explainer.st $(PARSER)
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   155
37ebe600119c *** empty log message ***
claus
parents: 74
diff changeset
   156
SrcFLoader.$(O):   SrcFLoader.st $(OBJECT)