summaryrefslogblamecommitdiffstats
path: root/Makefile.in
blob: f739623d6370ab5a20797438df4e5e5655224bb7 (plain) (tree)
1
2
3
4
5
6
7
8
9
10

                       
                                   






                           









                             









                               
                             





                             








       
                               
 
                            
 

                         




                                     
                   






                                                                           


                               

                                          

                 
                 










                                                

































                                                                            

      
                                                           
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