3b77b723ca
PDCurses provides an alternative implementation of the curses library standard in addition to tinycurses. Where tinycurses is really tiny, PDCurses is more complete and provides virtually unlimited windows and the full API. The PDCurses code is brought in "vanilla", with all local changes residing in curses/pdcurses-backend/ In addition to a curses library, this change also provides libpanel (as part of the PDCurses code), and libform and libmenu which were derived from ncurses-5.9. As they rely on ncurses internals (and PDCurses is not ncurses), more changes were required for these libraries to work. The build system is extended to install the right set of header files depending on the selected curses implementation. Change-Id: I9e5b920f94b6510da01da2f656196a993170d1c5 Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com> Reviewed-on: http://review.coreboot.org/106 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones <marcj303@gmail.com>
273 lines
5.2 KiB
Makefile
273 lines
5.2 KiB
Makefile
# Makefile for PDCurses library - WIN32 LCC-Win32
|
|
#
|
|
# Usage: make -f lccwin32.mak [target]
|
|
#
|
|
# where target can be any of:
|
|
# [all|demos|pdcurses.lib|testcurs.exe...]
|
|
|
|
PDCURSES_SRCDIR = ..
|
|
|
|
PDCURSES_CURSES_H = $(PDCURSES_SRCDIR)\curses.h
|
|
PDCURSES_CURSPRIV_H = $(PDCURSES_SRCDIR)\curspriv.h
|
|
PDCURSES_HEADERS = $(PDCURSES_CURSES_H) $(PDCURSES_CURSPRIV_H)
|
|
|
|
PANEL_HEADER = $(PDCURSES_SRCDIR)\panel.h
|
|
TERM_HEADER = $(PDCURSES_SRCDIR)\term.h
|
|
|
|
srcdir = $(PDCURSES_SRCDIR)\pdcurses
|
|
osdir = $(PDCURSES_SRCDIR)\win32
|
|
demodir = $(PDCURSES_SRCDIR)\demos
|
|
|
|
PDCURSES_WIN_H = $(osdir)\pdcwin.h
|
|
|
|
CC = lcc
|
|
|
|
#CFLAGS = -c -g3 -A -ansic
|
|
CFLAGS = -c -O -A -ansic
|
|
|
|
CPPFLAGS = -I$(PDCURSES_SRCDIR) #-DPDC_WIDE -DPDC_FORCE_UTF8
|
|
|
|
LINK = lcclnk
|
|
LIBEXE = lcclib
|
|
|
|
LIBCURSES = pdcurses.lib
|
|
|
|
BUILD = $(CC) $(CFLAGS) $(CPPFLAGS)
|
|
PDCLIBS = $(LIBCURSES)
|
|
|
|
DEMOS = testcurs.exe newdemo.exe xmas.exe tuidemo.exe \
|
|
firework.exe ptest.exe rain.exe worm.exe
|
|
|
|
all: $(PDCLIBS) $(DEMOS)
|
|
|
|
clean:
|
|
-del *.obj
|
|
-del *.lib
|
|
-del *.exe
|
|
|
|
LIBOBJS = addch.obj addchstr.obj addstr.obj attr.obj beep.obj bkgd.obj \
|
|
border.obj clear.obj color.obj delch.obj deleteln.obj deprec.obj getch.obj \
|
|
getstr.obj getyx.obj inch.obj inchstr.obj initscr.obj inopts.obj \
|
|
insch.obj insstr.obj instr.obj kernel.obj keyname.obj mouse.obj move.obj \
|
|
outopts.obj overlay.obj pad.obj panel.obj printw.obj refresh.obj \
|
|
scanw.obj scr_dump.obj scroll.obj slk.obj termattr.obj terminfo.obj \
|
|
touch.obj util.obj window.obj debug.obj
|
|
|
|
PDCOBJS = pdcclip.obj pdcdisp.obj pdcgetsc.obj pdckbd.obj pdcscrn.obj \
|
|
pdcsetsc.obj pdcutil.obj
|
|
|
|
DEMOOBJS = testcurs.obj newdemo.obj xmas.obj tuidemo.obj tui.obj \
|
|
firework.obj ptest.obj rain.obj worm.obj
|
|
|
|
$(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS)
|
|
$(PDCOBJS) : $(PDCURSES_WIN_H)
|
|
panel.obj ptest.obj: $(PANEL_HEADER)
|
|
terminfo.obj: $(TERM_HEADER)
|
|
|
|
$(DEMOOBJS) : $(PDCURSES_CURSES_H)
|
|
$(DEMOS) : $(LIBCURSES)
|
|
|
|
$(LIBCURSES) : $(LIBOBJS) $(PDCOBJS)
|
|
$(LIBEXE) /out:$@ $(LIBOBJS) $(PDCOBJS)
|
|
-copy $(LIBCURSES) panel.lib
|
|
|
|
SRCBUILD = $(BUILD) $(srcdir)\$*.c
|
|
OSBUILD = $(BUILD) $(osdir)\$*.c
|
|
|
|
addch.obj: $(srcdir)\addch.c
|
|
$(SRCBUILD)
|
|
|
|
addchstr.obj: $(srcdir)\addchstr.c
|
|
$(SRCBUILD)
|
|
|
|
addstr.obj: $(srcdir)\addstr.c
|
|
$(SRCBUILD)
|
|
|
|
attr.obj: $(srcdir)\attr.c
|
|
$(SRCBUILD)
|
|
|
|
beep.obj: $(srcdir)\beep.c
|
|
$(SRCBUILD)
|
|
|
|
bkgd.obj: $(srcdir)\bkgd.c
|
|
$(SRCBUILD)
|
|
|
|
border.obj: $(srcdir)\border.c
|
|
$(SRCBUILD)
|
|
|
|
clear.obj: $(srcdir)\clear.c
|
|
$(SRCBUILD)
|
|
|
|
color.obj: $(srcdir)\color.c
|
|
$(SRCBUILD)
|
|
|
|
delch.obj: $(srcdir)\delch.c
|
|
$(SRCBUILD)
|
|
|
|
deleteln.obj: $(srcdir)\deleteln.c
|
|
$(SRCBUILD)
|
|
|
|
deprec.obj: $(srcdir)\deprec.c
|
|
$(SRCBUILD)
|
|
|
|
getch.obj: $(srcdir)\getch.c
|
|
$(SRCBUILD)
|
|
|
|
getstr.obj: $(srcdir)\getstr.c
|
|
$(SRCBUILD)
|
|
|
|
getyx.obj: $(srcdir)\getyx.c
|
|
$(SRCBUILD)
|
|
|
|
inch.obj: $(srcdir)\inch.c
|
|
$(SRCBUILD)
|
|
|
|
inchstr.obj: $(srcdir)\inchstr.c
|
|
$(SRCBUILD)
|
|
|
|
initscr.obj: $(srcdir)\initscr.c
|
|
$(SRCBUILD)
|
|
|
|
inopts.obj: $(srcdir)\inopts.c
|
|
$(SRCBUILD)
|
|
|
|
insch.obj: $(srcdir)\insch.c
|
|
$(SRCBUILD)
|
|
|
|
insstr.obj: $(srcdir)\insstr.c
|
|
$(SRCBUILD)
|
|
|
|
instr.obj: $(srcdir)\instr.c
|
|
$(SRCBUILD)
|
|
|
|
kernel.obj: $(srcdir)\kernel.c
|
|
$(SRCBUILD)
|
|
|
|
keyname.obj: $(srcdir)\keyname.c
|
|
$(SRCBUILD)
|
|
|
|
mouse.obj: $(srcdir)\mouse.c
|
|
$(SRCBUILD)
|
|
|
|
move.obj: $(srcdir)\move.c
|
|
$(SRCBUILD)
|
|
|
|
outopts.obj: $(srcdir)\outopts.c
|
|
$(SRCBUILD)
|
|
|
|
overlay.obj: $(srcdir)\overlay.c
|
|
$(SRCBUILD)
|
|
|
|
pad.obj: $(srcdir)\pad.c
|
|
$(SRCBUILD)
|
|
|
|
panel.obj: $(srcdir)\panel.c
|
|
$(SRCBUILD)
|
|
|
|
printw.obj: $(srcdir)\printw.c
|
|
$(SRCBUILD)
|
|
|
|
refresh.obj: $(srcdir)\refresh.c
|
|
$(SRCBUILD)
|
|
|
|
scanw.obj: $(srcdir)\scanw.c
|
|
$(SRCBUILD)
|
|
|
|
scr_dump.obj: $(srcdir)\scr_dump.c
|
|
$(SRCBUILD)
|
|
|
|
scroll.obj: $(srcdir)\scroll.c
|
|
$(SRCBUILD)
|
|
|
|
slk.obj: $(srcdir)\slk.c
|
|
$(SRCBUILD)
|
|
|
|
termattr.obj: $(srcdir)\termattr.c
|
|
$(SRCBUILD)
|
|
|
|
terminfo.obj: $(srcdir)\terminfo.c
|
|
$(SRCBUILD)
|
|
|
|
touch.obj: $(srcdir)\touch.c
|
|
$(SRCBUILD)
|
|
|
|
util.obj: $(srcdir)\util.c
|
|
$(SRCBUILD)
|
|
|
|
window.obj: $(srcdir)\window.c
|
|
$(SRCBUILD)
|
|
|
|
debug.obj: $(srcdir)\debug.c
|
|
$(SRCBUILD)
|
|
|
|
pdcclip.obj: $(osdir)\pdcclip.c
|
|
$(OSBUILD)
|
|
|
|
pdcdisp.obj: $(osdir)\pdcdisp.c
|
|
$(OSBUILD)
|
|
|
|
pdcgetsc.obj: $(osdir)\pdcgetsc.c
|
|
$(OSBUILD)
|
|
|
|
pdckbd.obj: $(osdir)\pdckbd.c
|
|
$(OSBUILD)
|
|
|
|
pdcscrn.obj: $(osdir)\pdcscrn.c
|
|
$(OSBUILD)
|
|
|
|
pdcsetsc.obj: $(osdir)\pdcsetsc.c
|
|
$(OSBUILD)
|
|
|
|
pdcutil.obj: $(osdir)\pdcutil.c
|
|
$(OSBUILD)
|
|
|
|
firework.exe: firework.obj
|
|
$(LINK) -o $@ firework.obj $(LIBCURSES)
|
|
|
|
newdemo.exe: newdemo.obj
|
|
$(LINK) -o $@ newdemo.obj $(LIBCURSES)
|
|
|
|
ptest.exe: ptest.obj
|
|
$(LINK) -o $@ ptest.obj $(LIBCURSES)
|
|
|
|
rain.exe: rain.obj
|
|
$(LINK) -o $@ rain.obj $(LIBCURSES)
|
|
|
|
testcurs.exe: testcurs.obj
|
|
$(LINK) -o $@ testcurs.obj $(LIBCURSES)
|
|
|
|
tuidemo.exe: tuidemo.obj tui.obj
|
|
$(LINK) -o $@ tuidemo.obj tui.obj $(LIBCURSES)
|
|
|
|
worm.exe: worm.obj
|
|
$(LINK) -o $@ worm.obj $(LIBCURSES)
|
|
|
|
xmas.exe: xmas.obj
|
|
$(LINK) -o $@ xmas.obj $(LIBCURSES)
|
|
|
|
firework.obj: $(demodir)\firework.c
|
|
$(BUILD) $(demodir)\$*.c
|
|
|
|
newdemo.obj: $(demodir)\newdemo.c
|
|
$(BUILD) $(demodir)\$*.c
|
|
|
|
ptest.obj: $(demodir)\ptest.c
|
|
$(BUILD) $(demodir)\$*.c
|
|
|
|
rain.obj: $(demodir)\rain.c
|
|
$(BUILD) $(demodir)\$*.c
|
|
|
|
testcurs.obj: $(demodir)\testcurs.c
|
|
$(BUILD) $(demodir)\$*.c
|
|
|
|
tui.obj: $(demodir)\tui.c $(demodir)\tui.h
|
|
$(BUILD) -I$(demodir) $(demodir)\$*.c
|
|
|
|
tuidemo.obj: $(demodir)\tuidemo.c
|
|
$(BUILD) -I$(demodir) $(demodir)\$*.c
|
|
|
|
worm.obj: $(demodir)\worm.c
|
|
$(BUILD) $(demodir)\$*.c
|
|
|
|
xmas.obj: $(demodir)\xmas.c
|
|
$(BUILD) $(demodir)\$*.c
|