1 #need to set BACKEND to either TERMBOX, NCURSES, SDL, or SDL2
2 #e.g. $ make BACKEND=SDL2 -j4
5 LIBNAME
=lib
$(LIBBASENAME
)
7 LINKLIBS_TERMBOX
=-ltermbox
10 PKG_CONFIG
= pkg-config
11 LINKLIBS_NCURSES
:= $(shell $(PKG_CONFIG
) --libs ncurses
) -lpthread
12 LINKLIBS_LEPT
:= $(shell $(PKG_CONFIG
) --libs lept
)
14 CFLAGS_OWN
=-Wall
-Wextra
-static
-std
=c99
17 CFLAGS_OPT_AGGRESSIVE
=-O3
-s
-flto
-fwhole-program
18 CPPFLAGS_BE
=-DCONSOLE_BACKEND
=$(subst 2,,$(BACKEND
))_CONSOLE
23 TEST
=examples
/console_test
24 PLASMA
=examples
/plasma
25 CONPIX
=examples
/console_conpix
26 CONPIXS
=examples
/console_conpix_scroll
28 EXAMPLES
=$(TEST
) $(PLASMA
) $(CONPIX
) $(CONPIXS
)
32 OUTLIB
=$(LIBNAME
)_
$(BACKEND
)
33 DYNLIB
=$(OUTLIB
)$(DYNEXT
)
34 STALIB
=$(OUTLIB
)$(STAEXT
)
35 MAINLIB
=$(LIBNAME
)$(DYNEXT
)
38 $(error need to set BACKEND
!)
40 ifeq ($(BACKEND
),TERMBOX
)
41 BACKEND_SRCS
=tbconsole.c tbconsole_chartab.c
42 LINKLIBS
=$(LINKLIBS_TERMBOX
)
44 ifeq ($(BACKEND
),NCURSES
)
45 BACKEND_SRCS
=ncconsole.c color_reader.c
46 LINKLIBS
=$(LINKLIBS_NCURSES
)
48 ifeq ($(subst 2,,$(BACKEND
)),SDL
)
49 BACKEND_SRCS
=sdlconsole.c sdlconsole_chartab.c
50 FONTSRCS
=fonts
/testfont.c fonts
/int10font08.c fonts
/int10font14.c fonts
/int10font16.c
53 LINKLIBS
=$(LINKLIBS_SDL
)
55 ifeq ($(BACKEND
),SDL2
)
57 LINKLIBS
=$(LINKLIBS_SDL2
)
63 # $(error "need to set BACKEND to either termbox, ncurses, or sdl")
66 SRCS
=console.c
$(BACKEND_SRCS
) $(FONTSRCS
)
70 all: $(STALIB
) $(DYNLIB
) $(MAINLIB
)
93 $(CC
) -shared
$(LDFLAGS
) -o
$@
$(OBJS
) $(LINKLIBS
)
94 # $(CC) -shared $(LDFLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LINKLIBS)
97 ln
-sf
$(DYNLIB
) $(MAINLIB
)
100 $(CC
) -fPIC
$(CPPFLAGS
) $(CFLAGS
) $(INC
) $(CPPFLAGS_BE
) $(SDL2ADD
) -c
-o
$@
$<
102 $(TEST
): $(TEST
).o
$(STALIB
)
103 $(CC
) $(CFLAGS
) -o
$@
$^
$(LINKLIBS
)
105 $(PLASMA
): $(PLASMA
).o
$(STALIB
)
106 $(CC
) $(CFLAGS
) -o
$@
$^
$(LINKLIBS
) -lm
108 $(CONPIX
): $(CONPIX
).o
$(STALIB
)
109 $(CC
) $(CFLAGS
) -o
$@
$^
$(LINKLIBS
) $(LINKLIBS_LEPT
)
111 $(CONPIXS
): $(CONPIXS
).o
$(STALIB
)
112 $(CC
) $(CFLAGS
) -o
$@
$^
$(LINKLIBS
) $(LINKLIBS_LEPT
)
114 examples
: $(EXAMPLES
)
117 .PHONY
: all clean examples