1#
2# Makefile for DLG 1.33
3# Terence Parr
4# Purdue University, U of MN, Parr Research Corporation
5# 1989-1994
6#
7# Ported to IBM C-Set/2 and Microsoft 6.0 by
8# Ed Harfmann
9# Micro Data Base Systems
10# Lafayette, Indiana
11#
12SET=../support/set
13PCCTS_H=../h
14
15##
16## Uncomment the appropriate section to build
17##
18
19#
20#   OS/2 & DOS 16 bit using MSC 6.0
21#
22#CC=cl
23#ANTLR=..\bin\antlr
24#DLG=..\bin\dlg
25#CFLAGS= -I. -I$(SET) -I$(PCCTS_H) /AL /Za /W3 -DPC -DUSER_ZZSYN
26#OUT_OBJ = -Fo
27#LIBS=/NOD:LLIBCE LLIBCEP
28#OBJ_EXT = obj
29#
30#dlg.exe : dlg_p.obj dlg_a.obj main.obj err.obj set.obj support.obj \
31#        output.obj relabel.obj automata.obj
32#        link @<<
33#$** /NOI
34#$@ /STACK:16384
35#
36#$(LIBS: = +^
37#)
38#$(DEF_FILE) $(LFLAGS) ;
39#<<
40#        bind $@ c:\os2\doscalls.lib
41#        copy *.exe ..\bin
42#
43
44#
45#   Borland C++ for DOS
46#
47#CC=bcc
48#ANTLR=..\bin\antlr
49#DLG=..\bin\dlg
50#CFLAGS= -I. -I$(SET) -I$(PCCTS_H) -ml -ff- -w- -DPC -DUSER_ZZSYN
51#OUT_OBJ = -o
52#LIBS= emu mathl cl
53#OBJ_EXT = obj
54#
55#dlg.exe : dlg_p.obj dlg_a.obj main.obj err.obj set.obj support.obj \
56#        output.obj relabel.obj automata.obj
57#       tlink @&&|
58#C0L $**
59#$@ /Tde /c
60#
61#$(LIBS)
62#$(DEF_FILE) $(LFLAGS) ;
63#|
64#        copy *.exe ..\bin
65#
66
67#
68# C-Set/2 for OS/2
69#
70#CC=icc
71#CFLAGS= -I. -I$(SET) -I$(PCCTS_H) /Sa /W3 /DUSER_ZZSYN
72#OUT_OBJ = -Fo
73#LIBS=
74#ANTLR=..\bin\antlr
75#DLG=..\bin\dlg
76#OBJ_EXT=obj
77#
78#dlg.exe : dlg_p.obj dlg_a.obj main.obj err.obj set.obj support.obj \
79#        output.obj relabel.obj automata.obj
80#        link386 @<<
81#$** /NOI
82#$@ /STACK:32768
83#
84#$(LIBS: = +^
85#)
86#$(DEF_FILE) $(LFLAGS) ;
87#<<
88#        copy *.exe ..\bin
89#
90
91#
92# Borland C++ for OS/2
93#
94#CC=bcc
95#CFLAGS= -I. -I$(SET) -I$(PCCTS_H) -w- -DUSER_ZZSYN
96#OUT_OBJ = -o
97#LIBS= c2 os2
98#
99#ANTLR=..\bin\antlr
100#DLG=..\bin\dlg
101#OBJ_EXT = obj
102#dlg.exe : dlg_p.obj dlg_a.obj main.obj err.obj set.obj support.obj \
103#        output.obj relabel.obj automata.obj
104#        tlink @&&|
105#c02 $** -c
106#dlg.exe
107#
108#C2 os2
109#
110#|
111#        copy *.exe ..\bin
112#
113
114#
115#   UNIX
116#
117BUILD_CC?=cc
118COPT=-O
119ANTLR=${BIN_DIR}/antlr
120DLG=${BIN_DIR}/dlg
121BUILD_CFLAGS= $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN -DZZLEXBUFSIZE=65536
122BUILD_CPPFLAGS=
123OBJ_EXT=o
124OUT_OBJ = -o
125OBJ = dlg_p.o dlg_a.o main.o err.o set.o support.o output.o \
126        relabel.o automata.o
127
128$(BIN_DIR)/dlg : $(OBJ) $(SRC)
129		$(BUILD_CC) $(BUILD_CFLAGS) -o $(BIN_DIR)/dlg $(OBJ)
130
131SRC = dlg_p.c dlg_a.c main.c err.c $(SET)/set.c support.c output.c \
132        relabel.c automata.c
133
134#dlg_p.c parser.dlg err.c tokens.h : dlg_p.g
135#	$(ANTLR) dlg_p.g
136
137#dlg_a.c mode.h : parser.dlg
138#	$(DLG) -C2 parser.dlg dlg_a.c
139
140dlg_p.$(OBJ_EXT) : dlg_p.c dlg.h tokens.h mode.h
141	$(BUILD_CC) $(BUILD_CFLAGS) -c dlg_p.c
142
143dlg_a.$(OBJ_EXT) : dlg_a.c dlg.h tokens.h mode.h
144	$(BUILD_CC) $(BUILD_CFLAGS) -c dlg_a.c
145
146main.$(OBJ_EXT) : main.c dlg.h
147	$(BUILD_CC) $(BUILD_CFLAGS) -c main.c
148
149set.$(OBJ_EXT) : $(SET)/set.c
150	$(BUILD_CC) -c $(BUILD_CFLAGS) $(SET)/set.c
151
152%.o : %.c
153	$(BUILD_CC) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $< -o $@
154
155lint:
156	lint *.c
157
158#clean up all the intermediate files
159clean:
160	rm -f $(BIN_DIR)/dlg *.$(OBJ_EXT) core
161