diff --git a/Makefile b/Makefile index a3f345f..fe5a083 100644 --- a/Makefile +++ b/Makefile @@ -1,17 +1,16 @@ -PREFIX=/usr/local -BINDIR=$(DESTDIR)$(PREFIX)/bin -CFLAGS=-Wall -Werror\ - -Wformat=2\ - -g\ - -LDFLAGS= -OS=$(shell uname|tr A-Z a-z) -INSTALL=install - -VERS=$(shell ./vers.sh) -TARG=beanstalkd -MOFILE=main.o -OFILES=\ +PREFIX ?= /usr/local +BINDIR = $(DESTDIR)$(PREFIX)/bin +CFLAGS += -Wall -Werror -Wformat=2 -g +LDFLAGS += +LDLIBS ?= + +OS ?= $(shell uname | tr 'A-Z' 'a-z') +INSTALL ?= install + +VERS = $(shell ./vers.sh) +TARG = beanstalkd +MOFILE = main.o +OFILES = \ $(OS).o\ conn.o\ file.o\ @@ -29,52 +28,44 @@ OFILES=\ vers.o\ walg.o\ -TOFILES=\ +TOFILES = \ testheap.o\ testjobs.o\ testserv.o\ testutil.o\ -HFILES=\ +HFILES = \ dat.h\ sd-daemon.h\ ifeq ($(OS),linux) - -LDLIBS=\ - -lrt\ - + LDLIBS += -lrt endif -CLEANFILES=\ +CLEANFILES = \ vers.c\ -.PHONY: all all: $(TARG) $(TARG): $(OFILES) $(MOFILE) $(LINK.o) -o $@ $^ $(LDLIBS) -.PHONY: install install: $(BINDIR)/$(TARG) $(BINDIR)/%: % $(INSTALL) -d $(dir $@) $(INSTALL) $< $@ -CLEANFILES:=$(CLEANFILES) $(TARG) +CLEANFILES := $(CLEANFILES) $(TARG) $(OFILES) $(MOFILE): $(HFILES) -.PHONY: clean clean: rm -f *.o $(CLEANFILES) -.PHONY: check check: ct/_ctcheck ct/_ctcheck -.PHONY: bench bench: ct/_ctcheck ct/_ctcheck -b @@ -88,11 +79,8 @@ ct/ct.o ct/_ctcheck.o: ct/ct.h ct/internal.h $(TOFILES): $(HFILES) ct/ct.h -CLEANFILES:=$(CLEANFILES) ct/_* ct/*.o +CLEANFILES += ct/_* ct/*.o -ifneq ($(shell ./verc.sh),$(shell cat vers.c 2>/dev/null)) -.PHONY: vers.c -endif vers.c: ./verc.sh >vers.c @@ -100,3 +88,9 @@ doc/beanstalkd.1 doc/beanstalkd.1.html: doc/beanstalkd.ronn ronn $< freebsd.o: darwin.c + +.PHONY: all install clean check bench + +ifneq ($(shell ./verc.sh),$(shell cat vers.c 2>/dev/null)) +.PHONY: vers.c +endif