#
# Makefile.opts.in
#
# 	This library is free software; you can redistribute it and/or
#	modify it under the terms of the GNU Lesser General Public
#	License as published by the Free Software Foundation version 2.1
#	of the License.
#
# Copyright (c) 2003-2006 Thomas Graf <tgraf@suug.ch>
#

CC               := @CC@
CFLAGS           := @CFLAGS@
LDFLAGS          := @LDFLAGS@
CPPFLAGS         := @CPPFLAGS@
PACKAGE_NAME     := @PACKAGE_NAME@
PACKAGE_VERSION  := @PACKAGE_VERSION@

LIBNL_LIB        := @LIBNL_LIB@

prefix           := @prefix@
exec_prefix      := @exec_prefix@
libdir           := @libdir@
includedir       := @includedir@
mandir           := @mandir@
sysconfdir       := @sysconfdir@

AR               := ar
RM               := rm
LN               := ln

DEPFLAGS         += -M -I../include/ -I. $(CPPFLAGS)
CFLAGS           += -g -I./include -I../include -I. $(CPPFLAGS) -D_GNU_SOURCE
MAKEFLAGS        += --no-print-directory

ifeq ($(CC),gcc)
CFLAGS           += -Wall -ggdb
endif

