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 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
|
##############################################################################
# Solaris Makefile for qiv - Quick Image Viewer - http://qiv.spiegl.de/
# User Options
#############################################################################
# Directory where qiv will be installed under.
PREFIX = /usr/local
# Fonts to use for statusbar and comments
STATUSBAR_FONT = "fixed"
COMMENT_FONT = "fixed"
ARTIST_FONT = "Monospace 10"
# Cursor to use on qiv windows - see
# /usr/X11R6/include/X11/cursorfont.h for more choices.
CURSOR = 84
# Should image be centered on screen by default? 1=yes, 0=no.
CENTER = 1
# Should images be filtered by extension? 1=yes, 0=no.
FILTER = 1
# This sets the file extentions to filter on (other file types will be
# skipped.) It should reflect whatever is compiled into imlib.
# The latest version of imlib has removed imagemagick fallback support,
# so some extensions (XBM TGA) have been removed.
EXTNS = GIF TIFF XPM PNG PPM PNM PGM PCX BMP EIM JPEG SVG WMF ICO
# Comment this line out if your system doesn't have getopt_long().
#GETOPT_LONG = -DHAVE_GETOPT_LONG
# This program will be run on the manual page after it is installed.
# If you don't want to compress the manpage, change it to 'true'.
COMPRESS_PROG = gzip -9f
# Comment this line out if your system doesn't have lcms2 installed
# (for minimal Color Management support)
LCMS = -DSUPPORT_LCMS
# Comment this line out if you do not want to use libmagic to
# identify if a file is an image
MAGIC = -DHAVE_MAGIC
# Uncomment if libmagic is installed in a non standard place
#MAGIC_PREFIX = /data/magictools
# Comment this line out if you do not want to use libexif to
# display the exif contents of a jpg
EXIF = -DHAVE_EXIF
######################################################################
# Variables and Rules
# Do not edit below here!
######################################################################
ifeq ($(origin CC),default)
CC = gcc
endif
CFLAGS = -O2 -Wall -fomit-frame-pointer -finline-functions \
-fcaller-saves -ffast-math -fno-strength-reduce \
-fthread-jumps #-march=pentium #-DSTAT_MACROS_BROKEN
INCLUDES := $(shell pkg-config --cflags gdk-2.0 imlib2)
LIBS := $(shell pkg-config --libs gdk-2.0 imlib2) -lX11 lXext -lgio-2.0
# [as] thinks that this is not portable enough:
# [lc] I use a virtual screen of 1600x1200, and the resolution is 1024x768,
# so I changed (in main.c) how screen_[x,y] is obtained; it seems that gtk
# 1.2 cannot give the geometry of viewport, so I borrowed from the source
# of xvidtune the code for calling XF86VidModeGetModeLine, this requires
# the linking option -lXxf86vm.
#LIBS += -lXxf86vm
PROGRAM = qiv
OBJS = main.o image.o event.o options.o utils.o xmalloc.o
HEADERS = qiv.h
DEFINES = $(patsubst %,-DEXTN_%, $(EXTNS)) \
$(GETOPT_LONG) \
-DSTATUSBAR_FONT='$(STATUSBAR_FONT)' \
-DCOMMENT_FONT='$(COMMENT_FONT)' \
-DARTIST_FONT='$(ARTIST_FONT)' \
-DCENTER=$(CENTER) \
-DFILTER=$(FILTER) \
-DCURSOR=$(CURSOR) \
$(MAGIC) \
$(EXIF) \
$(LCMS)
ifndef GETOPT_LONG
OBJS += lib/getopt.o lib/getopt1.o
OBJS_G += lib/getopt.g lib/getopt1.g
endif
ifdef LCMS
INCLUDES += $(shell pkg-config --cflags lcms2)
LIBS += $(shell pkg-config --libs lcms2) -ljpeg -ltiff
endif
ifdef EXIF
INCLUDES += $(shell pkg-config --cflags libexif)
LIBS += $(shell pkg-config --libs libexif)
endif
ifdef MAGIC
ifdef MAGIC_PREFIX
INCLUDES += -I$(MAGIC_PREFIX)/include
LIBS += -L$(MAGIC_PREFIX)/lib
endif
LIBS += -lmagic -lz
endif
PROGRAM_G = qiv-g
OBJS_G = $(OBJS:.o=.g)
DEFINES_G = $(DEFINES) -DDEBUG
######################################################################
all: $(PROGRAM)
$(PROGRAM): $(OBJS)
$(CC) $(CFLAGS) $(DEFINES) $(OBJS) $(LIBS) -o $(PROGRAM)
$(OBJS): %.o: %.c $(HEADERS)
$(CC) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
main.o: main.h
######################################################################
debug: $(PROGRAM_G)
$(PROGRAM_G): $(OBJS_G)
$(CC) -g $(CFLAGS) $(DEFINES_G) $(LIBS) $(OBJS_G) -o $(PROGRAM_G)
$(OBJS_G): %.g: %.c $(HEADERS)
$(CC) -c -g $(CFLAGS) $(DEFINES_G) $(INCLUDES) $< -o $@
######################################################################
clean :
@echo "Cleaning up..."
rm -f $(OBJS) $(OBJS_G)
distclean : clean
rm -f $(PROGRAM) $(PROGRAM_G)
install: $(PROGRAM)
@echo "Installing QIV..."
@if [ ! -d $(PREFIX)/bin ]; then \
install -d -m 0755 $(PREFIX)/bin; \
echo install -d -m 0755 $(PREFIX)/bin; \
fi
install -s -m 0755 $(PROGRAM) $(PREFIX)/bin
@if [ ! -d $(PREFIX)/man/man1 ]; then \
echo install -d -m 0755 $(PREFIX)/man/man1; \
install -d -m 0755 $(PREFIX)/man/man1; \
fi
install -m 0644 $(PROGRAM).1 $(PREFIX)/man/man1
$(COMPRESS_PROG) $(PREFIX)/man/man1/$(PROGRAM).1
install -D -m 0644 qiv.png $(PREFIX)/share/pixmaps/qiv.png
install -D -m 0644 qiv.desktop $(PREFIX)/share/applications/qiv.desktop
@if [ ! -e $(PREFIX)/share/pixmaps ]; then \
echo install -d -m 0755 $(PREFIX)/share/pixmaps; \
install -d -m 0755 $(PREFIX)/share/pixmaps; \
fi
install -m 0644 qiv.png $(PREFIX)/share/pixmaps/qiv.png
@if [ ! -e $(PREFIX)/share/applications ]; then \
echo install -d -m 0755 $(PREFIX)/share/applications; \
install -d -m 0755 $(PREFIX)/share/applications; \
fi
install -m 0644 qiv.desktop $(PREFIX)/share/applications/qiv.desktop
@if ./qiv -f ./intro.jpg ; \
then echo "-- Test Passed --" ; \
else echo "-- Test Failed --" ; \
fi
@echo "\nDont forget to look into the \"qiv-command\" file and install it!\n-> cp qiv-command.example $(PREFIX)/bin/qiv-command\n\n"
# the end... ;-)
|