# This file was generated by `gxv' from `timer.G'.
# $Id: Makefile,v 1.7 92/06/24 12:04:19 ian Exp $

# Parameters.

PROGRAM = timekeeper
SOURCES.c = topics.c logfile.c
SOURCES.h = 
SOURCES.G = timer.G
STUBS.G = timer.G

OTHERPROGS = tkp tkrefmt
BINDIR = /usr/local/bin
LIBDIR = /usr/local/lib/timekeeper

# Derived parameters.

SOURCES = \
	$(SOURCES.G) \
	$(SOURCES.h) \
	$(SOURCES.l) \
	$(SOURCES.y) \
	$(SOURCES.c)

TARGETS.c = \
	$(SOURCES.G:%.G=%_ui.c) \
	$(STUBS.G:%.G=%_stubs.c)

TARGETS.h = \
	$(SOURCES.G:%.G=%_ui.h) \
	$(SOURCES.l:%.l=%.h) \
	$(SOURCES.y:%.y=%.h)

TARGETS.other = tkp \
	$(SOURCES.G:%.G=%.info)

TARGETS = \
	$(OTHERPROGS) \
	$(TARGETS.other) \
	$(TARGETS.h) \
	$(TARGETS.c)

OBJECTS = \
	$(SOURCES.c:%.c=%.o) \
	$(TARGETS.c:%.c=%.o)

# Compiler flags.

CFLAGS += -g
CPPFLAGS += -I$(GUIDEHOME)/include -I$(OPENWINHOME)/include -DMAIN
LDFLAGS += -L$(GUIDEHOME)/lib -L$(OPENWINHOME)/lib
LDLIBS += -lguidexv -lguide -lxview -lolgx -lX11

# Standard targets.
all:	 $(TARGETS.other) $(PROGRAM)
objects: $(SOURCES.c) $(TARGETS.c) $(TARGETS.h) $(OBJECTS)
sources: $(SOURCES)
targets: $(SOURCES) $(TARGETS)

install:	all
		install -s -m 755 $(PROGRAM) $(OTHERPROGS) $(BINDIR)
		install default-tasks $(LIBDIR)/tasks
		install tksumm.awk $(LIBDIR)
		install timekeeper.1 /usr/local/man/man1/timekeeper.1
		-ln /usr/local/man/man1/timekeeper.1 /usr/local/man/man1/tkp.1
install.remote:	all
		for host in sq sqlee; \
		do \
			rcp tkp $$host:$(BINDIR)/tkp; \
			rcp tksumm.awk $$host:$(LIBDIR)/tksumm.awk; \
			rcp default-tasks $$host:$(LIBDIR)/tasks; \
		done
		rcp timekeeper sqlee:/usr/local/bin

$(PROGRAM): $(SOURCES.c) $(TARGETS.c) $(TARGETS.h) $(OBJECTS)
	$(LINK.c) -o $@ $(OBJECTS) $(LDLIBS)

timer_stubs.o:	punchclock.icon nobilling.icon

# program that converts from our format to tksumm format.
tkrefmt:	tkrefmt.c
		$(CC) $? -o $@

tkp:		tkp.sh
		cp $? $@

# Targets to be used by Saber-C.

saber_src:
	#load $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) \
		$(SOURCES.c) $(TARGETS.c) $(LDLIBS)

saber_obj:
	#load $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) $(OBJECTS) $(LDLIBS)

clean:
	$(RM) $(SOURCES.G:%.G=%_ui.c) $(TARGETS.other) $(TARGETS.h) $(OBJECTS) *.BAK *.delta core

%_ui.c: %.G
	$(GUIDEHOME)/bin/gxv  $*

%_ui.h: %_ui.c
	@touch $@

%_stubs.c: %_ui.c
	@touch $@

%.info: %_ui.c
	@touch $@
