# 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
man_pages := oslfsck.1
INSTALL := install
-CC := gcc
+ifeq "$(origin CC)" "default"
+ CC := gcc
+endif
MKDIR := mkdir -p
RM := rm -f
LN := ln
# 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.
$(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