CC = @CC@ CFLAGS ?= @CFLAGS@ CFLAGS += -Iinclude @CPPFLAGS@ SHARED = @SHARED@ PKG_CONFIG = @PKG_CONFIG@ STRIP = @STRIP@ INSTALL = @INSTALL@ SED = @SED@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ includedir = @includedir@ libdir = @libdir@ datarootdir = @datarootdir@ pkgconfigdir = @pkgconfigdir@ lmoddir = @lmoddir@ cmoddir = @cmoddir@ objects = @objects@ LIBS = @LIBS@ headers = @headers@ llibs = \ lem/repl.lua \ lem/streams.lua \ lem/streams/queue.lua \ lem/http.lua \ lem/http/server.lua \ lem/hathaway.lua clibs = \ lem/utils.so \ lem/streams/core.so \ lem/http/core.so ifdef V E=@\# Q= else E=@echo Q=@ endif .PHONY: all strip install clean all: bin/lem lem.pc $(clibs) bin/libev.o: CFLAGS += -w bin/lua.o: lua/luaconf.h %.o: %.c $E ' CC $@' $Q$(CC) $(CFLAGS) -c $< -o $@ bin/lem: $(objects) $E ' LD $@' $Q$(CC) $^ -o $@ -rdynamic $(LDFLAGS) $(LIBS) %.so: %.c $E ' CCLD $@' $Q$(CC) $(CFLAGS) -fPIC -nostartfiles $(SHARED) $^ -o $@ $(LDFLAGS) lua/luaconf.h: lua/luaconf.h.in $E ' SED > $@' $Q$(SED) \ -e 's|@lmoddir[@]|$(lmoddir)|' \ -e 's|@cmoddir[@]|$(cmoddir)|' \ $< > $@ lem.pc: lem.pc.in $E ' SED > $@' $Q$(SED) \ -e 's|@lmoddir[@]|$(lmoddir)|' \ -e 's|@cmoddir[@]|$(cmoddir)|' \ -e 's|@includedir[@]|$(includedir)|' \ $< > $@ %-strip: % $E ' STRIP $<' $Q$(STRIP) $(STRIP_ARGS) $< strip: bin/lem-strip $(clibs:%=%-strip) $(DESTDIR)$(bindir)/%: bin/% $E ' INSTALL $@' $Q$(INSTALL) -d $(dir $@) $Q$(INSTALL) -m 755 $< $@ $(DESTDIR)$(includedir)/lem/%: lua/% $E ' INSTALL $@' $Q$(INSTALL) -d $(dir $@) $Q$(INSTALL) -m 644 $< $@ $(DESTDIR)$(includedir)/lem/%: libev/% $E ' INSTALL $@' $Q$(INSTALL) -d $(dir $@) $Q$(INSTALL) -m 644 $< $@ $(DESTDIR)$(includedir)/lem/%: include/% $E ' INSTALL $@' $Q$(INSTALL) -d $(dir $@) $Q$(INSTALL) -m 644 $< $@ $(DESTDIR)$(lmoddir)/% $(DESTDIR)$(cmoddir)/% $(DESTDIR)$(pkgconfigdir)/%: % $E ' INSTALL $@' $Q$(INSTALL) -d $(dir $@) $Q$(INSTALL) -m 644 $< $@ install: \ $(DESTDIR)$(pkgconfigdir)/lem.pc \ $(DESTDIR)$(bindir)/lem \ $(DESTDIR)$(bindir)/lem-repl \ $(headers:%=$(DESTDIR)$(includedir)/lem/%) \ $(llibs:%=$(DESTDIR)$(lmoddir)/%) \ $(clibs:%=$(DESTDIR)$(cmoddir)/%) clean: rm -f bin/lem bin/*.o $(clibs) lua/luaconf.h lem.pc