From 3b2cf140a22d7779e9ccf9e88fc61e775004710f Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 2 Dec 2014 19:15:03 +0000 Subject: [PATCH] Add standalone Makefile for the examples We want to allow people to build the examples easily, without necessarily requiring them to build the whole of GTK+. https://bugzilla.gnome.org/show_bug.cgi?id=741041 --- examples/application1/Makefile.example | 20 ++++++++++++++++ examples/application2/Makefile.example | 24 +++++++++++++++++++ examples/application3/Makefile.example | 24 +++++++++++++++++++ examples/application4/Makefile.example | 24 +++++++++++++++++++ examples/application5/Makefile.example | 33 ++++++++++++++++++++++++++ examples/application6/Makefile.example | 33 ++++++++++++++++++++++++++ examples/application7/Makefile.example | 33 ++++++++++++++++++++++++++ examples/application8/Makefile.example | 33 ++++++++++++++++++++++++++ examples/application9/Makefile.example | 33 ++++++++++++++++++++++++++ 9 files changed, 257 insertions(+) create mode 100644 examples/application1/Makefile.example create mode 100644 examples/application2/Makefile.example create mode 100644 examples/application3/Makefile.example create mode 100644 examples/application4/Makefile.example create mode 100644 examples/application5/Makefile.example create mode 100644 examples/application6/Makefile.example create mode 100644 examples/application7/Makefile.example create mode 100644 examples/application8/Makefile.example create mode 100644 examples/application9/Makefile.example diff --git a/examples/application1/Makefile.example b/examples/application1/Makefile.example new file mode 100644 index 0000000000..bb1b867025 --- /dev/null +++ b/examples/application1/Makefile.example @@ -0,0 +1,20 @@ +CC = gcc +LD = ld +PKGCONFIG = $(shell which pkg-config) +CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0` +LIBS = `$(PKGCONFIG) --libs gtk+-3.0` + +SRC = main.c exampleapp.c exampleappwin.c + +OBJS = $(SRC:.c=.o) + +all: exampleapp + +%.o: %.c + $(CC) -c -o $(@F) $(CFLAGS) $< + +exampleapp: $(OBJS) + $(CC) -o $(@F) $(LIBS) $(OBJS) + +clean: + rm -f $(OBJS) diff --git a/examples/application2/Makefile.example b/examples/application2/Makefile.example new file mode 100644 index 0000000000..971c29c990 --- /dev/null +++ b/examples/application2/Makefile.example @@ -0,0 +1,24 @@ +CC = gcc +PKGCONFIG = $(shell which pkg-config) +CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0` +LIBS = `$(PKGCONFIG) --libs gtk+-3.0` +GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0` + +SRC = resources.c exampleapp.c exampleappwin.c main.c + +OBJS = $(SRC:.c=.o) + +all: exampleapp + +resources.c: exampleapp.gresource.xml window.ui + $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source + +%.o: %.c + $(CC) -c -o $(@F) $(CFLAGS) $< + +exampleapp: $(OBJS) + $(CC) -o $(@F) $(LIBS) $(OBJS) + +clean: + rm -f resources.c + rm -f $(OBJS) diff --git a/examples/application3/Makefile.example b/examples/application3/Makefile.example new file mode 100644 index 0000000000..971c29c990 --- /dev/null +++ b/examples/application3/Makefile.example @@ -0,0 +1,24 @@ +CC = gcc +PKGCONFIG = $(shell which pkg-config) +CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0` +LIBS = `$(PKGCONFIG) --libs gtk+-3.0` +GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0` + +SRC = resources.c exampleapp.c exampleappwin.c main.c + +OBJS = $(SRC:.c=.o) + +all: exampleapp + +resources.c: exampleapp.gresource.xml window.ui + $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source + +%.o: %.c + $(CC) -c -o $(@F) $(CFLAGS) $< + +exampleapp: $(OBJS) + $(CC) -o $(@F) $(LIBS) $(OBJS) + +clean: + rm -f resources.c + rm -f $(OBJS) diff --git a/examples/application4/Makefile.example b/examples/application4/Makefile.example new file mode 100644 index 0000000000..3ce29b3f05 --- /dev/null +++ b/examples/application4/Makefile.example @@ -0,0 +1,24 @@ +CC = gcc +PKGCONFIG = $(shell which pkg-config) +CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0` +LIBS = `$(PKGCONFIG) --libs gtk+-3.0` +GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0` + +SRC = resources.c exampleapp.c exampleappwin.c main.c + +OBJS = $(SRC:.c=.o) + +all: exampleapp + +resources.c: exampleapp.gresource.xml window.ui app-menu.ui + $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source + +%.o: %.c + $(CC) -c -o $(@F) $(CFLAGS) $< + +exampleapp: $(OBJS) + $(CC) -o $(@F) $(LIBS) $(OBJS) + +clean: + rm -f resources.c + rm -f $(OBJS) diff --git a/examples/application5/Makefile.example b/examples/application5/Makefile.example new file mode 100644 index 0000000000..a5ab302008 --- /dev/null +++ b/examples/application5/Makefile.example @@ -0,0 +1,33 @@ +CC = gcc +PKGCONFIG = $(shell which pkg-config) +CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0` +LIBS = `$(PKGCONFIG) --libs gtk+-3.0` +GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0` +GLIB_COMPILE_SCHEMAS = `$(PKGCONFIG) --variable=glib_compile_schemas gio-2.0` + +SRC = resources.c exampleapp.c exampleappwin.c main.c + +OBJS = $(SRC:.c=.o) + +all: exampleapp + +org.gtk.exampleapp.gschema.valid: org.gtk.exampleapp.gschema.xml + $(GLIB_COMPILE_SCHEMAS) --strict --dry-run --schema-file=$< && mkdir -p $(@D) && touch $@ + +gschemas.compiled: org.gtk.exampleapp.gschema.valid + $(GLIB_COMPILE_SCHEMAS) . + +resources.c: exampleapp.gresource.xml window.ui app-menu.ui + $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source + +%.o: %.c + $(CC) -c -o $(@F) $(CFLAGS) $< + +exampleapp: $(OBJS) gschemas.compiled + $(CC) -o $(@F) $(LIBS) $(OBJS) + +clean: + rm -f org.gtk.exampleapp.gschema.xml.valid + rm -f gschemas.compiled + rm -f resources.c + rm -f $(OBJS) diff --git a/examples/application6/Makefile.example b/examples/application6/Makefile.example new file mode 100644 index 0000000000..bd31b546f9 --- /dev/null +++ b/examples/application6/Makefile.example @@ -0,0 +1,33 @@ +CC = gcc +PKGCONFIG = $(shell which pkg-config) +CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0` +LIBS = `$(PKGCONFIG) --libs gtk+-3.0` +GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0` +GLIB_COMPILE_SCHEMAS = `$(PKGCONFIG) --variable=glib_compile_schemas gio-2.0` + +SRC = resources.c exampleapp.c exampleappwin.c exampleappprefs.c main.c + +OBJS = $(SRC:.c=.o) + +all: exampleapp + +org.gtk.exampleapp.gschema.valid: org.gtk.exampleapp.gschema.xml + $(GLIB_COMPILE_SCHEMAS) --strict --dry-run --schema-file=$< && mkdir -p $(@D) && touch $@ + +gschemas.compiled: org.gtk.exampleapp.gschema.valid + $(GLIB_COMPILE_SCHEMAS) . + +resources.c: exampleapp.gresource.xml window.ui app-menu.ui + $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source + +%.o: %.c + $(CC) -c -o $(@F) $(CFLAGS) $< + +exampleapp: $(OBJS) gschemas.compiled + $(CC) -o $(@F) $(LIBS) $(OBJS) + +clean: + rm -f org.gtk.exampleapp.gschema.xml.valid + rm -f gschemas.compiled + rm -f resources.c + rm -f $(OBJS) diff --git a/examples/application7/Makefile.example b/examples/application7/Makefile.example new file mode 100644 index 0000000000..46a883e2cb --- /dev/null +++ b/examples/application7/Makefile.example @@ -0,0 +1,33 @@ +CC = gcc +PKGCONFIG = $(shell which pkg-config) +CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0` +LIBS = `$(PKGCONFIG) --libs gtk+-3.0` +GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0` +GLIB_COMPILE_SCHEMAS = `$(PKGCONFIG) --variable=glib_compile_schemas gio-2.0` + +SRC = resources.c exampleapp.c exampleappwin.c exampleappprefs.c main.c + +OBJS = $(SRC:.c=.o) + +all: exampleapp + +org.gtk.exampleapp.gschema.valid: org.gtk.exampleapp.gschema.xml + $(GLIB_COMPILE_SCHEMAS) --strict --dry-run --schema-file=$< && mkdir -p $(@D) && touch $@ + +gschemas.compiled: org.gtk.exampleapp.gschema.valid + $(GLIB_COMPILE_SCHEMAS) . + +resources.c: exampleapp.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=. --generate-dependencies exampleapp.gresource.xml) + $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source + +%.o: %.c + $(CC) -c -o $(@F) $(CFLAGS) $< + +exampleapp: $(OBJS) gschemas.compiled + $(CC) -o $(@F) $(LIBS) $(OBJS) + +clean: + rm -f org.gtk.exampleapp.gschema.xml.valid + rm -f gschemas.compiled + rm -f resources.c + rm -f $(OBJS) diff --git a/examples/application8/Makefile.example b/examples/application8/Makefile.example new file mode 100644 index 0000000000..46a883e2cb --- /dev/null +++ b/examples/application8/Makefile.example @@ -0,0 +1,33 @@ +CC = gcc +PKGCONFIG = $(shell which pkg-config) +CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0` +LIBS = `$(PKGCONFIG) --libs gtk+-3.0` +GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0` +GLIB_COMPILE_SCHEMAS = `$(PKGCONFIG) --variable=glib_compile_schemas gio-2.0` + +SRC = resources.c exampleapp.c exampleappwin.c exampleappprefs.c main.c + +OBJS = $(SRC:.c=.o) + +all: exampleapp + +org.gtk.exampleapp.gschema.valid: org.gtk.exampleapp.gschema.xml + $(GLIB_COMPILE_SCHEMAS) --strict --dry-run --schema-file=$< && mkdir -p $(@D) && touch $@ + +gschemas.compiled: org.gtk.exampleapp.gschema.valid + $(GLIB_COMPILE_SCHEMAS) . + +resources.c: exampleapp.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=. --generate-dependencies exampleapp.gresource.xml) + $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source + +%.o: %.c + $(CC) -c -o $(@F) $(CFLAGS) $< + +exampleapp: $(OBJS) gschemas.compiled + $(CC) -o $(@F) $(LIBS) $(OBJS) + +clean: + rm -f org.gtk.exampleapp.gschema.xml.valid + rm -f gschemas.compiled + rm -f resources.c + rm -f $(OBJS) diff --git a/examples/application9/Makefile.example b/examples/application9/Makefile.example new file mode 100644 index 0000000000..46a883e2cb --- /dev/null +++ b/examples/application9/Makefile.example @@ -0,0 +1,33 @@ +CC = gcc +PKGCONFIG = $(shell which pkg-config) +CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0` +LIBS = `$(PKGCONFIG) --libs gtk+-3.0` +GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0` +GLIB_COMPILE_SCHEMAS = `$(PKGCONFIG) --variable=glib_compile_schemas gio-2.0` + +SRC = resources.c exampleapp.c exampleappwin.c exampleappprefs.c main.c + +OBJS = $(SRC:.c=.o) + +all: exampleapp + +org.gtk.exampleapp.gschema.valid: org.gtk.exampleapp.gschema.xml + $(GLIB_COMPILE_SCHEMAS) --strict --dry-run --schema-file=$< && mkdir -p $(@D) && touch $@ + +gschemas.compiled: org.gtk.exampleapp.gschema.valid + $(GLIB_COMPILE_SCHEMAS) . + +resources.c: exampleapp.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=. --generate-dependencies exampleapp.gresource.xml) + $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source + +%.o: %.c + $(CC) -c -o $(@F) $(CFLAGS) $< + +exampleapp: $(OBJS) gschemas.compiled + $(CC) -o $(@F) $(LIBS) $(OBJS) + +clean: + rm -f org.gtk.exampleapp.gschema.xml.valid + rm -f gschemas.compiled + rm -f resources.c + rm -f $(OBJS)