• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# NMAKE Makefile for PDCurses library - Microsoft C for DOS
2#
3# Usage: nmake -f [path\]dosmsc.mak [DEBUG=] [target]
4#
5# where target can be any of:
6# [all|demos|pdcurses.lib|testcurs.exe...]
7
8# Change the memory MODEL here, if desired
9MODEL	= L       # one of L, S, M, T, H, C
10SIZE	= LARGE   # one of LARGE, SMALL, MEDIUM, TINY, HUGE, COMPACT
11
12O = obj
13
14!ifndef PDCURSES_SRCDIR
15PDCURSES_SRCDIR = ..
16!endif
17
18!include $(PDCURSES_SRCDIR)\version.mif
19!include $(PDCURSES_SRCDIR)\libobjs.mif
20
21osdir		= $(PDCURSES_SRCDIR)\dos
22
23PDCURSES_DOS_H	= $(osdir)\pdcdos.h
24
25CC		= cl
26
27!ifdef DEBUG
28CFLAGS		= /Od /Zi /DPDCDEBUG
29LDFLAGS		= /CO /NOE /SE:160
30!else
31CFLAGS		= /Ox
32LDFLAGS		= /NOE /SE:160
33!endif
34
35CPPFLAGS	= -I$(PDCURSES_SRCDIR)
36
37BUILD		= $(CC) /J /nologo /c /D$(SIZE) /A$(MODEL) $(CFLAGS) $(CPPFLAGS)
38
39LINK		= link
40
41CCLIBS		=
42
43LIBEXE		= lib
44
45LIBCURSES	= pdcurses.lib
46
47all:	$(LIBCURSES) $(DEMOS)
48
49clean:
50	-del *.obj
51	-del *.lib
52	-del *.exe
53
54demos:	$(DEMOS)
55
56DEMOOBJS = $(DEMOS:.exe=.obj) tui.obj
57
58$(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS)
59$(DEMOOBJS) : $(PDCURSES_CURSES_H)
60$(DEMOS) : $(LIBCURSES)
61panel.obj : $(PANEL_HEADER)
62terminfo.obj: $(TERM_HEADER)
63
64$(LIBCURSES) : $(LIBOBJS) $(PDCOBJS)
65	$(LIBEXE) $@ @$(osdir)\mscdos.lrf
66	-copy $(LIBCURSES) panel.lib
67
68{$(srcdir)\}.c{}.obj:
69	$(BUILD) $<
70
71{$(osdir)\}.c{}.obj:
72	$(BUILD) $<
73
74{$(demodir)\}.c{}.obj:
75	$(BUILD) $<
76
77firework.exe: firework.obj
78	$(LINK) $(LDFLAGS) $*.obj,$*,,$(LIBCURSES);
79
80newdemo.exe: newdemo.obj
81	$(LINK) $(LDFLAGS) $*.obj,$*,,$(LIBCURSES);
82
83ptest.exe: ptest.obj
84	$(LINK) $(LDFLAGS) $*.obj,$*,,$(LIBCURSES);
85
86rain.exe: rain.obj
87	$(LINK) $(LDFLAGS) $*.obj,$*,,$(LIBCURSES);
88
89testcurs.exe: testcurs.obj
90	$(LINK) $(LDFLAGS) $*.obj,$*,,$(LIBCURSES);
91
92tuidemo.exe: tuidemo.obj tui.obj
93	$(LINK) $(LDFLAGS) $*.obj+tui.obj,$*,,$(LIBCURSES);
94
95worm.exe: worm.obj
96	$(LINK) $(LDFLAGS) $*.obj,$*,,$(LIBCURSES);
97
98xmas.exe: xmas.obj
99	$(LINK) $(LDFLAGS) $*.obj,$*,,$(LIBCURSES);
100
101ptest.obj: $(demodir)\ptest.c $(PANEL_HEADER)
102	$(BUILD) $(demodir)\ptest.c
103
104tui.obj: $(demodir)\tui.c $(demodir)\tui.h
105	$(BUILD) -I$(demodir) $(demodir)\tui.c
106
107tuidemo.obj: $(demodir)\tuidemo.c
108	$(BUILD) -I$(demodir) $(demodir)\tuidemo.c
109
110PLATFORM1 = Microsoft C
111PLATFORM2 = Microsoft C for DOS
112ARCNAME = pdc$(VER)msc
113
114!include $(PDCURSES_SRCDIR)\makedist.mif
115