.POSIX: PREFIX = /usr/local DST = $(PREFIX)/bin PROJECT = slcl O = -Og CDEFS = -D_FILE_OFFSET_BITS=64 # Required for large file support on 32-bit. CFLAGS = $(O) $(CDEFS) -g -Wall -Islweb/include -Islweb/dynstr/include \ -MD -MF $(@:.o=.d) LIBS = -lcjson -lssl -lm -lcrypto DEPS = $(OBJECTS:.o=.d) DYNSTR = slweb/dynstr/libdynstr.a DYNSTR_FLAGS = -Lslweb/dynstr -ldynstr SLWEB = slweb/libslweb.a SLWEB_FLAGS = -Lslweb -lslweb OBJECTS = \ auth.o \ base64.o \ cftw.o \ hex.o \ jwt.o \ main.o \ page.o \ style.o all: $(PROJECT) install: all usergen mkdir -p $(DST) cp slcl usergen $(DST) chmod 0755 $(DST)/slcl chmod 0755 $(DST)/usergen +cd doc && $(MAKE) PREFIX=$(PREFIX) install clean: rm -f $(OBJECTS) $(DEPS) +cd slweb && $(MAKE) clean +cd slweb/dynstr && $(MAKE) clean FORCE: $(PROJECT): $(OBJECTS) $(DYNSTR) $(SLWEB) $(CC) $(OBJECTS) $(LDFLAGS) $(LIBS) $(SLWEB_FLAGS) $(DYNSTR_FLAGS) -o $@ $(DYNSTR): FORCE +cd slweb/dynstr && $(MAKE) $(SLWEB): FORCE +cd slweb && $(MAKE) -include $(DEPS)