## Makefile: Makefile for GUBI (gtk+ user interface builder)
 # Copyright (C) 1997	Tim Janik	<timj@psynet.net>
 #
 # RCS_ID("$Id: Makefile,v 1.4 1997/08/18 03:22:57 timj Exp $")
##

LIBNAME	=
LIBVER	=
LIBSUBV	=
PRGNAME	=gubi

CODE_PROFILE    = defined
CODE_DEBUG      = defined

include ./Makefile.cnf
include ./Makefile.glb

# Override the stripping
STRIP	= : strip

# Debug types: -D_DEBUG_...
DEBUG	+= # -DD_MALLOG
DEBUG	+= # -DNDEBUG
DEFINES += -DGTK_BUGS_WORKAROUND -DPARANOID
DEFINES += # -DNO_RCS_ID
WARN	+= -Wall -Wmissing-prototypes -Wstrict-prototypes # -Wconversion
WARN	+= -Woverloaded-virtual -Winline -Wpointer-arith # -Werror
CFLAGS	+= -ansi -U__STRICT_ANSI__
LIBFLAGS+=
INCLUDES+= -I/usr/include/X11 -I/usr/local/include/gtk -I/usr/local/include/gdk
LDFLAGS	+= -L/usr/X11R6/lib
LIBS	= -lX11 -lXext -lgtk -lgdk -lglib -lm

OFILES	= main.o
LOFILES	= dmallog.o \
	  gbuild.o \
	  widgets.o \
	  gtkext.o \
	  type2str.o \
	  gsi.o \
	  widdata.o \
	  structures.o \
	  wdtree.o \
	  windows.o \
	  special_fields.o \
	  treelist.o \
	  auxlist.o \
	  browser.o \
	  editor.o \
	  builder.o \
	  c_source.o \
	  gbclex.yy.o \
	  gbcio.o \
	  misc.o \
	  ufunc.o

MAN_IFACE_SEC	=7
MAN_IFACE_NAME	=$(PRGNAME) - interface
MAN_IFACE_FILES	= dmallog.h \
		  gbuild.h \
		  type2str.h \
		  gsi.h \
		  widdata.h \
		  gtkext.h \
		  special_fields.h \
		  windows.h \
		  builder.h \
		  gbcio.h \
		  wdtree.h	# auxlist.h browser.h editor.h treelist.h ufunc.h


all:	link

install:	.prginstall

link:	$(LOFILES) $(OFILES)
	$(STRIP)	--strip-debug $(OFILES) $(LOFILES)
	$(LD)		$(OFILES) $(LOFILES) $(LDFLAGS) $(LIBS) -o $(PRGNAME)
	$(STRIP)	--strip-all $(PRGNAME)
	sync

depend:	.Ccdepend

man:  $(patsubst %,$(L_MANDIR)/%,$(MAN_FILES))

manclean:	.manclean

clean:	.oclean

realclean:	clean .rclean .manclean
	$(RM)	lib$(LIBNAME).so* $(PRGNAME)

tarclean:	realclean	gbclex.yy.c
	$(RM)	test_src/*

date-mark:
	$(SED)	'/#define[	 ]\+VERSION[	 ]\+"[0-9]\+"/s/"\([0-9]\+\)"/"'"`date +%y%m%d`"'"/' <VERSION >VERSION.new
	$(MV)	VERSION.new VERSION	

tar:	check-source tarclean date-mark man
	$(RM)	../$(PRGNAME)-`date +%y%m%d`
	$(RM)	../$(PRGNAME)-`date +%y%m%d`.tar.gz
	$(LN)	$(PRGNAME) ../$(PRGNAME)-`date +%y%m%d`
	$(TAR)	zcf ../$(PRGNAME)-`date +%y%m%d`.tar.gz -C ./.. \
		     --exclude $(PRGNAME)-`date +%y%m%d`/./save_generic \
		     --exclude $(PRGNAME)-`date +%y%m%d`/./RCS \
		     --exclude $(PRGNAME)-`date +%y%m%d`/./templates/RCS \
		     $(PRGNAME)-`date +%y%m%d`/.
	$(RM)	../$(PRGNAME)-`date +%y%m%d`; \

check-source:
	@echo	"check-source:"
	@if	$(FGREP) -n "BREAKPOINT" *.[cl]; then \
		echo	"failed"; \
		false; \
	elif	$(FGREP) -n "__asm__" *.[cl]; then \
		echo	"failed"; \
		false; \
	else \
		echo	"OK"; \
		true; \
	fi

# DO NOT DELETE
-include ./$(DEPFILE)
