1 # Default value so one can compile i3-input standalone
4 include $(TOPDIR)/common.mk
6 # Depend on the object files of all source-files in src/*.c and on all header files
7 AUTOGENERATED:=cfgparse.tab.c cfgparse.yy.c
8 FILES:=$(patsubst %.c,%.o,$(filter-out $(AUTOGENERATED),$(wildcard *.c)))
9 HEADERS:=$(wildcard *.h)
11 # Depend on the specific file (.c for each .o) and on all headers
14 $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
16 all: cfgparse.y.o cfgparse.yy.o ${FILES}
17 echo "LINK i3-config-wizard"
18 $(CC) -o i3-config-wizard $^ $(LDFLAGS)
20 cfgparse.yy.o: cfgparse.l cfgparse.y.o ${HEADERS}
22 flex -i -o$(@:.o=.c) $<
23 $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $(@:.o=.c)
25 cfgparse.y.o: cfgparse.y ${HEADERS}
27 bison --debug --verbose -b $(basename $< .y) -d $<
28 $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $(<:.y=.tab.c)
33 $(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/bin
34 $(INSTALL) -m 0755 i3-config-wizard $(DESTDIR)$(PREFIX)/bin/
37 rm -f *.o cfgparse.tab.{c,h} cfgparse.output cfgparse.yy.c
40 rm -f i3-config-wizard