diff options
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | Makefile | 26 | ||||
| m--------- | dynstr | 0 |
3 files changed, 22 insertions, 6 deletions
@@ -1,5 +1,7 @@ *.o *.a *.d +*.so +*.so.* examples/hello/hello examples/html/html @@ -1,12 +1,21 @@ .POSIX: -PROJECT = libweb.a +PROJECT = libweb +PROJECT_A = $(PROJECT).a +MAJOR_VERSION = 0 +MINOR_VERSION = 1 +PATCH_VERSION = 0 +VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION) +PROJECT_SO = $(PROJECT).so.$(VERSION) +PROJECT_SO_FQ = $(PROJECT).so.$(MAJOR_VERSION) +PROJECT_SO_NV = $(PROJECT).so PREFIX = /usr/local DST = $(PREFIX)/lib PC_DST = $(DST)/pkgconfig O = -Og CDEFS = -D_FILE_OFFSET_BITS=64 # Required for large file support on 32-bit. -CFLAGS = $(O) $(CDEFS) -g -Iinclude -Idynstr/include -MD -MF $(@:.o=.d) +CFLAGS = $(O) $(CDEFS) -g -Iinclude -Idynstr/include -fPIC -MD -MF $(@:.o=.d) +LDFLAGS = -shared DEPS = $(OBJECTS:.o=.d) OBJECTS = \ handler.o \ @@ -15,15 +24,17 @@ OBJECTS = \ server.o \ wildcard_cmp.o -all: $(PROJECT) +all: $(PROJECT_A) $(PROJECT_SO) install: all $(PC_DST)/libweb.pc mkdir -p $(PREFIX)/include cp -R include/libweb $(PREFIX)/include chmod 0644 $(PREFIX)/include/libweb/*.h mkdir -p $(DST) - cp $(PROJECT) $(DST) - chmod 0755 $(DST)/$(PROJECT) + cp $(PROJECT_A) $(PROJECT_SO) $(DST) + chmod 0755 $(DST)/$(PROJECT_A) $(DST)/$(PROJECT_SO) + ln -fs $(DST)/$(PROJECT_SO) $(DST)/$(PROJECT_SO_FQ) + ln -fs $(DST)/$(PROJECT_SO) $(DST)/$(PROJECT_SO_NV) +cd doc && $(MAKE) PREFIX=$(PREFIX) install clean: @@ -35,9 +46,12 @@ FORCE: examples: FORCE +cd examples && $(MAKE) -$(PROJECT): $(OBJECTS) +$(PROJECT_A): $(OBJECTS) $(AR) $(ARFLAGS) $@ $(OBJECTS) +$(PROJECT_SO): $(OBJECTS) + $(CC) $(LDFLAGS) $(OBJECTS) -o $@ + $(PC_DST)/libweb.pc: libweb.pc mkdir -p $(PC_DST) sed -e 's,/usr/local,$(PREFIX),' $< > $@ diff --git a/dynstr b/dynstr -Subproject de0d0e9fab2dc8e5886484c680d7ab9062ad395 +Subproject 80057fd3c1e2ed11e1c1d6e01e4c8d60042cf30 |
