bin_PROGRAMS=burrTxt gui/burrGui
noinst_LIBRARIES=lib/libburr.a flu/libflu.a help/libhelp.a
noinst_PROGRAMS=help/helpviewer

XML_CPP_ADD=@XML_CPP_ADD@
XML_LD_ADD=@XML_LD_ADD@
GUI_CPP_ADD=@GUI_CPP_ADD@
GUI_LD_ADD=@GUI_LD_ADD@
PTHREAD_CPP_ADD=@PTHREAD_CPP_ADD@
PTHREAD_LD_ADD=@PTHREAD_LD_ADD@

AM_CPPFLAGS=-Wall -W $(XML_CPP_ADD) $(GUI_CPP_ADD) $(PTHREAD_CPP_ADD) @LARGEFILE@
LDADD=lib/libburr.a flu/libflu.a help/libhelp.a $(GUI_LD_ADD) $(XML_LD_ADD) $(PTHREAD_LD_ADD)

help_helpviewer_CPPFLAGS=-DBT_EXTERNAL $(GUI_HELP_CPP_ADD) @LARGEFILE@
help_helpviewer_LDADD=flu/libflu.a $(GUI_LD_ADD) $(GUI_HELP_LD_ADD)
help_helpviewer_SOURCES=\
    help/helpviewer.cpp \
    help/Fl_Help_Dialog.h \
    help/Fl_Help_Dialog.cpp \
    help/Fl_Help_View.h \
    help/Fl_Help_View.cpp \
    help/flstring.cpp \
    help/flstring.h

burrTxt_SOURCES=burrTxt.cpp

lib_libburr_a_SOURCES=\
    lib/assembler_0.cpp \
    lib/assembler_1.cpp \
    lib/assemblerfrontend_0.cpp \
    lib/assemblerfrontend_1.cpp \
    lib/assemblerfrontend_2.cpp \
    lib/assemblerfrontend_3.cpp \
    lib/assembly.cpp \
    lib/assemblerthread.cpp \
    lib/bt_assert.cpp \
    lib/burrgrower.cpp \
    lib/disassembler_0.cpp \
    lib/disassembly.cpp \
    lib/disasmtomoves.cpp \
    lib/gridtype.cpp \
    lib/grouping.cpp \
    lib/movementcache.cpp \
    lib/movementcache_0.cpp \
    lib/piecegenerator.cpp \
    lib/print.cpp \
    lib/ps3dloader.cpp \
    lib/puzzle.cpp \
    lib/stl.cpp \
    lib/stl_0.cpp \
    lib/stl_2.cpp \
    lib/symmetries_0.cpp \
    lib/symmetries_1.cpp \
    lib/symmetries_2.cpp \
    lib/thread.cpp \
    lib/voxel.cpp \
    lib/voxel_0.cpp \
    lib/voxel_1.cpp \
    lib/voxel_2.cpp \
    lib/voxel_3.cpp \
    \
    lib/tabs_0/rotmatrix.inc lib/tabs_0/symmetries.inc lib/tabs_0/tablesizes.inc lib/tabs_0/generator_0.cpp \
    lib/tabs_1/rotmatrix.inc lib/tabs_1/symmetries.inc lib/tabs_1/tablesizes.inc lib/tabs_1/generator_1.cpp \
    lib/tabs_2/rotmatrix.inc lib/tabs_2/symmetries.inc lib/tabs_2/tablesizes.inc lib/tabs_2/generator_2.cpp \
    \
    lib/tabs_0/symcalc.inc lib/tabs_0/transformmini.inc lib/tabs_0/transmult.inc lib/tabs_0/unifiedsym.inc \
    lib/tabs_1/symcalc.inc lib/tabs_1/transformmini.inc lib/tabs_1/transmult.inc lib/tabs_1/unifiedsym.inc \
    lib/tabs_2/symcalc.inc lib/tabs_2/transformmini.inc lib/tabs_2/transmult.inc lib/tabs_2/unifiedsym.inc \
    \
    lib/assembler.h \
    lib/assembler_0.h \
    lib/assembler_1.h \
    lib/assemblerfrontend_0.h \
    lib/assemblerfrontend_1.h \
    lib/assemblerfrontend_2.h \
    lib/assemblerfrontend_3.h \
    lib/assembly.h \
    lib/assemblerthread.h \
    lib/bitfield.h \
    lib/bt_assert.h \
    lib/burrgrower.h \
    lib/disassembler.h \
    lib/disassembler_0.h \
    lib/disassembly.h \
    lib/disasmtomoves.h \
    lib/gridtype.h \
    lib/grouping.h \
    lib/movementcache.h \
    lib/movementcache_0.h \
    lib/piecegenerator.h \
    lib/print.h \
    lib/ps3dloader.h\
    lib/puzzle.h \
    lib/stl.h \
    lib/stl_0.h \
    lib/stl_2.h \
    lib/symmetries.h \
    lib/symmetries_0.h \
    lib/symmetries_1.h \
    lib/symmetries_2.h \
    lib/thread.h \
    lib/types.h \
    lib/voxel.h \
    lib/voxel_0.h \
    lib/voxel_1.h \
    lib/voxel_2.h \
    lib/voxel_3.h

EXTRA_DIST=\
    help/data2c.cpp

help_libhelp_a_SOURCES=\
    help/Fl_Help_Dialog.h \
    help/Fl_Help_Dialog.cpp \
    help/Fl_Help_View.h \
    help/Fl_Help_View.cpp \
    help/flstring.cpp \
    help/flstring.h \
    help/helpdata.h

nodist_help_libhelp_a_SOURCES=\
    help/helpdata.cpp

BUILT_SOURCES=\
    lib/tabs_0/symcalc.inc lib/tabs_0/transformmini.inc lib/tabs_0/transmult.inc lib/tabs_0/unifiedsym.inc \
    lib/tabs_1/symcalc.inc lib/tabs_1/transformmini.inc lib/tabs_1/transmult.inc lib/tabs_1/unifiedsym.inc \
    lib/tabs_2/symcalc.inc lib/tabs_2/transformmini.inc lib/tabs_2/transmult.inc lib/tabs_2/unifiedsym.inc \
    help/helpdata.cpp

help/helpdata.cpp: $(EXTRA_DIST) help/data2c.cpp
	cd help; g++ data2c.cpp -O2 -o data2c `fltk-config --cxxflags --ldflags --use-images`
	cd help; ./data2c helpdata.cpp ../../doc/*.html - ../../doc/*.png
	cd help; $(RM) data2c

lib/tabs_0/symcalc.inc lib/tabs_0/transmult.inc lib/tabs_0/unifiedsym.inc lib/tabs_0/transformmini.inc: lib/tabs_0/rotmatrix.inc \
                                                                                                        lib/tabs_0/symmetries.inc \
                                                                                                        lib/tabs_0/tablesizes.inc \
                                                                                                        lib/tabs_0/generator_0.cpp
	$(CXX) lib/tabs_0/generator_0.cpp -o lib/tabs_0/generator $(CXXFLAGS)
	cd lib/tabs_0 && ./generator
	$(RM) lib/tabs_0/generator

lib/tabs_1/symcalc.inc lib/tabs_1/transmult.inc lib/tabs_1/unifiedsym.inc lib/tabs_1/transformmini.inc: lib/tabs_1/rotmatrix.inc \
                                                                                                        lib/tabs_1/symmetries.inc \
                                                                                                        lib/tabs_1/tablesizes.inc \
                                                                                                        lib/tabs_1/generator_1.cpp
	$(CXX) lib/tabs_1/generator_1.cpp -o lib/tabs_1/generator $(CXXFLAGS)
	cd lib/tabs_1 && ./generator
	$(RM) lib/tabs_1/generator

lib/tabs_2/symcalc.inc lib/tabs_2/transmult.inc lib/tabs_2/unifiedsym.inc lib/tabs_2/transformmini.inc: lib/tabs_2/rotmatrix.inc \
                                                                                                        lib/tabs_2/symmetries.inc \
                                                                                                        lib/tabs_2/tablesizes.inc \
                                                                                                        lib/tabs_2/generator_2.cpp
	$(CXX) lib/tabs_2/generator_2.cpp -o lib/tabs_2/generator $(CXXFLAGS)
	cd lib/tabs_2 && ./generator
	$(RM) lib/tabs_2/generator

flu_libflu_a_SOURCES=\
    flu/Flu_Button.cpp \
    flu/Flu_Button.h \
    flu/Flu_Combo_Box.cpp \
    flu/Flu_Combo_Box.h \
    flu/Flu_Combo_List.cpp \
    flu/Flu_Combo_List.h \
    flu/Flu_Combo_Tree.cpp \
    flu/Flu_Combo_Tree.h \
    flu/Flu_Enumerations.h \
    flu/flu_export.h \
    flu/Flu_File_Chooser.cpp \
    flu/Flu_File_Chooser.h \
    flu/flu_file_chooser_pixmaps.cpp \
    flu/flu_file_chooser_pixmaps.h \
    flu/Flu_Label.h \
    flu/Flu_Label.cpp \
    flu/flu_pixmaps.cpp \
    flu/flu_pixmaps.h \
    flu/Flu_Return_Button.cpp \
    flu/Flu_Return_Button.h \
    flu/Flu_Separator.cpp \
    flu/Flu_Separator.h \
    flu/FluSimpleString.cpp \
    flu/FluSimpleString.h \
    flu/Flu_Tree_Browser.cpp \
    flu/Flu_Tree_Browser.h \
    flu/FluVectorClass.h \
    flu/Flu_Wrap_Group.cpp \
    flu/Flu_Wrap_Group.h

gui_burrGui_SOURCES=\
     gui/arcball.cpp \
     gui/assertwindow.cpp \
     gui/blocklistgroup.cpp \
     gui/buttongroup.cpp \
     gui/configuration.cpp \
     gui/constraintsgroup.cpp \
     gui/grideditor.cpp \
     gui/grideditor_0.cpp \
     gui/grideditor_1.cpp \
     gui/grideditor_2.cpp \
     gui/grideditor_3.cpp \
     gui/gridtypegui.cpp \
     gui/groupseditor.cpp \
     gui/guigridtype.cpp \
     gui/image.cpp \
     gui/imageexport.cpp \
     gui/main.cpp \
     gui/mainwindow.cpp \
     gui/multilinewindow.cpp \
     gui/piececolor.cpp \
     gui/placementbrowser.cpp \
     gui/resultviewer.cpp \
     gui/separator.cpp \
     gui/statusline.cpp \
     gui/statuswindow.cpp \
     gui/stlexport.cpp \
     gui/togglebutton.cpp \
     gui/tooltabs.cpp \
     gui/vectorexportwindow.cpp \
     gui/view3dgroup.cpp \
     gui/voxeldrawer.cpp \
     gui/voxeldrawer_0.cpp \
     gui/voxeldrawer_1.cpp \
     gui/voxeldrawer_2.cpp \
     gui/voxeldrawer_3.cpp \
     gui/voxelframe.cpp \
     gui/voxeleditgroup.cpp \
     \
     gui/BlockList.cpp \
     gui/gzstream.cpp \
     gui/Fl_Table.cpp \
     gui/LFl_Tile.cpp \
     gui/Layouter.cpp \
     gui/tr.c \
     gui/gl2ps.c \
     gui/Images.cpp \
     \
     gui/arcball.h \
     gui/assertwindow.h \
     gui/blocklistgroup.h \
     gui/buttongroup.h \
     gui/configuration.h \
     gui/constraintsgroup.h \
     gui/grideditor.h \
     gui/grideditor_0.h \
     gui/grideditor_1.h \
     gui/grideditor_2.h \
     gui/grideditor_3.h \
     gui/gridtypegui.h \
     gui/groupseditor.h \
     gui/guigridtype.h \
     gui/image.h \
     gui/imageexport.h \
     gui/mainwindow.h \
     gui/multilinewindow.h \
     gui/piececolor.h \
     gui/placementbrowser.h \
     gui/resultviewer.h \
     gui/separator.h \
     gui/statusline.h \
     gui/statuswindow.h \
     gui/stlexport.h \
     gui/togglebutton.h \
     gui/tooltabs.h \
     gui/vectorexportwindow.h \
     gui/view3dgroup.h \
     gui/voxeldrawer.h \
     gui/voxeldrawer_0.h \
     gui/voxeldrawer_1.h \
     gui/voxeldrawer_2.h \
     gui/voxeldrawer_3.h \
     gui/voxelframe.h \
     gui/voxeleditgroup.h \
     \
     gui/BlockList.h \
     gui/WindowWidgets.h \
     gui/gzstream.h \
     gui/Fl_Table.h \
     gui/LFl_Tile.h \
     gui/Layouter.h \
     gui/tr.h \
     gui/gl2ps.h \
     gui/Images.h \
     \
     gui/images/TB_Color_Brush.xpm gui/images/TB_Color_Eraser.xpm \
     gui/images/TB_Color_Mouse_Drag.xpm gui/images/TB_Color_Columns_X.xpm \
     gui/images/TB_Color_Columns_Y.xpm gui/images/TB_Color_Columns_Z.xpm \
     gui/images/TB_Color_Mouse_Rubber_Band.xpm gui/images/TB_Color_Pen_Fixed.xpm \
     gui/images/TB_Color_Pen_Variable.xpm gui/images/TB_Color_Symmetrical_X.xpm \
     gui/images/TB_Color_Symmetrical_Y.xpm gui/images/TB_Color_Symmetrical_Z.xpm \
     gui/images/TB_Disabled_Brush.xpm gui/images/TB_Disabled_Columns_X.xpm \
     gui/images/TB_Disabled_Columns_Y.xpm gui/images/TB_Disabled_Columns_Z.xpm \
     gui/images/TB_Disabled_Eraser.xpm gui/images/TB_Disabled_Mouse_Drag.xpm \
     gui/images/TB_Disabled_Mouse_Rubber_Band.xpm gui/images/TB_Disabled_Pen_Fixed.xpm \
     gui/images/TB_Disabled_Pen_Variable.xpm gui/images/TB_Disabled_Symmetrical_X.xpm \
     gui/images/TB_Disabled_Symmetrical_Y.xpm gui/images/TB_Disabled_Symmetrical_Z.xpm \
     gui/images/TB_Monochrome_Brush.xpm gui/images/TB_Monochrome_Columns_X.xpm \
     gui/images/TB_Monochrome_Columns_Y.xpm gui/images/TB_Monochrome_Columns_Z.xpm \
     gui/images/TB_Monochrome_Eraser.xpm gui/images/TB_Monochrome_Mouse_Drag.xpm \
     gui/images/TB_Monochrome_Mouse_Rubber_Band.xpm gui/images/TB_Monochrome_Pen_Fixed.xpm \
     gui/images/TB_Monochrome_Pen_Variable.xpm gui/images/TB_Monochrome_Symmetrical_X.xpm \
     gui/images/TB_Monochrome_Symmetrical_Y.xpm gui/images/TB_Monochrome_Symmetrical_Z.xpm \
     gui/images/Transform_Color_Flip_X.xpm gui/images/Transform_Color_Flip_Y.xpm gui/images/Transform_Color_Flip_Z.xpm \
     gui/images/Transform_Color_Nudge_X_Left.xpm gui/images/Transform_Color_Nudge_X_Right.xpm \
     gui/images/Transform_Color_Nudge_Y_Left.xpm gui/images/Transform_Color_Nudge_Y_Right.xpm \
     gui/images/Transform_Color_Nudge_Z_Left.xpm gui/images/Transform_Color_Nudge_Z_Right.xpm \
     gui/images/Transform_Color_Rotate_X_Left.xpm gui/images/Transform_Color_Rotate_X_Right.xpm \
     gui/images/Transform_Color_Rotate_Y_Left.xpm gui/images/Transform_Color_Rotate_Y_Right.xpm \
     gui/images/Transform_Color_Rotate_Z_Left.xpm gui/images/Transform_Color_Rotate_Z_Right.xpm \
     gui/images/Transform_Disabled_Flip_X.xpm gui/images/Transform_Disabled_Flip_Y.xpm \
     gui/images/Transform_Disabled_Flip_Z.xpm gui/images/Transform_Disabled_Nudge_X_Left.xpm \
     gui/images/Transform_Disabled_Nudge_X_Right.xpm gui/images/Transform_Disabled_Nudge_Y_Left.xpm \
     gui/images/Transform_Disabled_Nudge_Y_Right.xpm gui/images/Transform_Disabled_Nudge_Z_Left.xpm \
     gui/images/Transform_Disabled_Nudge_Z_Right.xpm gui/images/Transform_Disabled_Rotate_X_Left.xpm \
     gui/images/Transform_Disabled_Rotate_X_Right.xpm gui/images/Transform_Disabled_Rotate_Y_Left.xpm \
     gui/images/Transform_Disabled_Rotate_Y_Right.xpm gui/images/Transform_Disabled_Rotate_Z_Left.xpm \
     gui/images/Transform_Disabled_Rotate_Z_Right.xpm gui/images/Transform_Monochrome_Flip_X.xpm \
     gui/images/Transform_Monochrome_Flip_Y.xpm gui/images/Transform_Monochrome_Flip_Z.xpm \
     gui/images/Transform_Monochrome_Nudge_X_Left.xpm gui/images/Transform_Monochrome_Nudge_X_Right.xpm \
     gui/images/Transform_Monochrome_Nudge_Y_Left.xpm gui/images/Transform_Monochrome_Nudge_Y_Right.xpm \
     gui/images/Transform_Monochrome_Nudge_Z_Left.xpm gui/images/Transform_Monochrome_Nudge_Z_Right.xpm \
     gui/images/Transform_Monochrome_Rotate_X_Left.xpm gui/images/Transform_Monochrome_Rotate_X_Right.xpm \
     gui/images/Transform_Monochrome_Rotate_Y_Left.xpm gui/images/Transform_Monochrome_Rotate_Y_Right.xpm \
     gui/images/Transform_Monochrome_Rotate_Z_Left.xpm gui/images/Transform_Monochrome_Rotate_Z_Right.xpm \
     gui/images/InOut_Color_Fixed_In.xpm gui/images/InOut_Color_Fixed_Out.xpm \
     gui/images/InOut_Color_RemoveColor_In.xpm gui/images/InOut_Color_RemoveColor_Out.xpm \
     gui/images/InOut_Color_Variable_In.xpm gui/images/InOut_Color_Variable_Out.xpm \
     gui/images/InOut_Disabled_Fixed_In.xpm gui/images/InOut_Disabled_Fixed_Out.xpm \
     gui/images/InOut_Disabled_RemoveColor_In.xpm gui/images/InOut_Disabled_RemoveColor_Out.xpm \
     gui/images/InOut_Disabled_Variable_In.xpm gui/images/InOut_Disabled_Variable_Out.xpm \
     gui/images/InOut_Monochrome_Fixed_In.xpm gui/images/InOut_Monochrome_Fixed_Out.xpm \
     gui/images/InOut_Monochrome_RemoveColor_In.xpm gui/images/InOut_Monochrome_RemoveColor_Out.xpm \
     gui/images/InOut_Monochrome_Variable_In.xpm gui/images/InOut_Monochrome_Variable_Out.xpm \
     gui/images/Grid_Color_Center.xpm gui/images/Grid_Color_Minimize.xpm gui/images/Grid_Color_Origin.xpm \
     gui/images/Grid_Disabled_Center.xpm gui/images/Grid_Disabled_Minimize.xpm gui/images/Grid_Disabled_Origin.xpm \
     gui/images/Grid_Monochrome_Center.xpm gui/images/Grid_Monochrome_Minimize.xpm gui/images/Grid_Monochrome_Origin.xpm \
     gui/images/Rescale_Color_X1.xpm gui/images/Rescale_Color_X2.xpm gui/images/Rescale_Color_X3.xpm \
     gui/images/Rescale_Disabled_X1.xpm gui/images/Rescale_Disabled_X2.xpm gui/images/Rescale_Disabled_X3.xpm \
     gui/images/Rescale_Monochrome_X1.xpm gui/images/Rescale_Monochrome_X2.xpm gui/images/Rescale_Monochrome_X3.xpm \
     gui/images/ViewMode3D.xpm gui/images/ViewMode3DL.xpm gui/images/ViewModeColor.xpm gui/images/ViewModeNormal.xpm
