FILES:=$(patsubst %.c,%.o,$(filter-out $(AUTOGENERATED),$(wildcard *.c)))
HEADERS:=$(wildcard *.h)
+CPPFLAGS += -I$(TOPDIR)/include
+
# Depend on the specific file (.c for each .o) and on all headers
%.o: %.c ${HEADERS}
- echo "CC $<"
- $(CC) $(CFLAGS) -c -o $@ $<
+ echo "[i3-config-wizard] CC $<"
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
+
+all: i3-config-wizard
+
+i3-config-wizard: $(TOPDIR)/libi3/libi3.a cfgparse.y.o cfgparse.yy.o ${FILES}
+ echo "[i3-config-wizard] LINK i3-config-wizard"
+ $(CC) $(LDFLAGS) -o $@ $(filter-out libi3/libi3.a,$^) $(LIBS)
-all: cfgparse.y.o cfgparse.yy.o ${FILES}
- echo "LINK i3-config-wizard"
- $(CC) -o i3-config-wizard $^ $(LDFLAGS)
+$(TOPDIR)/libi3/%.a: $(TOPDIR)/libi3/*.c
+ $(MAKE) -C $(TOPDIR)/libi3
cfgparse.yy.o: cfgparse.l cfgparse.y.o ${HEADERS}
- echo "LEX $<"
- flex -i -o$(@:.o=.c) $<
- $(CC) $(CFLAGS) -c -o $@ $(@:.o=.c)
+ echo "[i3-config-wizard] LEX $<"
+ $(FLEX) -i -o$(@:.o=.c) $<
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $(@:.o=.c)
cfgparse.y.o: cfgparse.y ${HEADERS}
- echo "YACC $<"
- bison --debug --verbose -b $(basename $< .y) -d $<
- $(CC) $(CFLAGS) -c -o $@ $(<:.y=.tab.c)
+ echo "[i3-config-wizard] YACC $<"
+ $(BISON) --debug --verbose -b $(basename $< .y) -d $<
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $(<:.y=.tab.c)
install: all
- echo "INSTALL"
+ echo "[i3-config-wizard] INSTALL"
$(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/bin
$(INSTALL) -m 0755 i3-config-wizard $(DESTDIR)$(PREFIX)/bin/