#
# Makefile for rt
#

NAME=rt

ifndef prefix
  prefix=/usr/local
endif

INSTALL       = /usr/bin/install
#INSTALL_OWNER = root
INSTALL_OWNER = $(shell id -u)
#INSTALL_GROUP = root		# realtime
INSTALL_GROUP = $(shell id -g)	# realtime
INSTALL_MODE  = 0555		# r-xr-xr-x

# some options +++++++++++++++
#CPPFLAGS=-DDEBUG

CC_FLAGS  = -Werror -Wall -W
CC_FLAGS += -Wpointer-arith -Wbad-function-cast -Wcast-align -Wcast-qual
CC_FLAGS += -Wwrite-strings -Wstrict-prototypes
CC_FLAGS += -Winline

CC_FLAGS += -fno-inline-functions -fno-unroll-loops -fno-unroll-all-loops
CC_FLAGS += -freg-struct-return -fshort-enums

ALL_CC_FLAGS = -pipe -O2 $(CC_FLAGS) $(CFLAGS) $(CPPFLAGS)

LD_FLAGS = -s

ALL_LD_FLAGS = $(LD_FLAGS) $(LDFLAGS)

# some options ---------------


.PHONY: all clean execlean \
	install install.bin install.man \
	uninstall uninstall.bin uninstall.man \

all: $(NAME)

$(NAME): $(NAME).c Makefile
	gcc $< -o $@ $(ALL_CC_FLAGS) $(ALL_LD_FLAGS)

install: install.bin install.man

uninstall: uninstall.bin uninstall.man

install.bin: $(NAME)
	$(INSTALL) -g $(INSTALL_GROUP) -o $(INSTALL_OWNER) -m $(INSTALL_MODE) $(NAME) $(prefix)/bin

install.man:
	$(INSTALL) -g $(INSTALL_GROUP) -o $(INSTALL_OWNER) -m $(INSTALL_MODE) $(NAME).1 $(prefix)/man/man1

uninstall.bin:
	$(RM) $(prefix)/bin/$(NAME)

uninstall.man:
	$(RM) $(prefix)/man/man1/$(NAME).1

clean:
	$(RM) *~ *.o $(NAME)

execlean:
	$(RM) $(NAME)

