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