X-Git-Url: http://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/b9f22ab5a7f4d4bfe0932debf8864a21b5c852cd..2cd951c678998b2b0230c8eb25717ecf0f1dd2db:/src/Makefile.am diff --git a/src/Makefile.am b/src/Makefile.am index f97395d..291dfb8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,34 +1,75 @@ #YACCFLAGS += -d -t -YFLAGS += -d -t +AM_YFLAGS = -d -t +SUBDIRS = . -INCLUDES = @GLIB_CFLAGS@ -I$(includedir) +#GCC specific, should not be in distributed files +#AM_CFLAGS = \ +# -Wall \ +# -Wpointer-arith \ +# -Wmissing-prototypes \ +# -Wmissing-declarations -bin_PROGRAMS = gob +DEFS = @DEFS@ \ + -DPKGDATADIR=\"$(pkgdatadir)\" -gob_SOURCES = \ +INCLUDES = \ + $(GLIB_CFLAGS) \ + -I$(top_builddir) \ + -I$(top_builddir)/src \ + -I$(top_srcdir) \ + -I$(top_srcdir)/src \ + -I$(includedir) + +if NOINSTGOB +noinst_PROGRAMS = gob2 +else +bin_PROGRAMS = gob2 +endif +EXTRA_PROGRAMS = gob2 + +BUILT_SOURCES = parse.h parse.c lexer.c + +gob2_SOURCES = \ main.c \ - tree.c \ - tree.h \ + main.h \ + treefuncs.c \ + treefuncs.h \ + out.c \ + out.h \ + util.c \ + util.h \ + checks.c \ + checks.h \ parse.y \ lexer.l -gob_LDADD = \ +gob2_LDADD = \ -lm \ - -lpopt \ $(GLIB_LIBS) \ @LEXLIB@ -BUILT_SOURCES = parse.h parse.c lexer.c +# we might want popt back in the future +# @POPT_LIB@ + +CLEANFILES = @CLEANFILES@ $(BUILT_SOURCES) test-object.* test-object-private.h + +EXTRA_DIST = $(BUILT_SOURCES) test.gob generate_treefuncs.pl treefuncs.def str.gob str_test.c Makefile.str + +# parse.h parse.c: parse.y +# $(YACC) $(YFLAGS) $< +# test -f y.tab.c && mv -f y.tab.c parse.c +# test -f y.tab.h && mv -f y.tab.h parse.h -CLEANFILES += $(BUILT_SOURCES) +test: test-object.c test-object.h + $(CC) -g -O -W -Wall -Wunused -Wuninitialized -Wdeclaration-after-statement -Wshadow -Wwrite-strings -Wunreachable-code -Wbad-function-cast `pkg-config --cflags gobject-2.0 gtk+-2.0` -c test-object.c -EXTRA_DIST = test.gob +test-object.c test-object.h: test.gob gob2 + ./gob2 test.gob -parse.h: parse.y - $(YACC) $(YFLAGS) $< - test -f y.tab.c && mv -f y.tab.c parse.c - test -f y.tab.h && mv -f y.tab.h parse.h +# can't depend on the header file as that would break the above rule +# since it's just for testing, who cares +testcpp: test-object.cc + g++ -g -O -W -Wall -Wunused -Wuninitialized -Wwrite-strings -Wunreachable-code `pkg-config --cflags gobject-2.0 gtk+-2.0` -c test-object.cc -test: gtk-weird-button.c gtk-weird-button.h -gtk-weird-button.c gtk-weird-button.h: test.gob gob - ./gob test.gob +test-object.cc: test.gob gob2 + ./gob2 --for-cpp test.gob