# Makefile for ../logrotate/logrotate
 
CCOPTS        = -O

SHELL	      = /bin/sh

VERSION = `awk '/Version:/ { print $$2 }' logrotate.spec`
EXTRA_AIX_CFLAGS = -qlanglvl=ansi -ma -Ipopt
EXTRA_SUNOS_CFLAGS = -Ipopt
EXTRA_AIX_LIBS =
EXTRA_SUNOS_LIBS =
EXTRA_LINUX_LIBS = -lpopt
NON_LINUX_LIBS = -Lpopt -lpopt

CFLAGS	      = -I../include -I. $(CCOPTS) -DVERSION=\"$(VERSION)\"
PFLAGS	      = -I../include -I. $(CCOPTS)
FFLAGS	      = -I../include -I. $(CCOPTS)
CCFLAGS       = -I../include -I. $(CCOPTS)
CXXFLAGS      = -I../include -I. $(CCOPTS)

CC	      = cc

DEST	      = .

# Uncomment this if you want system header files to be expanded
#
# SYSHDRS       =

EXTHDRS	      =

HDRS	      =

INSTALL	      = install

LD	      = $(CC)

LDFLAGS	      =

POPTLIB       = libpopt.a

LIBS	      =

LINTLIBS      =

LINTFLAGS     = -u $(CFLAGS)

MAKEFILE      = Makefile

OBJS	      = basenames.o \
		config.o \
		log.o \
		logrotate.o 

PRINT	      = pr

PRINTFLAGS    =

LP	      = lp

LPFLAGS       = 

PROGRAM       = logrotate

SUBDIRS       = popt

SRCS          = basenames.c \
                config.c \
                log.c \
                logrotate.c 

all:		$(PROGRAM)

#$(OBJS):	$(MAKEFILE)
# Linux does not like $(OBJS):      $(MAKEFILE), use .c.o: instead
.c.o:
		@if [ "`uname`" = "AIX" ]; then \
		echo "$(CC) -c $(CFLAGS) $(EXTRA_AIX_CFLAGS) $<"; \
		$(CC) -c $(CFLAGS) $(EXTRA_AIX_CFLAGS) $<; \
		elif [ "`uname`" = "SunOS" ]; then \
 		echo "$(CC) -c $(CFLAGS) $(EXTRA_SUNOS_CFLAGS) $<"; \
		$(CC) -c $(CFLAGS) $(EXTRA_SUNOS_CFLAGS) $<; \
		else \
		echo "$(CC) -c $(CFLAGS) $<"; \
		$(CC) -c $(CFLAGS) $<; \
		fi

$(POPTLIB):
		@if [ "`uname`" = "Linux" ]; then \
		touch $(POPTLIB); \
		else \
		(cd popt; make); \
		ln popt/$(POPTLIB) $(POPTLIB); \
		fi

$(PROGRAM):     $(POPTLIB) $(OBJS) $(LIBS) $(MAKEFILE)
		@echo "Linking $(PROGRAM) ..."
		@if [ "`uname`" = "SunOS" ]; then \
		$(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(EXTRA_SUNOS_LIBS) \
			$(NON_LINUX_LIBS) -o $(PROGRAM); \
		elif [ "`uname`" = "AIX" ]; then \
		$(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(EXTRA_AIX_LIBS) \
			$(NON_LINUX_LIBS) -o $(PROGRAM); \
		elif [ "`uname`" = "Linux" ]; then \
		$(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(EXTRA_LINUX_LIBS) \
			-o $(PROGRAM); \
		else \
		$(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(NON_LINUX_LIBS) \
		 	-o $(PROGRAM); \
		fi
		@echo "done"

clean:;		@rm -f $(PROGRAM) $(POPTLIB) $(LIBRARY) $(OBJS) core make.log
		@if [ "`uname`" != "Linux" ]; then \
		(cd popt; make clean) \
		fi

clobber:;	@rm -f $(OBJS) $(PROGRAM) core tags

depend:;	@mkmf -f $(MAKEFILE) ROOT=$(ROOT)

echo:;		@echo $(HDRS) $(SRCS)

-1:;		@ctags -wx $(HDRS) $(SRCS)

install:	$(PROGRAM)
		@echo Installing $(PROGRAM) in $(DEST)
		@-strip $(PROGRAM)
		@if [ $(DEST) != . ]; then \
		(rm -f $(DEST)/$(PROGRAM); $(INSTALL) -d $(DEST); $(INSTALL) $(PROGRAM) $(DEST)); fi

lint:		$(LINTLIBS) $(SRCS) $(HDRS) $(EXTHDRS)
		lint $(LINTFLAGS) $(LINTLIBS) $(SRCS)

print:;		@$(PRINT) $(PRINTFLAGS) $(HDRS) $(SRCS) | $(LP) $(LPFLAGS)

tags:           $(HDRS) $(SRCS); @ctags $(HDRS) $(SRCS)

update:		$(DEST)/$(PROGRAM)

touch:;		@touch $(SRCS) $(HDRS)
###
config.o: logrotate.h
logrotate.o: logrotate.h
