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 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
# fotoxx makefile
FOTOXX = fotoxx-16.11.1.cc
# defaults for parameters that may be pre-defined
CXXFLAGS += -Wall -ggdb
PREFIX ?= /usr
CPPFLAGS ?= -O2
# target install directories
BINDIR = $(PREFIX)/bin
SHAREDIR = $(PREFIX)/share/fotoxx
DATADIR = $(SHAREDIR)/data
ICONDIR = $(SHAREDIR)/icons
LOCALESDIR = $(SHAREDIR)/locales
DOCDIR = $(PREFIX)/share/doc/fotoxx
MANDIR = $(PREFIX)/share/man/man1
APPDATADIR = $(PREFIX)/share/appdata
MENUFILE = $(PREFIX)/share/applications/fotoxx.desktop
CFLAGS = $(CXXFLAGS) $(CPPFLAGS) -c \
`pkg-config --cflags gtk+-3.0` \
-I/usr/include/clutter-1.0/ \
-I/usr/include/cogl/ \
-I/usr/include/json-glib-1.0/ \
-I/usr/include/clutter-gtk-1.0/ \
-I/usr/include/libchamplain-gtk-0.12/ \
-I/usr/include/libchamplain-0.12/
LIBS = `pkg-config --libs gtk+-3.0` -lrt -lpthread -ltiff -lpng -lraw -llcms2 \
-lclutter-1.0 -lclutter-gtk-1.0 -lchamplain-0.12 -lchamplain-gtk-0.12
ALLFILES = fotoxx.o f.widgets.o f.image.o f.file.o f.gallery.o f.gmenu.o \
f.area.o f.meta.o f.edit.o f.repair.o f.warp.o f.effects.o \
f.combine.o f.mashup.o f.tools.o f.batch.o zfuncs.o
fotoxx: $(ALLFILES)
$(CXX) $(LDFLAGS) -o fotoxx $(ALLFILES) $(LIBS) \
fotoxx.o: $(FOTOXX) fotoxx.h
$(CXX) -o fotoxx.o $(FOTOXX) $(CFLAGS) \
f.widgets.o: f.widgets.cc fotoxx.h
$(CXX) f.widgets.cc $(CFLAGS) \
f.image.o: f.image.cc fotoxx.h
$(CXX) f.image.cc $(CFLAGS) \
f.file.o: f.file.cc fotoxx.h
$(CXX) f.file.cc $(CFLAGS) \
f.gallery.o: f.gallery.cc fotoxx.h
$(CXX) f.gallery.cc $(CFLAGS) \
f.gmenu.o: f.gmenu.cc fotoxx.h
$(CXX) f.gmenu.cc $(CFLAGS) \
f.area.o: f.area.cc fotoxx.h
$(CXX) f.area.cc $(CFLAGS) \
f.meta.o: f.meta.cc fotoxx.h
$(CXX) f.meta.cc $(CFLAGS) \
f.edit.o: f.edit.cc fotoxx.h
$(CXX) f.edit.cc $(CFLAGS) \
f.repair.o: f.repair.cc fotoxx.h
$(CXX) f.repair.cc $(CFLAGS) \
f.warp.o: f.warp.cc fotoxx.h
$(CXX) f.warp.cc $(CFLAGS) \
f.effects.o: f.effects.cc fotoxx.h
$(CXX) f.effects.cc $(CFLAGS) \
f.combine.o: f.combine.cc fotoxx.h
$(CXX) f.combine.cc $(CFLAGS) \
f.mashup.o: f.mashup.cc fotoxx.h
$(CXX) f.mashup.cc $(CFLAGS) \
f.tools.o: f.tools.cc fotoxx.h
$(CXX) f.tools.cc $(CFLAGS) \
f.batch.o: f.batch.cc fotoxx.h
$(CXX) f.batch.cc $(CFLAGS) \
zfuncs.o: zfuncs.cc zfuncs.h
$(CXX) zfuncs.cc $(CFLAGS) -D DOCDIR=\"$(DOCDIR)\" \
install: fotoxx uninstall
mkdir -p $(DESTDIR)$(BINDIR)
mkdir -p $(DESTDIR)$(DATADIR)
mkdir -p $(DESTDIR)$(ICONDIR)
mkdir -p $(DESTDIR)$(LOCALESDIR)
mkdir -p $(DESTDIR)$(DOCDIR)
mkdir -p $(DESTDIR)$(MANDIR)
mkdir -p $(DESTDIR)$(PREFIX)/share/applications
mkdir -p $(DESTDIR)$(APPDATADIR)
cp -f fotoxx $(DESTDIR)$(BINDIR)
cp -f -R data/* $(DESTDIR)$(DATADIR)
cp -f -R icons/* $(DESTDIR)$(ICONDIR)
cp -f -R locales/* $(DESTDIR)$(LOCALESDIR)
cp -n -R doc/* $(DESTDIR)$(DOCDIR)
gzip -f -9 $(DESTDIR)$(DOCDIR)/changelog
cp -f -R appdata/* $(DESTDIR)$(APPDATADIR)
# man page
cp -f doc/fotoxx.man fotoxx.1
gzip -f -9 fotoxx.1
cp fotoxx.1.gz $(DESTDIR)$(MANDIR)
rm -f fotoxx.1.gz
# menu (desktop) file
cp -f desktop $(DESTDIR)$(MENUFILE)
uninstall:
rm -f $(DESTDIR)$(BINDIR)/fotoxx
rm -f -R $(DESTDIR)$(SHAREDIR)
rm -f -R $(DESTDIR)$(DOCDIR)
rm -f $(DESTDIR)$(MANDIR)/fotoxx.1.gz
rm -f $(DESTDIR)$(MENUFILE)
clean:
rm -f fotoxx
rm -f *.o
|