VERSION = 1.2.5 CFLAGS += -g -O2 -Wall -Wextra -Wshadow \ -fanalyzer -Wno-analyzer-file-leak \ -rdynamic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DVERSION=\"$(VERSION)\"\ `pkg-config --cflags-only-I gumbo libcurl fuse uuid expat` LDFLAGS += `pkg-config --libs-only-L gumbo libcurl fuse uuid expat` LIBS = -pthread -lgumbo -lcurl -lfuse -lcrypto -lexpat COBJS = main.o network.o fuse_local.o link.o cache.o util.o sonic.o log.o\ config.o memcache.o OS := $(shell uname) ifeq ($(OS),Darwin) BREW_PREFIX := $(shell brew --prefix) CFLAGS += -I$(BREW_PREFIX)/opt/openssl/include \ -I$(BREW_PREFIX)/opt/curl/include LDFLAGS += -L$(BREW_PREFIX)/opt/openssl/lib \ -L$(BREW_PREFIX)/opt/curl/lib else LIBS += -luuid endif ifeq ($(OS),FreeBSD) LIBS += -lexecinfo endif prefix ?= /usr/local all: httpdirfs %.o: src/%.c $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -c -o $@ $< httpdirfs: $(COBJS) $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) install: ifeq ($(OS),Linux) install -m 755 -D httpdirfs \ $(DESTDIR)$(prefix)/bin/httpdirfs install -m 644 -D doc/man/httpdirfs.1 \ $(DESTDIR)$(prefix)/share/man/man1/httpdirfs.1 endif ifeq ($(OS),FreeBSD) install -m 755 httpdirfs \ $(DESTDIR)$(prefix)/bin/httpdirfs gzip -f -k doc/man/httpdirfs.1 install -m 644 doc/man/httpdirfs.1.gz \ $(DESTDIR)$(prefix)/man/man1/httpdirfs.1.gz endif ifeq ($(OS),Darwin) install -d $(DESTDIR)$(prefix)/bin install -m 755 httpdirfs \ $(DESTDIR)$(prefix)/bin/httpdirfs install -d $(DESTDIR)$(prefix)/share/man/man1 install -m 644 doc/man/httpdirfs.1 \ $(DESTDIR)$(prefix)/share/man/man1/httpdirfs.1 endif man: httpdirfs mkdir -p doc/man help2man --name "mount HTTP directory as a virtual filesystem" \ --no-discard-stderr ./httpdirfs > doc/man/httpdirfs.1 doc: doxygen Doxyfile format: astyle --style=kr --align-pointer=name --max-code-length=80 src/*.c src/*.h clean: -rm -f src/*.h~ -rm -f src/*.c~ -rm -f src/*orig -rm -f *.o -rm -f httpdirfs distclean: clean -rm -rf doc/html -rm -rf doc/man/httpdirfs.1 uninstall: -rm -f $(DESTDIR)$(prefix)/bin/httpdirfs ifeq ($(OS),Linux) -rm -f $(DESTDIR)$(prefix)/share/man/man1/httpdirfs.1 endif ifeq ($(OS),FreeBSD) -rm -f $(DESTDIR)$(prefix)/man/man1/httpdirfs.1.gz endif ifeq ($(OS),Darwin) -rm -f $(DESTDIR)$(prefix)/share/man/man1/httpdirfs.1 endif depend: .depend .depend: src/*.c rm -f ./.depend $(CC) $(CFLAGS) -MM $^ -MF ./.depend; include .depend .PHONY: all man doc install clean distclean uninstall depend format