• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Makefile for PDCurses library - WIN32 Digital Mars
2#
3# Usage: make -f dmcwin32.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		= dmc
24
25CFLAGS		= -c -o+space -Nc
26
27CPPFLAGS	= -I$(PDCURSES_SRCDIR) #-DPDC_WIDE -DPDC_FORCE_UTF8
28
29LINK		= dmc
30LIBEXE		= lib
31
32LIBCURSES	= pdcurses.lib
33
34BUILD		= $(CC) $(CFLAGS) $(CPPFLAGS)
35
36DEMOS		= testcurs.exe newdemo.exe xmas.exe tuidemo.exe \
37firework.exe ptest.exe rain.exe worm.exe
38
39all:    $(LIBCURSES) $(DEMOS)
40
41clean:
42	-del *.obj
43	-del *.lib
44	-del *.exe
45	-del *.map
46	-del advapi32.def
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) -c $@ $(LIBOBJS) $(PDCOBJS)
72	-copy $(LIBCURSES) panel.lib
73
74SRCBUILD = $(BUILD) $(srcdir)\$*.c
75OSBUILD = $(BUILD) $(osdir)\$*.c
76DEMOBUILD = $(LINK) $(CPPFLAGS) -o+space $@ $**
77
78addch.obj: $(srcdir)\addch.c
79	$(SRCBUILD)
80
81addchstr.obj: $(srcdir)\addchstr.c
82	$(SRCBUILD)
83
84addstr.obj: $(srcdir)\addstr.c
85	$(SRCBUILD)
86
87attr.obj: $(srcdir)\attr.c
88	$(SRCBUILD)
89
90beep.obj: $(srcdir)\beep.c
91	$(SRCBUILD)
92
93bkgd.obj: $(srcdir)\bkgd.c
94	$(SRCBUILD)
95
96border.obj: $(srcdir)\border.c
97	$(SRCBUILD)
98
99clear.obj: $(srcdir)\clear.c
100	$(SRCBUILD)
101
102color.obj: $(srcdir)\color.c
103	$(SRCBUILD)
104
105delch.obj: $(srcdir)\delch.c
106	$(SRCBUILD)
107
108deleteln.obj: $(srcdir)\deleteln.c
109	$(SRCBUILD)
110
111deprec.obj: $(srcdir)\deprec.c
112	$(SRCBUILD)
113
114getch.obj: $(srcdir)\getch.c
115	$(SRCBUILD)
116
117getstr.obj: $(srcdir)\getstr.c
118	$(SRCBUILD)
119
120getyx.obj: $(srcdir)\getyx.c
121	$(SRCBUILD)
122
123inch.obj: $(srcdir)\inch.c
124	$(SRCBUILD)
125
126inchstr.obj: $(srcdir)\inchstr.c
127	$(SRCBUILD)
128
129initscr.obj: $(srcdir)\initscr.c
130	$(SRCBUILD)
131
132inopts.obj: $(srcdir)\inopts.c
133	$(SRCBUILD)
134
135insch.obj: $(srcdir)\insch.c
136	$(SRCBUILD)
137
138insstr.obj: $(srcdir)\insstr.c
139	$(SRCBUILD)
140
141instr.obj: $(srcdir)\instr.c
142	$(SRCBUILD)
143
144kernel.obj: $(srcdir)\kernel.c
145	$(SRCBUILD)
146
147keyname.obj: $(srcdir)\keyname.c
148	$(SRCBUILD)
149
150mouse.obj: $(srcdir)\mouse.c
151	$(SRCBUILD)
152
153move.obj: $(srcdir)\move.c
154	$(SRCBUILD)
155
156outopts.obj: $(srcdir)\outopts.c
157	$(SRCBUILD)
158
159overlay.obj: $(srcdir)\overlay.c
160	$(SRCBUILD)
161
162pad.obj: $(srcdir)\pad.c
163	$(SRCBUILD)
164
165panel.obj: $(srcdir)\panel.c
166	$(SRCBUILD)
167
168printw.obj: $(srcdir)\printw.c
169	$(SRCBUILD)
170
171refresh.obj: $(srcdir)\refresh.c
172	$(SRCBUILD)
173
174scanw.obj: $(srcdir)\scanw.c
175	$(SRCBUILD)
176
177scr_dump.obj: $(srcdir)\scr_dump.c
178	$(SRCBUILD)
179
180scroll.obj: $(srcdir)\scroll.c
181	$(SRCBUILD)
182
183slk.obj: $(srcdir)\slk.c
184	$(SRCBUILD)
185
186termattr.obj: $(srcdir)\termattr.c
187	$(SRCBUILD)
188
189terminfo.obj: $(srcdir)\terminfo.c
190	$(SRCBUILD)
191
192touch.obj: $(srcdir)\touch.c
193	$(SRCBUILD)
194
195util.obj: $(srcdir)\util.c
196	$(SRCBUILD)
197
198window.obj: $(srcdir)\window.c
199	$(SRCBUILD)
200
201debug.obj: $(srcdir)\debug.c
202	$(SRCBUILD)
203
204pdcclip.obj: $(osdir)\pdcclip.c
205	$(OSBUILD)
206
207pdcdisp.obj: $(osdir)\pdcdisp.c
208	$(OSBUILD)
209
210pdcgetsc.obj: $(osdir)\pdcgetsc.c
211	$(OSBUILD)
212
213pdckbd.obj: $(osdir)\pdckbd.c
214	$(OSBUILD)
215
216pdcscrn.obj: $(osdir)\pdcscrn.c
217	$(OSBUILD)
218
219pdcsetsc.obj: $(osdir)\pdcsetsc.c
220	$(OSBUILD)
221
222pdcutil.obj: $(osdir)\pdcutil.c
223	$(OSBUILD)
224
225firework.exe:   $(demodir)\firework.c
226	$(DEMOBUILD)
227
228newdemo.exe:    $(demodir)\newdemo.c
229	$(DEMOBUILD)
230
231ptest.exe:      $(demodir)\ptest.c
232	$(DEMOBUILD)
233
234rain.exe:       $(demodir)\rain.c
235	$(DEMOBUILD)
236
237testcurs.exe:   $(demodir)\testcurs.c
238	$(DEMOBUILD) advapi32.lib
239
240tuidemo.exe:    tuidemo.obj tui.obj
241	$(DEMOBUILD)
242
243worm.exe:       $(demodir)\worm.c
244	$(DEMOBUILD)
245
246xmas.exe:       $(demodir)\xmas.c
247	$(DEMOBUILD)
248
249tui.obj: $(demodir)\tui.c $(demodir)\tui.h
250	$(BUILD) -I$(demodir) $(demodir)\$*.c
251
252tuidemo.obj: $(demodir)\tuidemo.c
253	$(BUILD) -I$(demodir) $(demodir)\$*.c
254