slcl/Makefile

52 lines
1.0 KiB
Makefile

.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 -Ilibweb/include -Ilibweb/dynstr/include \
-MD -MF $(@:.o=.d)
LIBS = -lcjson -lssl -lm -lcrypto
DEPS = $(OBJECTS:.o=.d)
DYNSTR = libweb/dynstr/libdynstr.a
DYNSTR_FLAGS = -Llibweb/dynstr -ldynstr
LIBWEB = libweb/libslweb.a
SLWEB_FLAGS = -Llibweb -lweb
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 libweb && $(MAKE) clean
+cd libweb/dynstr && $(MAKE) clean
FORCE:
$(PROJECT): $(OBJECTS) $(DYNSTR) $(LIBWEB)
$(CC) $(OBJECTS) $(LDFLAGS) $(LIBS) $(SLWEB_FLAGS) $(DYNSTR_FLAGS) -o $@
$(DYNSTR): FORCE
+cd libweb/dynstr && $(MAKE)
$(LIBWEB): FORCE
+cd libweb && $(MAKE)
-include $(DEPS)