# /*
#  * obpkg is distributed under the following license:
#  *
#  * Copyright (c) 2006 Steffen Wendzel <cdp@doomed-reality.org>
#  *
#  * Redistribution and use in source and binary forms, with or without
#  * modification, are permitted provided that the following conditions
#  * are met:
#  * 1. Redistributions of source code must retain the above copyright
#  *    notice, this list of conditions and the following disclaimer.
#  * 2. Redistributions in binary form must reproduce the above copyright
#  *    notice, this list of conditions and the following disclaimer in the
#  *    documentation and/or other materials provided with the distribution.
#  * 3. The name of the author may not be used to endorse or promote products
#  *    derived from this software without specific prior written permission
#  *
#  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
#  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
#  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
#  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
#  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
#  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
#  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
#  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
#  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
#  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
#  * SUCH DAMAGE.
#  */

CC=gcc
LEX=flex
YACC=yacc
VERSION=\"0.8.0\"

INCDIRS=-I/usr/local/include -Isrc/include -Isrc -I. \
	-I/usr/X11R6/include -I/usr/local/include/gtk-2.0

INC=src/include/

#######################
#DEBUG_SWITCHER=-DDEBUG -DXDEBUG #-DXXDEBUG
#######################

.ifndef PREFIX
PREFIX=/usr/local
.endif

.ifndef INSTALL_DATA
INSTALL_DATA=
.endif

CFLAGS=-DVERSION=$(VERSION) -DPREFIX=\"${PREFIX}\" $(DEBUG_SWITCHER) \
	-c $(INCDIRS) -Wall -Wcast-qual -Wsign-compare -Wshadow

.MAIN : obpkg

.c.o :
	$(CC) $(CFLAGS) `pkg-config --cflags gtk+-2.0` $<

obpkg : conf_writer.o flexyacc gui_add_src.o gui_categories.o gui_portpkgview.o main.o ports.o
	$(CC) -O $(DEBUG_SWITCHER) -o obpkg `pkg-config --libs gtk+-2.0` \
	main.o conf_writer.o lex.yy.o config.tab.o ports.o \
	gui_add_src.o gui_categories.o gui_portpkgview.o
	@du -h obpkg
	@rm *.o

flexyacc : src/config.l src/config.y
	$(LEX) -olex.yy.c src/config.l
	$(YACC) -v -d -t -o config.tab.c src/config.y
	$(CC) $(DEBUG_SWITCHER) -DPREFIX=\"${PREFIX}\" $(INCDIRS) -c lex.yy.c
	$(CC) $(DEBUG_SWITCHER) -DPREFIX=\"${PREFIX}\" $(INCDIRS) -c config.tab.c

conf_writer.o     : src/conf_writer.c
gui_add_src.o     : src/gui_add_src.c
gui_categories.o  : src/gui_categories.c
gui_portpkgview.o : src/gui_portpkgview.c
main.o            : src/main.c
ports.o           : src/ports.c

install : ./obpkg
	cp obpkg ${PREFIX}/sbin/
	chmod 0755 ${PREFIX}/sbin/obpkg
	cp src/scripts/obpkg_getftpind.sh ${PREFIX}/sbin/
	chmod 0755 ${PREFIX}/sbin/obpkg_getftpind.sh
	echo "pkg_local=/pkg\nofficial_pkg_ftp=ftp.openbsd.org,/pub/OpenBSD/`uname -r`/packages/`uname -m`/,ftp,nobody">obpkg.conf
	mkdir -p ${PREFIX}/share/examples/obpkg
	cp obpkg.conf ${PREFIX}/share/examples/obpkg/obpkg.conf

non-port-install :
	if [ ! -d ${PREFIX}/var/obpkg ]; then mkdir -p /var/obpkg; fi
	cp obpkg.conf /etc/

developer_uninstall :
	rm -rf /usr/local/sbin/obpkg /usr/local/sbin/obpkg_getftpind.sh
	rm -rf /etc/obpkg.conf /var/obpkg

count : clean
	clear
	wc -l `find ./src -name '*.[hcly]' -o -name '*.sh' -o -name '*.pl'`|sort

clean :
	rm -f *.o obpkg *.core `find . -name '*~' -o -name '~*'` y.output \
	gpmon.out log *.BAK lex.*.[ch] *.tab.[ch]

