File: Makefile

package info (click to toggle)
cbmplugs 1.2.2-1.2
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 336 kB
  • sloc: ansic: 4,192; makefile: 80
file content (108 lines) | stat: -rw-r--r-- 2,909 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# Makefile for cbmplugs
# Copyright © 2002-2007, 2009 David Weinehall

PRGNAME := cbmplugs
VERSION := 1.2.2

GIMPTOOL := gimptool-2.0
PALETTE_DIR := /usr/share/gimp/2.0/palettes

ifdef LOCAL_PLUGINS
GIMP_INSTALL_BIN := --install-bin
GIMP_UNINSTALL_BIN := --uninstall-bin
# Use Makefile as plugin to install, to be sure the file exists
PALETTE_DIR := \
	$(shell pkg-config --variable=gimpdatadir gimp-2.0)/palettes
else
GIMP_INSTALL_BIN := --install-admin-bin
GIMP_UNINSTALL_BIN := --uninstall-admin-bin
endif

# Use Makefile as plugin to install, to be sure the file exists
PLUGIN_DIR := \
	$(shell pkg-config --variable=gimplibdir gimp-2.0)/plug-ins

AM_CFLAGS += `$(GIMPTOOL) --cflags-noui`
# AM_CFLAGS += -Werror
# AM_CFLAGS += -W -Wall -Wpointer-arith -Wcast-align
# AM_CFLAGS += -Wbad-function-cast -Wsign-compare
# AM_CFLAGS += -Waggregate-return -Wmissing-noreturn -Wnested-externs
# AM_CFLAGS += -Wchar-subscripts -Wformat-security -Wmissing-prototypes

AM_LDFLAGS += `$(GIMPTOOL) --libs-noui` -lm

RM := rm -f
INSTALL := install --mode=755
INSTALL_DATA := install --mode=644
INSTALL_DIR := install -d

ARCHIVE := $(PRGNAME)-$(VERSION)
MKDIR := mkdir -p
TAR_EXCLUDES := --exclude="*.swp" --exclude="*.bak" --exclude=".svnignore"
TAR_EXCLUDES += --exclude="*~" --exclude="*.o" --exclude=".svn"
TAR := tar cz $(TAR_EXCLUDES) --file

PLUGINS	= \
	advartstudio afli artist64 artstudio blazingpaddles drazpaint	\
	eafli fli64 imagesystem interpainthires interpaintlores koala	\
	rain shfli shflixl sprite suxx twilight vidcom64 hws

PALETTES = \
	Commodore64.gpl DTV.gpl

INCLUDES = cbmplugs.c
HEADERS = cbmplugs.h

.PHONY: default
default: $(PLUGINS)

$(PLUGINS): %: %.c $(INCLUDES) $(HEADERS)
	$(CC) $(CFLAGS) $(AM_CFLAGS) -o $@ $< $(INCLUDES) $(AM_LDFLAGS)

.PHONY: install-plugins
install-plugins:
	$(INSTALL_DIR) $(DESTDIR)$(PLUGIN_DIR)				&&\
	for plugin in $(PLUGINS); do					\
		$(INSTALL) $$plugin $(DESTDIR)$(PLUGIN_DIR);		\
	done

.PHONY: install-palettes
install-palettes:
	$(INSTALL_DIR) $(DESTDIR)$(PALETTE_DIR)				&&\
	for palette in $(PALETTES); do					\
		$(INSTALL_DATA) $$palette $(DESTDIR)$(PALETTE_DIR);	\
	done

.PHONY: install
install: install-plugins install-palettes

.PHONY: uninstall-plugins
uninstall-plugins:
	for plugin in $(PLUGINS); do					\
		$(RM) $(PLUGIN_DIR)/$$plugin;				\
	done

.PHONY: uninstall-palettes
uninstall-palettes:
	for palette in $(PALETTES); do					\
		$(RM) $(PALETTE_DIR)/$$palette;				\
	done

.PHONY: uninstall
uninstall: uninstall-plugins uninstall-palettes

.PHONY: clean
clean:
	for plugin in $(PLUGINS); do					\
		$(RM) $$plugin;						\
	done

.PHONY: archive
archive: clean
	$(RM) ../$(ARCHIVE).tar.gz					&&\
	$(RM) -r $(ARCHIVE)						&&\
	$(MKDIR) $(ARCHIVE)						&&\
	find . -maxdepth 1 -path '*/$(ARCHIVE)' -prune -o		\
		-not -name '.' -exec cp -a {} $(ARCHIVE) \;		&&\
	$(TAR) ../$(ARCHIVE).tar.gz $(ARCHIVE)				&&\
	$(RM) -r $(ARCHIVE)