Stefan Schuermans
update Windows support
Stefan Schuermans commited 665ce59 at 2017-09-23 20:43:55
# BlinkenLib
# Copyright 2004-2016 Stefan Schuermans <stefan@schuermans.info>
# Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
# a blinkenarea.org project
CC:=gcc
INCDIR:=-I/sw/include
LIBDIR:=-L/sw/lib
CFGS:=$(addsuffix .cfg,win osx mng gif gif4 gif5)
.PHONY: all clean
.SUFFIXES:
SUFFIXES:=
.SECONDARY:
all: config.cfg config.mk config.h
win.cfg:
if echo '#include <windows.h>' | $(CC) -E -x c - >/dev/null 2>/dev/null; then echo "WIN=1"; else echo "WIN=0"; fi >$@
osx.cfg:
echo "OSX=" | tr -d '\n' >$@
(if [ "$$(uname -s)" == "Darwin" ]; then echo "1"; else echo "0"; fi) >>$@
mng.cfg:
echo "MNG=" | tr -d '\n' >$@
(($(CC) $(INCDIR) $(LIBDIR) -o mng mng.c -lmng && ./mng && echo "1") || echo "0") >>$@
rm -f mng
gif%.cfg:
echo "GIF$*=" | tr -d '\n' >$@
(($(CC) $(INCDIR) $(LIBDIR) -o gif$* gif$*.c -lgif && ./gif$* && echo "1") || echo "0") >>$@
rm -f gif$*
gif.cfg: gif4.cfg gif5.cfg
echo "GIF=" | tr -d '\n' >$@
((cat $^ | grep -q 1 && echo "1") || echo "0") >>$@
config.cfg: $(CFGS)
cat $^ >config.cfg
config.mk: config.cfg
sed 's/^\([A-Z0-9]*\)=\([01]\)$$/BLINKENLIB_CFG_\1:=\2/' <$< >$@
config.h: config.cfg Makefile ../version.mk
sed 's/^\([A-Z0-9]*\)=0$$/#undef BLINKENLIB_CFG_\1/;s/^\([A-Z0-9]*\)=1$$/#define BLINKENLIB_CFG_\1/' <$< >$@
echo '#define BLINKENLIB_CONFIG "' | tr -d '\n' >>$@
sed 's/^\([A-Z0-9]*\)=0$$/\1-/;s/^\([A-Z0-9]*\)=1$$/\1+/' <$< | tr '\n' ' ' | sed 's/ *$$//' | tr -d '\n' >>$@
echo '"' >>$@
grep '^VERSION_[A-Z]*:=[0-9]*' ../version.mk | sed 's/^/#define BLINKENLIB_/;s/:=/ /' >>$@
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX