# sediff tools - command-line and GUI

LIBAPOL		= ../libapol/libapol.a
INCLUDE		= -I.. -I../libapol
GUI-OBJS	= sediff_gui.o sediff_treemodel.o utilgui.o sediff_rename_types.o sediff_find_window.o
GTK_CFLAGS      = `pkg-config --cflags libglade-2.0`
GTK_LIBS        = `pkg-config --libs libglade-2.0`
GLADE_FILES     = sediff.glade

CFLAGS  	+= -DSEDIFF_VERSION_NUM='"$(shell cat SEDIFF_VERSION)"'
CFLAGS  	+= -DSEDIFF_GUI_VERSION_NUM='"$(shell cat SEDIFF_GUI_VERSION)"'
CFLAGS  	+= -DSEDIFF_GUI_VERSION_NUM='"$(shell cat SEDIFF_GUI_VERSION)"'


all: libapol sediff sediffx

sediff: sediff.o $(LIBAPOL) 
	$(CC) -o $@ sediff.o $(LIBAPOL) $(LIBS) $(LINKFLAGS) $(LIBSELINUX) 

sediffx: $(LIBAPOL) $(GUI-OBJS)
	$(CC) $(GUI-OBJS) -o $@ -export-dynamic $(LIBAPOL) $(LINKFLAGS) $(LIBSELINUX) $(LIBS) $(GTK_LIBS)  

install-nogui: sediff 
	install -m 755 sediff $(BINDIR);
	
install: all
	install -m 755 sediff sediffx $(BINDIR);
	install -m 644 $(GLADE_FILES) $(INSTALL_LIBDIR)
	install -m 644 sediff_help.txt $(INSTALL_LIBDIR)

%.o:  %.c
	$(CC) $(CFLAGS) $(GTK_CFLAGS) $(INCLUDE) -c $<

libapol:
	$(MAKE) -C .. libapol

clean:
	rm -f *.o core* sediff sediffx *~ *.bak *.gladep
	
bare: clean

.PHONY: clean bare libapol 

# include objects here for header dependencies
sediff_gui.o sediff_rename_types.o: sediff_gui.h
sediff_gui.o sediff_rename_types.o: sediff_rename_types.h
sediff_gui.o sediff_find_window.o: sediff_gui.h
sediff_gui.o sediff_find_window.o: sediff_find_window.h
sediff_treemodel.o: sediff_treemodel.h
support.o: support.h
sediff_gui.o utilgui.o: utilgui.h

