libpayload: Add PDCurses and ncurses' libform/libmenu
[coreboot.git] / payloads / libpayload / curses / PDCurses-3.4 / win32 / mingwin32.mak
1 # GNU MAKE Makefile for PDCurses library - WIN32 MinGW GCC
2 #
3 # Usage: make -f [path\]mingwin32.mak [DEBUG=Y] [DLL=Y] [WIDE=Y] [UTF8=Y] [tgt]
4 #
5 # where tgt can be any of:
6 # [all|demos|pdcurses.a|testcurs.exe...]
7
8 O = o
9
10 ifndef PDCURSES_SRCDIR
11         PDCURSES_SRCDIR = ..
12 endif
13
14 include $(PDCURSES_SRCDIR)/version.mif
15 include $(PDCURSES_SRCDIR)/libobjs.mif
16
17 osdir           = $(PDCURSES_SRCDIR)/win32
18
19 PDCURSES_WIN_H  = $(osdir)/pdcwin.h
20
21 CC              = gcc
22
23 ifeq ($(DEBUG),Y)
24         CFLAGS  = -g -Wall -DPDCDEBUG
25         LDFLAGS = -g
26 else
27         CFLAGS  = -O2 -Wall
28         LDFLAGS =
29 endif
30
31 CFLAGS += -I$(PDCURSES_SRCDIR)
32
33 BASEDEF         = $(PDCURSES_SRCDIR)\exp-base.def
34 WIDEDEF         = $(PDCURSES_SRCDIR)\exp-wide.def
35
36 DEFDEPS         = $(BASEDEF)
37
38 ifeq ($(WIDE),Y)
39         CFLAGS += -DPDC_WIDE
40         DEFDEPS += $(WIDEDEF)
41 endif
42
43 ifeq ($(UTF8),Y)
44         CFLAGS += -DPDC_FORCE_UTF8
45 endif
46
47 DEFFILE         = pdcurses.def
48
49 LINK            = gcc
50
51 ifeq ($(DLL),Y)
52         CFLAGS += -DPDC_DLL_BUILD
53         LIBEXE = gcc $(DEFFILE)
54         LIBFLAGS = -Wl,--out-implib,pdcurses.a -shared -o
55         LIBCURSES = pdcurses.dll
56         LIBDEPS = $(LIBOBJS) $(PDCOBJS) $(DEFFILE)
57         CLEAN = $(LIBCURSES) *.a $(DEFFILE)
58 else
59         LIBEXE = ar
60         LIBFLAGS = rcv
61         LIBCURSES = pdcurses.a
62         LIBDEPS = $(LIBOBJS) $(PDCOBJS)
63         CLEAN = *.a
64 endif
65
66 .PHONY: all libs clean demos dist
67
68 all:    libs demos
69
70 libs:   $(LIBCURSES)
71
72 clean:
73         -del *.o
74         -del *.exe
75         -del $(CLEAN)
76
77 demos:  $(DEMOS)
78         strip *.exe
79
80 $(DEFFILE): $(DEFDEPS)
81         echo LIBRARY pdcurses > $@
82         echo EXPORTS >> $@
83         type $(BASEDEF) >> $@
84 ifeq ($(WIDE),Y)
85         type $(WIDEDEF) >> $@
86 endif
87
88 $(LIBCURSES) : $(LIBDEPS)
89         $(LIBEXE) $(LIBFLAGS) $@ $?
90         -copy pdcurses.a panel.a
91
92 $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS)
93 $(PDCOBJS) : $(PDCURSES_WIN_H)
94 $(DEMOS) : $(PDCURSES_CURSES_H) $(LIBCURSES)
95 panel.o : $(PANEL_HEADER)
96 terminfo.o: $(TERM_HEADER)
97
98 $(LIBOBJS) : %.o: $(srcdir)/%.c
99         $(CC) -c $(CFLAGS) $<
100
101 $(PDCOBJS) : %.o: $(osdir)/%.c
102         $(CC) -c $(CFLAGS) $<
103
104 firework.exe newdemo.exe rain.exe testcurs.exe worm.exe xmas.exe \
105 ptest.exe: %.exe: $(demodir)/%.c
106         $(CC) $(CFLAGS) -o$@ $< $(LIBCURSES)
107
108 tuidemo.exe: tuidemo.o tui.o
109         $(LINK) $(LDFLAGS) -o$@ tuidemo.o tui.o $(LIBCURSES)
110
111 tui.o: $(demodir)/tui.c $(demodir)/tui.h $(PDCURSES_CURSES_H)
112         $(CC) -c $(CFLAGS) -I$(demodir) -o$@ $<
113
114 tuidemo.o: $(demodir)/tuidemo.c $(PDCURSES_CURSES_H)
115         $(CC) -c $(CFLAGS) -I$(demodir) -o$@ $<
116
117 PLATFORM1 = MinGW Win32
118 PLATFORM2 = MinGW for Win32
119 ARCNAME = pdc$(VER)_ming_w32
120
121 include $(PDCURSES_SRCDIR)/makedist.mif