1# Makefile for PDCurses library - WIN32 LCC-Win32
2#
3# Usage: make -f lccwin32.mak [target]
4#
5# where target can be any of:
6# [all|demos|pdcurses.lib|testcurs.exe...]
7
8PDCURSES_SRCDIR	= ..
9
10PDCURSES_CURSES_H	= $(PDCURSES_SRCDIR)\curses.h
11PDCURSES_CURSPRIV_H	= $(PDCURSES_SRCDIR)\curspriv.h
12PDCURSES_HEADERS	= $(PDCURSES_CURSES_H) $(PDCURSES_CURSPRIV_H)
13
14PANEL_HEADER	= $(PDCURSES_SRCDIR)\panel.h
15TERM_HEADER	= $(PDCURSES_SRCDIR)\term.h
16
17srcdir		= $(PDCURSES_SRCDIR)\pdcurses
18osdir		= $(PDCURSES_SRCDIR)\win32
19demodir		= $(PDCURSES_SRCDIR)\demos
20
21PDCURSES_WIN_H	= $(osdir)\pdcwin.h
22
23CC		= lcc
24
25#CFLAGS		= -c -g3 -A -ansic
26CFLAGS		= -c -O -A -ansic
27
28CPPFLAGS	= -I$(PDCURSES_SRCDIR) #-DPDC_WIDE -DPDC_FORCE_UTF8
29
30LINK		= lcclnk
31LIBEXE		= lcclib
32
33LIBCURSES	= pdcurses.lib
34
35BUILD		= $(CC) $(CFLAGS) $(CPPFLAGS)
36PDCLIBS		= $(LIBCURSES)
37
38DEMOS		= testcurs.exe newdemo.exe xmas.exe tuidemo.exe \
39firework.exe ptest.exe rain.exe worm.exe
40
41all:    $(PDCLIBS) $(DEMOS)
42
43clean:
44	-del *.obj
45	-del *.lib
46	-del *.exe
47
48LIBOBJS = addch.obj addchstr.obj addstr.obj attr.obj beep.obj bkgd.obj \
49border.obj clear.obj color.obj delch.obj deleteln.obj deprec.obj getch.obj \
50getstr.obj getyx.obj inch.obj inchstr.obj initscr.obj inopts.obj \
51insch.obj insstr.obj instr.obj kernel.obj keyname.obj mouse.obj move.obj \
52outopts.obj overlay.obj pad.obj panel.obj printw.obj refresh.obj \
53scanw.obj scr_dump.obj scroll.obj slk.obj termattr.obj terminfo.obj \
54touch.obj util.obj window.obj debug.obj
55
56PDCOBJS = pdcclip.obj pdcdisp.obj pdcgetsc.obj pdckbd.obj pdcscrn.obj \
57pdcsetsc.obj pdcutil.obj
58
59DEMOOBJS = testcurs.obj newdemo.obj xmas.obj tuidemo.obj tui.obj \
60firework.obj ptest.obj rain.obj worm.obj
61
62$(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS)
63$(PDCOBJS) : $(PDCURSES_WIN_H)
64panel.obj ptest.obj: $(PANEL_HEADER)
65terminfo.obj: $(TERM_HEADER)
66
67$(DEMOOBJS) : $(PDCURSES_CURSES_H)
68$(DEMOS) : $(LIBCURSES)
69
70$(LIBCURSES) : $(LIBOBJS) $(PDCOBJS)
71	$(LIBEXE) /out:$@ $(LIBOBJS) $(PDCOBJS)
72	-copy $(LIBCURSES) panel.lib
73
74SRCBUILD = $(BUILD) $(srcdir)\$*.c
75OSBUILD = $(BUILD) $(osdir)\$*.c
76
77addch.obj: $(srcdir)\addch.c
78	$(SRCBUILD)
79
80addchstr.obj: $(srcdir)\addchstr.c
81	$(SRCBUILD)
82
83addstr.obj: $(srcdir)\addstr.c
84	$(SRCBUILD)
85
86attr.obj: $(srcdir)\attr.c
87	$(SRCBUILD)
88
89beep.obj: $(srcdir)\beep.c
90	$(SRCBUILD)
91
92bkgd.obj: $(srcdir)\bkgd.c
93	$(SRCBUILD)
94
95border.obj: $(srcdir)\border.c
96	$(SRCBUILD)
97
98clear.obj: $(srcdir)\clear.c
99	$(SRCBUILD)
100
101color.obj: $(srcdir)\color.c
102	$(SRCBUILD)
103
104delch.obj: $(srcdir)\delch.c
105	$(SRCBUILD)
106
107deleteln.obj: $(srcdir)\deleteln.c
108	$(SRCBUILD)
109
110deprec.obj: $(srcdir)\deprec.c
111	$(SRCBUILD)
112
113getch.obj: $(srcdir)\getch.c
114	$(SRCBUILD)
115
116getstr.obj: $(srcdir)\getstr.c
117	$(SRCBUILD)
118
119getyx.obj: $(srcdir)\getyx.c
120	$(SRCBUILD)
121
122inch.obj: $(srcdir)\inch.c
123	$(SRCBUILD)
124
125inchstr.obj: $(srcdir)\inchstr.c
126	$(SRCBUILD)
127
128initscr.obj: $(srcdir)\initscr.c
129	$(SRCBUILD)
130
131inopts.obj: $(srcdir)\inopts.c
132	$(SRCBUILD)
133
134insch.obj: $(srcdir)\insch.c
135	$(SRCBUILD)
136
137insstr.obj: $(srcdir)\insstr.c
138	$(SRCBUILD)
139
140instr.obj: $(srcdir)\instr.c
141	$(SRCBUILD)
142
143kernel.obj: $(srcdir)\kernel.c
144	$(SRCBUILD)
145
146keyname.obj: $(srcdir)\keyname.c
147	$(SRCBUILD)
148
149mouse.obj: $(srcdir)\mouse.c
150	$(SRCBUILD)
151
152move.obj: $(srcdir)\move.c
153	$(SRCBUILD)
154
155outopts.obj: $(srcdir)\outopts.c
156	$(SRCBUILD)
157
158overlay.obj: $(srcdir)\overlay.c
159	$(SRCBUILD)
160
161pad.obj: $(srcdir)\pad.c
162	$(SRCBUILD)
163
164panel.obj: $(srcdir)\panel.c
165	$(SRCBUILD)
166
167printw.obj: $(srcdir)\printw.c
168	$(SRCBUILD)
169
170refresh.obj: $(srcdir)\refresh.c
171	$(SRCBUILD)
172
173scanw.obj: $(srcdir)\scanw.c
174	$(SRCBUILD)
175
176scr_dump.obj: $(srcdir)\scr_dump.c
177	$(SRCBUILD)
178
179scroll.obj: $(srcdir)\scroll.c
180	$(SRCBUILD)
181
182slk.obj: $(srcdir)\slk.c
183	$(SRCBUILD)
184
185termattr.obj: $(srcdir)\termattr.c
186	$(SRCBUILD)
187
188terminfo.obj: $(srcdir)\terminfo.c
189	$(SRCBUILD)
190
191touch.obj: $(srcdir)\touch.c
192	$(SRCBUILD)
193
194util.obj: $(srcdir)\util.c
195	$(SRCBUILD)
196
197window.obj: $(srcdir)\window.c
198	$(SRCBUILD)
199
200debug.obj: $(srcdir)\debug.c
201	$(SRCBUILD)
202
203pdcclip.obj: $(osdir)\pdcclip.c
204	$(OSBUILD)
205
206pdcdisp.obj: $(osdir)\pdcdisp.c
207	$(OSBUILD)
208
209pdcgetsc.obj: $(osdir)\pdcgetsc.c
210	$(OSBUILD)
211
212pdckbd.obj: $(osdir)\pdckbd.c
213	$(OSBUILD)
214
215pdcscrn.obj: $(osdir)\pdcscrn.c
216	$(OSBUILD)
217
218pdcsetsc.obj: $(osdir)\pdcsetsc.c
219	$(OSBUILD)
220
221pdcutil.obj: $(osdir)\pdcutil.c
222	$(OSBUILD)
223
224firework.exe:   firework.obj
225	$(LINK) -o $@ firework.obj $(LIBCURSES)
226
227newdemo.exe:    newdemo.obj
228	$(LINK) -o $@ newdemo.obj $(LIBCURSES)
229
230ptest.exe:      ptest.obj
231	$(LINK) -o $@ ptest.obj $(LIBCURSES)
232
233rain.exe:       rain.obj
234	$(LINK) -o $@ rain.obj $(LIBCURSES)
235
236testcurs.exe:   testcurs.obj
237	$(LINK) -o $@ testcurs.obj $(LIBCURSES)
238
239tuidemo.exe:    tuidemo.obj tui.obj
240	$(LINK) -o $@ tuidemo.obj tui.obj $(LIBCURSES)
241
242worm.exe:       worm.obj
243	$(LINK) -o $@ worm.obj $(LIBCURSES)
244
245xmas.exe:       xmas.obj
246	$(LINK) -o $@ xmas.obj $(LIBCURSES)
247
248firework.obj: $(demodir)\firework.c
249	$(BUILD) $(demodir)\$*.c
250
251newdemo.obj: $(demodir)\newdemo.c
252	$(BUILD) $(demodir)\$*.c
253
254ptest.obj: $(demodir)\ptest.c
255	$(BUILD) $(demodir)\$*.c
256
257rain.obj: $(demodir)\rain.c
258	$(BUILD) $(demodir)\$*.c
259
260testcurs.obj: $(demodir)\testcurs.c
261	$(BUILD) $(demodir)\$*.c
262
263tui.obj: $(demodir)\tui.c $(demodir)\tui.h
264	$(BUILD) -I$(demodir) $(demodir)\$*.c
265
266tuidemo.obj: $(demodir)\tuidemo.c
267	$(BUILD) -I$(demodir) $(demodir)\$*.c
268
269worm.obj: $(demodir)\worm.c
270	$(BUILD) $(demodir)\$*.c
271
272xmas.obj: $(demodir)\xmas.c
273	$(BUILD) $(demodir)\$*.c
274