.PHONY: all clean install test all: 3rdParty/xxd/xxd biruda birudaenv workertest # gcc/clang CFLAGS = -g -O0 -std=c99 -Wall -pedantic -D_XOPEN_SOURCE=600 -D_DEFAULT_SOURCE # tcc #CFLAGS = -g CFLAGS += -I/usr/local/include -I3rdParty/linenoise -I3rdParty/http_tiny CFLAGS += `pkg-config --cflags glib-2.0` CFLAGS += `pkg-config --cflags libconfuse` CFLAGS += `pkg-config --cflags json-c` CFLAGS += `pkg-config --cflags libmicrohttpd` LDFLAGS = -L/usr/local/lib LDFLAGS += `pkg-config --libs-only-L glib-2.0` LDFLAGS += `pkg-config --libs-only-L libconfuse` LDFLAGS += `pkg-config --libs-only-L json-c` LDFLAGS += `pkg-config --libs-only-L libmicrohttpd` LIBS = -lconfuse -lpthread -lnanomsg -ljson-c -lmicrohttpd LIBS += `pkg-config --libs-only-l glib-2.0` %.o : %.c $(CC) $(CFLAGS) -c -o $@ $< biruda: biruda.o biruda_cmdline.o master.o coordinator.o worker.o system.o webserver.o 3rdParty/linenoise/linenoise.o 3rdParty/http_tiny/http_lib.o cli.o $(CC) -o $@ $(LDFLAGS) $^ $(LIBS) birudaenv: birudaenv.c system.c $(CC) -o $@ $^ biruda_cmdline.o: biruda_cmdline.c biruda.o: biruda.c biruda_cmdline.h master.h coordinator.h worker.h port.h system.h webserver.h 3rdParty/linenoise/linenoise.h cli.h biruda_conf.c master.o: master.c master.h port.h coordinator.o: coordinator.c coordinator.h port.h system.h worker.o: worker.c worker.h port.h system.o: system.c system.h webserver.o: webserver.c webserver.h index.h jquery-ui-css.h jquery-js.h jquery-ui-js.h ui-bg_flat_0_aaaaaa_40x100-png.h ui-bg_flat_75_ffffff_40x100-png.h ui-bg_glass_55_fbf9ee_1x400-png.h ui-bg_glass_65_ffffff_1x400-png.h ui-bg_glass_75_dadada_1x400-png.h ui-bg_glass_75_e6e6e6_1x400-png.h ui-bg_glass_95_fef1ec_1x400-png.h ui-bg_highlight-soft_75_cccccc_1x100-png.h ui-icons_222222_256x240-png.h ui-icons_2e83ff_256x240-png.h ui-icons_454545_256x240-png.h ui-icons_888888_256x240-png.h ui-icons_cd0a0a_256x240-png.h loading-gif.h jquery.ui.waitbutton.js.h 3rdParty/linenoise/linenoise.o: 3rdParty/linenoise/linenoise.c 3rdParty/linenoise/linenoise.h 3rdParty/http_tiny/http_lib.o: 3rdParty/http_tiny/http_lib.c 3rdParty/http_tiny/http_lib.h cli.o: cli.c cli.h biruda_cmdline.c: biruda.ggo gengetopt -F biruda_cmdline --unamed-opts --conf-parser --include-getopt -i $< biruda_cmdline.h: biruda.ggo gengetopt -F biruda_cmdline --unamed-opts --conf-parser --include-getopt -i $< workertest: workertest.o workertest.o: workertest.c 3rdParty/xxd/xxd: 3rdParty/xxd/xxd.c $(CC) -o $@ $^ biruda_conf.c: biruda.conf 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i biruda.conf > biruda_conf.c index.h: index.html 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i index.html > index.h jquery-ui-css.h: jquery-ui.css 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i jquery-ui.css > jquery-ui-css.h jquery-js.h: jquery.js 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i jquery.js > jquery-js.h jquery-ui-js.h: jquery-ui.js 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i jquery-ui.js > jquery-ui-js.h ui-bg_flat_0_aaaaaa_40x100-png.h: images/ui-bg_flat_0_aaaaaa_40x100.png 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i images/ui-bg_flat_0_aaaaaa_40x100.png > ui-bg_flat_0_aaaaaa_40x100-png.h ui-bg_flat_75_ffffff_40x100-png.h: images/ui-bg_flat_75_ffffff_40x100.png 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i images/ui-bg_flat_75_ffffff_40x100.png > ui-bg_flat_75_ffffff_40x100-png.h ui-bg_glass_55_fbf9ee_1x400-png.h: images/ui-bg_glass_55_fbf9ee_1x400.png 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i images/ui-bg_glass_55_fbf9ee_1x400.png > ui-bg_glass_55_fbf9ee_1x400-png.h ui-bg_glass_65_ffffff_1x400-png.h: images/ui-bg_glass_65_ffffff_1x400.png 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i images/ui-bg_glass_65_ffffff_1x400.png > ui-bg_glass_65_ffffff_1x400-png.h ui-bg_glass_75_dadada_1x400-png.h: images/ui-bg_glass_75_dadada_1x400.png 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i images/ui-bg_glass_75_dadada_1x400.png > ui-bg_glass_75_dadada_1x400-png.h ui-bg_glass_75_e6e6e6_1x400-png.h: images/ui-bg_glass_75_e6e6e6_1x400.png 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i images/ui-bg_glass_75_e6e6e6_1x400.png > ui-bg_glass_75_e6e6e6_1x400-png.h ui-bg_glass_95_fef1ec_1x400-png.h: images/ui-bg_glass_95_fef1ec_1x400.png 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i images/ui-bg_glass_95_fef1ec_1x400.png > ui-bg_glass_95_fef1ec_1x400-png.h ui-bg_highlight-soft_75_cccccc_1x100-png.h: images/ui-bg_highlight-soft_75_cccccc_1x100.png 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i images/ui-bg_highlight-soft_75_cccccc_1x100.png > ui-bg_highlight-soft_75_cccccc_1x100-png.h ui-icons_222222_256x240-png.h: images/ui-icons_222222_256x240.png 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i images/ui-icons_222222_256x240.png > ui-icons_222222_256x240-png.h ui-icons_2e83ff_256x240-png.h: images/ui-icons_2e83ff_256x240.png 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i images/ui-icons_2e83ff_256x240.png > ui-icons_2e83ff_256x240-png.h ui-icons_454545_256x240-png.h: images/ui-icons_454545_256x240.png 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i images/ui-icons_454545_256x240.png > ui-icons_454545_256x240-png.h ui-icons_888888_256x240-png.h: images/ui-icons_888888_256x240.png 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i images/ui-icons_888888_256x240.png > ui-icons_888888_256x240-png.h ui-icons_cd0a0a_256x240-png.h: images/ui-icons_cd0a0a_256x240.png 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i images/ui-icons_cd0a0a_256x240.png > ui-icons_cd0a0a_256x240-png.h loading-gif.h: images/loading.gif 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i images/loading.gif > loading-gif.h jquery.ui.waitbutton.js.h: jquery.ui.waitbutton.js 3rdParty/xxd/xxd 3rdParty/xxd/xxd -i jquery.ui.waitbutton.js > jquery.ui.waitbutton.js.h clean: @-rm *.o @-rm biruda birudaenv @-rm biruda_cmdline.[ch] @-rm workertest @-rm 3rdParty/http_tiny/*.o @-rm 3rdParty/linenoise/*.o @-rm 3rdParty/xxd/xxd @-rm biruda_conf.c @-rm index.h jquery-ui-css.h jquery-js.h jquery-ui-js.h ui-bg_flat_0_aaaaaa_40x100-png.h ui-bg_flat_75_ffffff_40x100-png.h ui-bg_glass_55_fbf9ee_1x400-png.h ui-bg_glass_65_ffffff_1x400-png.h ui-bg_glass_75_dadada_1x400-png.h ui-bg_glass_75_e6e6e6_1x400-png.h ui-bg_glass_95_fef1ec_1x400-png.h ui-bg_highlight-soft_75_cccccc_1x100-png.h ui-icons_222222_256x240-png.h ui-icons_2e83ff_256x240-png.h ui-icons_454545_256x240-png.h ui-icons_888888_256x240-png.h ui-icons_cd0a0a_256x240-png.h loading-gif.h # default values DESTDIR ?= prefix ?= /usr # standard directories following FHS execdir=$(prefix) sbindir=$(execdir)/sbin sysconfdir=$(execdir)/etc install: @test -d $(DESTDIR)$(sbindir) || install -d -m 0755 $(DESTDIR)$(sbindir) install -m 0775 biruda $(DESTDIR)$(sbindir) @test -d $(DESTDIR)$(sysconfdir)/biruda || install -d -m 0755 $(DESTDIR)$(sysconfdir)/biruda install -m 0644 biruda.conf $(DESTDIR)$(sysconfdir)/biruda run: all @-./biruda -c biruda.conf -p @-./biruda --guess-env --human-readable @-./biruda -f -c biruda.conf test: all @-./biruda -f -c biruda.conf & @sleep 10 @-./biruda -i --no-colors -c biruda.conf -F testscript @-pkill biruda