| VERSION = $(shell awk '/Version:/ { print $$2 }' logrotate.spec) |
| OS_NAME = $(shell uname -s) |
| LFS = $(shell echo `getconf LFS_CFLAGS 2>/dev/null`) |
| CFLAGS = -Wall -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" -DHAVE_STRPTIME=1 -DHAVE_QSORT -DHAVE_STRUCT_STAT_ST_BLOCKS -DHAVE_STRUCT_STAT_ST_BLKSIZE -DHAVE_VSYSLOG $(RPM_OPT_FLAGS) $(LFS) |
| PROG = logrotate |
| MAN = logrotate.8 |
| MAN5 = logrotate.conf.5 |
| LOADLIBES = -lpopt |
| SVNURL= svn+ssh://svn.fedorahosted.org/svn/logrotate |
| SVNPUBURL = http://svn.fedorahosted.org/svn/logrotate |
| SVNTAG = r$(subst .,-,$(VERSION)) |
| |
| ifeq ($(WITH_SELINUX),yes) |
| CFLAGS += -DWITH_SELINUX |
| LOADLIBES += -lselinux |
| # See pretest |
| TEST_SELINUX=1 |
| else |
| # See pretest |
| TEST_SELINUX=0 |
| endif |
| |
| ifeq ($(WITH_ACL),yes) |
| CFLAGS += -DWITH_ACL |
| LOADLIBES += -lacl |
| # See pretest |
| TEST_ACL=1 |
| else |
| # See pretest |
| TEST_ACL=0 |
| endif |
| |
| # HP-UX using GCC |
| ifeq ($(OS_NAME),HP-UX) |
| ifeq ($(RPM_OPT_FLAGS),) |
| RPM_OPT_FLAGS = -O2 |
| endif |
| CC = gcc |
| INSTALL = cpset |
| ifeq ($(POPT_DIR),) |
| POPT_DIR = /usr/local |
| endif |
| ifeq ($(HPLX_DIR),) |
| HPLX_DIR = /usr/local/hplx |
| endif |
| LOADLIBES += -lhplx -L$(HPLX_DIR)/lib |
| ifeq ($(BASEDIR),) |
| BASEDIR = /usr/local |
| endif |
| endif |
| |
| # Solaris using gcc |
| ifeq ($(OS_NAME),SunOS) |
| CFLAGS = -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" $(RPM_OPT_FLAGS) $(LFS) |
| CC ?= gcc |
| CPP = $(CC) -E -M |
| INSTALL = /usr/ucb/install |
| ifeq ($(CC),cc) |
| CPP = cc -xM |
| endif |
| BASEDIR ?= /usr/local |
| endif |
| |
| # Red Hat Linux |
| ifeq ($(OS_NAME),Linux) |
| INSTALL = install |
| BASEDIR = /usr |
| endif |
| |
| # FreeBSD |
| ifeq ($(OS_NAME),FreeBSD) |
| LOADLIBES += -L${LOCALBASE}/lib |
| CFLAGS += -I${LOCALBASE}/include |
| PREFIX= |
| endif |
| |
| ifeq ($(OS_NAME),NetBSD) |
| CFLAGS += -I/usr/include |
| CFLAGS += -I$(BASEDIR)/include |
| LOADLIBES += -L/usr/lib |
| LOADLIBES += -L$(BASEDIR)/lib -Wl,-R,$(BASEDIR)/lib |
| endif |
| |
| ifneq ($(POPT_DIR),) |
| CFLAGS += -I$(POPT_DIR) |
| LOADLIBES += -L$(POPT_DIR) |
| endif |
| |
| ifneq ($(STATEFILE),) |
| CFLAGS += -DSTATEFILE=\"$(STATEFILE)\" |
| endif |
| |
| BINDIR = $(BASEDIR)/sbin |
| MANDIR ?= $(BASEDIR)/man |
| |
| #-------------------------------------------------------------------------- |
| |
| OBJS = logrotate.o log.o config.o basenames.o |
| SOURCES = $(subst .o,.c,$(OBJS) $(LIBOBJS)) |
| |
| ifeq ($(RPM_OPT_FLAGS),) |
| CFLAGS += -g |
| LDFLAGS = -g |
| endif |
| |
| LDFLAGS += $(EXTRA_LDFLAGS) $(EXTRA_LIBS) |
| CFLAGS += $(EXTRA_CPPFLAGS) $(EXTRA_CFLAGS) |
| |
| ifeq (.depend,$(wildcard .depend)) |
| TARGET=$(PROG) |
| else |
| TARGET=depend $(PROG) |
| endif |
| |
| RCSVERSION = $(subst .,-,$(VERSION)) |
| |
| all: show_warning $(TARGET) pretest |
| |
| show_warning: |
| @echo "" |
| @echo "Building using this Makefile is DEPRECATED." |
| @echo "Use './autogen.sh', './configure' and 'make' instead." |
| @echo "Some new features will not be enabled when building using this Makefile." |
| @echo "" |
| |
| $(PROG): $(OBJS) |
| |
| clean: |
| rm -f $(OBJS) $(PROG) core* .depend |
| rm -f ./test/test.ACL ./test/test.SELINUX ./test/error.log |
| |
| depend: |
| $(CPP) $(CFLAGS) -M $(SOURCES) > .depend |
| |
| # pretest create the file ./test/test.ACL with |
| # 0 or 1 according to the WITH_ACL=yes presence. |
| # The file will be used by ./test/test to decide |
| # if to do the ACL tests or not. |
| pretest: |
| echo "$(TEST_ACL)" > ./test/test.ACL ; |
| echo "$(TEST_SELINUX)" > ./test/test.SELINUX ; |
| |
| .PHONY : test |
| test: $(TARGET) |
| (cd test; ./test) |
| |
| install: |
| [ -d $(PREFIX)$(BINDIR) ] || mkdir -p $(PREFIX)$(BINDIR) |
| [ -d $(PREFIX)$(MANDIR) ] || mkdir -p $(PREFIX)$(MANDIR) |
| [ -d $(PREFIX)$(MANDIR)/man8 ] || mkdir -p $(PREFIX)$(MANDIR)/man8 |
| [ -d $(PREFIX)$(MANDIR)/man5 ] || mkdir -p $(PREFIX)$(MANDIR)/man5 |
| |
| if [ "$(OS_NAME)" = HP-UX ]; then \ |
| $(INSTALL) $(PROG) $(PREFIX)$(BINDIR) 0755 bin bin; \ |
| $(INSTALL) $(MAN) $(PREFIX)$(MANDIR)/man`echo $(MAN) | sed "s/.*\.//"` 0644 bin bin; \ |
| $(INSTALL) $(MAN5) $(PREFIX)$(MANDIR)/man`echo $(MAN5) | sed "s/.*\.//"` 0644 bin bin; \ |
| else if [ "$(OS_NAME)" = FreeBSD ]; then \ |
| $(BSD_INSTALL_PROGRAM) $(PROG) $(BINDIR); \ |
| $(BSD_INSTALL_MAN) $(MAN) $(MANDIR)/man`echo $(MAN) | sed "s/.*\.//"`/$(MAN); \ |
| $(BSD_INSTALL_MAN) $(MAN5) $(MANDIR)/man`echo $(MAN5) | sed "s/.*\.//"`/$(MAN5); \ |
| else \ |
| $(INSTALL) -m 755 $(PROG) $(PREFIX)$(BINDIR); \ |
| $(INSTALL) -m 644 $(MAN) $(PREFIX)$(MANDIR)/man`echo $(MAN) | sed "s/.*\.//"`/$(MAN); \ |
| $(INSTALL) -m 644 $(MAN5) $(PREFIX)$(MANDIR)/man`echo $(MAN5) | sed "s/.*\.//"`/$(MAN5); \ |
| fi; fi |
| |
| co: |
| co RCS/*,v |
| (cd examples; co RCS/*,v) |
| |
| svntag: |
| svn copy $(SVNURL)/trunk $(SVNURL)/tags/$(SVNTAG) -m "Release $(VERSION)" |
| |
| create-archive: |
| @rm -rf /tmp/logrotate-$(VERSION) /tmp/logrotate |
| @cd /tmp; svn export $(SVNPUBURL)/tags/$(SVNTAG) logrotate-$(VERSION) |
| @cd /tmp/logrotate-$(VERSION) |
| @cd /tmp; tar czSpf logrotate-$(VERSION).tar.gz logrotate-$(VERSION) |
| @rm -rf /tmp/logrotate-$(VERSION) |
| @cp /tmp/logrotate-$(VERSION).tar.gz . |
| @rm -f /tmp/logrotate-$(VERSION).tar.gz |
| @echo " " |
| @echo "The final archive is ./logrotate-$(VERSION).tar.gz." |
| |
| archive: clean svntag create-archive |
| |
| ifeq (.depend,$(wildcard .depend)) |
| include .depend |
| endif |