blob: caf8021f5a3e0f6fc17e6d11451c232ed4d5b557 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
# GNU MAKE Makefile for PDCurses library - OS/2 emx 0.9c+
#
# Usage: make -f [path\]gccos2.mak [DEBUG=Y] [EMXVIDEO=Y] [DLL=Y] [target]
#
# where target can be any of:
# [all|demos|pdcurses.a|testcurs.exe...]
#
# The EMXVIDEO option compiles with the emx video library, which
# enables a PDCurses program to run under OS/2 and DOS.
O = o
ifndef PDCURSES_SRCDIR
PDCURSES_SRCDIR = ..
endif
include $(PDCURSES_SRCDIR)/version.mif
include $(PDCURSES_SRCDIR)/libobjs.mif
osdir = $(PDCURSES_SRCDIR)/os2
PDCURSES_OS2_H = $(osdir)/pdcos2.h
CC = gcc
CFLAGS = -I$(PDCURSES_SRCDIR) -c -Wall
ifeq ($(EMXVIDEO),Y)
CFLAGS += -DEMXVIDEO
CCLIBS = -lvideo
BINDFLAGS = -acm
else
CCLIBS =
BINDFLAGS =
endif
ifeq ($(DEBUG),Y)
CFLAGS += -g -DPDCDEBUG
LDFLAGS = -g
else
CFLAGS += -O2
LDFLAGS =
endif
BASEDEF = $(PDCURSES_SRCDIR)\exp-base.def
DEFDEPS = $(BASEDEF)
DEFFILE = pdcurses.def
DLLTARGET = pdcurses.dll
DLLFLAGS = -Zdll -Zcrtdll -Zomf
LINK = gcc
EMXBIND = emxbind
EMXOMF = emxomf
LIBEXE = ar
LIBFLAGS = rcv
ifeq ($(DLL),Y)
CFLAGS += -Zdll -Zcrtdll -Zomf
LDFLAGS += -Zlinker /PM:VIO -Zomf -Zcrtdll
LIBCURSES = pdcurses.lib
LIBDEPS = $(LIBOBJS) $(PDCOBJS) $(DEFFILE)
PDCLIBS = $(DLLTARGET)
EXEPOST =
TUIPOST =
CLEAN = *.dll *.lib $(DEFFILE)
else
LIBCURSES = pdcurses.a
LIBDEPS = $(LIBOBJS) $(PDCOBJS)
PDCLIBS = $(LIBCURSES)
EXEPOST = $(EMXBIND) $* $(BINDFLAGS)
TUIPOST = $(EMXBIND) tuidemo $(BINDFLAGS)
CLEAN = *.a testcurs newdemo xmas tuidemo firework ptest rain worm
endif
.PHONY: all libs clean demos dist
all: libs demos
libs: $(PDCLIBS)
clean:
-del *.o
-del *.exe
-del $(CLEAN)
demos: $(DEMOS)
DEMOOBJS = testcurs.o newdemo.o xmas.o tui.o tuidemo.o firework.o \
ptest.o rain.o worm.o
$(DEFFILE) : $(DEFDEPS)
echo LIBRARY PDCURSES > $@
echo DESCRIPTION 'PDCurses 3.4 Dynamic Linking library' >> $@
echo PROTMODE >>$@
echo DATA MULTIPLE READWRITE LOADONCALL >> $@
echo CODE LOADONCALL >> $@
echo EXPORTS >> $@
type $(BASEDEF) >> $@
$(LIBCURSES) : $(LIBDEPS)
$(LIBEXE) $(LIBFLAGS) $@ $?
-copy $(LIBCURSES) panel.a
$(DLLTARGET) : $(LIBDEPS)
$(LINK) $(DLLFLAGS) -o $(DLLTARGET) $? $(DEFFILE)
# lxlite $(DLLTARGET)
emximp -o $(LIBCURSES) $(DEFFILE)
$(LIBOBJS) $(PDCOBJS) $(DEMOOBJS) : $(PDCURSES_HEADERS)
$(PDCOBJS) : $(PDCURSES_OS2_H)
$(DEMOS) : $(LIBCURSES)
panel.o ptest.o: $(PANEL_HEADER)
terminfo.o: $(TERM_HEADER)
$(LIBOBJS) : %.o: $(srcdir)/%.c
$(CC) -c $(CFLAGS) -o$@ $<
$(PDCOBJS) : %.o: $(osdir)/%.c
$(CC) -c $(CFLAGS) -o$@ $<
firework.exe newdemo.exe rain.exe testcurs.exe worm.exe xmas.exe \
ptest.exe: %.exe: %.o
$(LINK) $(LDFLAGS) -o $* $< $(LIBCURSES) $(CCLIBS)
$(EXEPOST)
tuidemo.exe: tuidemo.o tui.o
$(LINK) $(LDFLAGS) -o tuidemo tuidemo.o tui.o $(LIBCURSES) $(CCLIBS)
$(TUIPOST)
firework.o newdemo.o ptest.o rain.o testcurs.o worm.o xmas.o: %.o: \
$(demodir)/%.c
$(CC) $(CFLAGS) -o$@ $<
tui.o: $(demodir)\tui.c $(demodir)\tui.h
$(CC) $(CFLAGS) -I$(demodir) -o $@ $<
tuidemo.o: $(demodir)\tuidemo.c
$(CC) $(CFLAGS) -I$(demodir) -o $@ $<
PLATFORM1 = EMX OS/2
PLATFORM2 = EMX 0.9d for OS/2
ARCNAME = pdc$(VER)_emx_os2
include $(PDCURSES_SRCDIR)/makedist.mif
|