
# Configure for compiling...
CFLAGS=-Wall -O2 -g3 
USE_GNU=-D_GNU_SOURCE
USE_ASPRINTF=-DHAVE_ASPRINTF
# NO_STRNLEN=-DINTERNAL_STRNLEN
NO_DEBUGING=-DNDEBUG

# Configure for linking...
# USE_STATIC=-static



# You shouldn't need to configure anything below here...

SRC_DIR=src
INCL_DIR=include
EXTRN_DIR=extern
OBJECT_DIR=out

CC=gcc

INCLUDES= -I$(INCL_DIR) -I$(EXTRN_DIR) `gtk-config --cflags`

# gtk does include "*.h" *sigh*
# INCLUDES= -I$(INCL_DIR) -I$(EXTRN_DIR) -I- `gtk-config --cflags`

LDFLAGS=`gtk-config --libs`


# Prolly needs gnu make
OBJS := $(patsubst $(SRC_DIR)/%.c,$(OBJECT_DIR)/%.o,$(wildcard $(SRC_DIR)/*.c))

all: $(OBJS)
		@$(CC) $(PROFILE) $(OBJS) -o sticky_notes $(LDFLAGS) \
			$(USE_STATIC)
		@echo " Linking..."

$(OBJECT_DIR)/%.o: $(SRC_DIR)/%.c $(INCL_DIR)/%.h $(EXTRN_DIR)/%_extern.h
		@echo " Compiling $*..."
		@$(CC) $(CFLAGS) $(INCLUDES) \
			$(USE_GNU) $(USE_ASPRINTF) \
			$(NO_STRNLEN) $(NO_DEBUGING) -c $< -o $@

clean:
		rm -f sticky_notes $(OBJECT_DIR)/*.o

install:
		cp sticky_gtkrc /usr/local/etc/
		cp sticky_notes /usr/local/bin/

