Add axTLS sourcecode
[project/luci.git] / libs / nixio / axTLS / config / scripts / config / Makefile
1 # Makefile for axTLS
2 #
3 # Copyright (C) 2002 Erik Andersen <andersen@codepoet.org>
4
5 top_srcdir=../..
6 top_builddir=../..
7 srcdir=$(top_srcdir)/scripts/config
8 include $(top_srcdir)/Rules.mak
9
10 all: ncurses conf mconf
11
12 ifeq ($(shell uname),SunOS)
13 LIBS = -lcurses
14 else
15 LIBS = -lncurses
16 endif
17 ifeq (/usr/include/ncurses/ncurses.h, $(wildcard /usr/include/ncurses/ncurses.h))
18         HOSTNCURSES += -I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"
19 else
20 ifeq (/usr/include/ncurses/curses.h, $(wildcard /usr/include/ncurses/curses.h))
21         HOSTNCURSES += -I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"
22 else
23 ifeq (/usr/local/include/ncurses/ncurses.h, $(wildcard /usr/local/include/ncurses/ncurses.h))
24         HOSTCFLAGS += -I/usr/local/include/ncurses -DCURSES_LOC="<ncurses.h>"
25 else
26 ifeq (/usr/local/include/ncurses/curses.h, $(wildcard /usr/local/include/ncurses/curses.h))
27         HOSTCFLAGS += -I/usr/local/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"
28 else
29 ifeq (/usr/include/ncurses.h, $(wildcard /usr/include/ncurses.h))
30         HOSTNCURSES += -DCURSES_LOC="<ncurses.h>"
31 else
32         HOSTNCURSES += -DCURSES_LOC="<curses.h>"
33 endif
34 endif
35 endif
36 endif
37 endif
38
39 CONF_SRC     = conf.c
40 MCONF_SRC    = mconf.c
41 LXD_SRC      = lxdialog/checklist.c lxdialog/menubox.c lxdialog/textbox.c \
42                lxdialog/yesno.c lxdialog/inputbox.c lxdialog/util.c \
43                lxdialog/msgbox.c
44
45 SHARED_SRC   = zconf.tab.c
46 SHARED_DEPS := $(srcdir)/lkc.h $(srcdir)/lkc_proto.h \
47                lkc_defs.h $(srcdir)/expr.h zconf.tab.h
48 CONF_OBJS    = $(patsubst %.c,%.o, $(CONF_SRC))
49 MCONF_OBJS   = $(patsubst %.c,%.o, $(MCONF_SRC) $(LXD_SRC))
50 SHARED_OBJS  = $(patsubst %.c,%.o, $(SHARED_SRC))
51
52 conf: $(CONF_OBJS) $(SHARED_OBJS)
53         $(HOSTCC) $(NATIVE_LDFLAGS) $^ -o $@
54
55 mconf: $(MCONF_OBJS) $(SHARED_OBJS)
56         $(HOSTCC) $(NATIVE_LDFLAGS) $^ -o $@ $(LIBS)
57
58 $(CONF_OBJS): %.o : $(srcdir)/%.c $(SHARED_DEPS)
59         $(HOSTCC) $(HOSTCFLAGS) -I. -c $< -o $@
60
61 $(MCONF_OBJS): %.o : $(srcdir)/%.c $(SHARED_DEPS)
62         @[ -d $(@D) ] || mkdir -v $(@D)
63         $(HOSTCC) $(HOSTCFLAGS) $(HOSTNCURSES) -I. -c $< -o $@
64
65 lkc_defs.h: $(srcdir)/lkc_proto.h
66         @sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
67
68 ###
69 # The following requires flex/bison
70 # By default we use the _shipped versions, uncomment the
71 # following line if you are modifying the flex/bison src.
72 #LKC_GENPARSER := 1
73
74 ifdef LKC_GENPARSER
75
76 %.tab.c %.tab.h: $(srcdir)/%.y
77         bison -t -d -v -b $* -p $(notdir $*) $<
78
79 lex.%.c: $(srcdir)/%.l
80         flex -P$(notdir $*) -o$@ $<
81 else
82
83 lex.zconf.o: lex.zconf.c $(SHARED_DEPS)
84         $(HOSTCC) $(HOSTCFLAGS) -I$(srcdir) -c $< -o $@
85
86 lex.zconf.c: $(srcdir)/lex.zconf.c_shipped
87         cp $< $@
88
89 zconf.tab.c: $(srcdir)/zconf.tab.c_shipped
90         cp $< $@
91
92 zconf.tab.h: $(srcdir)/zconf.tab.h_shipped
93         cp $< $@
94 endif
95
96 zconf.tab.o: zconf.tab.c lex.zconf.c $(srcdir)/confdata.c $(srcdir)/expr.c \
97              $(srcdir)/symbol.c $(srcdir)/menu.c $(SHARED_DEPS)
98         $(HOSTCC) $(HOSTCFLAGS) -I$(srcdir) -I. -c $< -o $@
99
100 .PHONY: ncurses
101
102 ncurses:
103         @echo "main() {}" > lxtemp.c
104         @if $(HOSTCC) lxtemp.c $(LIBS) ; then \
105                 rm -f lxtemp.c a.out; \
106         else \
107                 rm -f lxtemp.c; \
108                 echo -e "\007" ;\
109                 echo ">> Unable to find the Ncurses libraries." ;\
110                 echo ">>" ;\
111                 echo ">> You must have Ncurses installed in order" ;\
112                 echo ">> to use 'make menuconfig'" ;\
113                 echo ;\
114                 exit 1 ;\
115         fi
116
117 clean:
118         rm -f *.o *~ ../../*~ core *.exe $(TARGETS) $(MCONF_OBJS) $(CONF_OBJS)
119         rm -f conf conf.exe mconf mconf.exe zconf.tab.c zconf.tab.h lex.zconf.c lkc_defs.h
120         rm -f ../..config.h
121