# where to install
-prefix := /usr/local
-libdir := $(prefix)/lib
-includedir := $(prefix)/include
-bindir := $(prefix)/bin
-mandir := $(prefix)/man/man1
+PREFIX ?:= /usr/local
+libdir := $(PREFIX)/lib
+includedir := $(PREFIX)/include
+bindir := $(PREFIX)/bin
+mandir := $(PREFIX)/man/man1
objects := osl.o util.o rbtree.o sha1.o
fsck_objects := fsck.fsck.o osl.fsck.o util.fsck.o rbtree.fsck.o sha1.fsck.o fsck.cmdline.o
# Darwin has its own idea on version numbers:
realname := lib$(libname).$(x).dylib
soname := $(realname)
- linkername := lib$(libname).so
+ linkername := lib$(libname).dylib
# The minor version number is an incremental number using the format
# X[.Y[.Z]]. To set the minor version number of a dynamic library, use
# the gcc -current_version option.
LDFLAGS += --shared
endif
-
all: $(realname) $(executables) $(man_pages)
Makefile.deps: $(wildcard *.c *.h)
$(CC) -MM -MG *.c > $@
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(LIBCFLAGS) $<
fsck.cmdline.h fsck.cmdline.c: fsck.ggo Makefile
- gengetopt $$O \
+ gengetopt \
--conf-parser \
--unamed-opts=table \
--no-handle-version \
rm -rf web/doxygen
install: all
- $(MKDIR) $(libdir) $(includedir)
+ $(MKDIR) $(libdir) $(includedir) $(mandir) $(bindir)
$(RM) $(libdir)/$(linkername)
$(LN) -s $(libdir)/$(soname) $(libdir)/$(linkername)
- $(INSTALL) -s -m 755 $(realname) $(libdir)
+ $(INSTALL) -m 755 $(realname) $(libdir)
$(INSTALL) -m 644 $(headers) $(includedir)
- $(INSTALL) -m 644 $(executables) $(bindir)
+ $(INSTALL) -m 755 $(executables) $(bindir)
$(INSTALL) -m 644 $(man_pages) $(mandir)
.PHONY: all clean install
web/%.1.html: %.1
man2html $< > $@
-web/osl.png: web/osl.pdf
- convert $< $@
+web/osl.png: web/osl.pdf Makefile
+ convert -scale 200x200 $< $@
web/index.html: web/oslfsck.1.html web/index.html.in INSTALL README
sed -e '/@README@/,$$d' web/index.html.in > $@