1 2include ../Makefile.inc 3 4ifdef APWAL_DEBUG 5CFLAGS=-g -Wall -Werror `pkg-config --cflags gtk+-2.0 gthread-2.0` -DGTK_DISABLE_DEPRECATED -DAPWAL_DEBUG 6LDFLAGS=`pkg-config --libs gtk+-2.0 gthread-2.0` `xml2-config --libs` 7else 8CFLAGS+=`pkg-config --cflags gtk+-2.0 gthread-2.0` 9LDFLAGS+=`pkg-config --libs gtk+-2.0 gthread-2.0` `xml2-config --libs` 10endif 11 12OBJS=main.o app.o launcher.o editor.o property.o \ 13 gtkstuff.o sysstuff.o iconsel.o cereimg.o \ 14 apwalapp.o iconsel_interface.o filesel.o xmlrc.o iconlist.o log.o about.o \ 15 apwalpref.o splash.o gtkfnmatch.o 16INCS=app.h launcher.h editor.h property.h gtkstuff.h sysstuff.h \ 17 iconsel.h cereimg.h apwalapp.h \ 18 iconsel_private.h filesel.h xmlrc.h common.h iconlist.h log.h about.h \ 19 apwalpref.h splash.h gtkfnmatch.h 20 21.SUFFIXES: .png .c 22 23 24ifdef APWAL_DEBUG 25all: checktraceformat apwal tags 26apwal: $(OBJS) 27 $(CC) -o $@ $^ $(LDFLAGS) 28else 29all: apwal 30apwal: $(OBJS) 31 $(CC) -o $@ $^ $(LDFLAGS) 32 strip $@ 33endif 34 35install: all 36 cp apwal /usr/local/bin/ 37 ln -sf /usr/local/bin/apwal /usr/local/bin/apwal-editor 38 39.c.o: $(INCS) 40 $(CC) -c $< -o $*.o $(CFLAGS) 41 42xmlrc.o: xmlrc.c $(INCS) 43 $(CC) -c $< -o $*.o $(CFLAGS) `xml2-config --cflags` 44about.o: about.c $(INCS) ../Makefile.inc 45 $(CC) -c $< -o $*.o $(CFLAGS) -DAPWAL_VERSION=\"$(VERS)\" 46 47gtkstuff.o: pixbufinline.inc 48xmlrc.o: xmlrcinline.inc 49 50$(OBJS): $(INCS) 51 52xmlrcinline.inc: ../example/apwalrc.xml 53 @echo "generating $@..." 54 @if [ -f $@ ]; then rm -f $@; fi; 55 @echo > $@ 56 @echo -n "#define XMLRC_DEFAULT \"" >> $@ 57 @cat ../example/apwalrc.xml | awk ' \ 58 BEGIN { ORS="\\n"; } \ 59 { gsub("\"","\\\""); \ 60 print; \ 61 }'>> $@ 62 @echo "\"" >> $@ 63 @echo >> $@ 64 65 66pixbufinline.inc: ../pixmaps/*.png 67 @echo "generating $@..." 68 @list2build=$$( \ 69 for f in ../pixmaps/*.png;do echo "`basename $$f .png` $$f ";done); \ 70 if [ -f $@ ]; then rm -f $@; fi; \ 71 gdk-pixbuf-csource --raw --build-list $$list2build > $@; \ 72 echo >> $@ ; echo "pixbufinline_t pixbufinline[] =" >> $@; \ 73 echo "{" >> $@; \ 74 for f in ../pixmaps/*.png;do \ 75 echo " {" >> $@; \ 76 echo " \"`basename $$f .png`\"," >> $@; \ 77 echo " sizeof(`basename $$f .png`)," >> $@; \ 78 echo " (guint8 *) & `basename $$f .png`" >> $@; \ 79 echo " }," >> $@; \ 80 done; \ 81 echo "};" >> $@; \ 82 echo -n "gint pixbufinline_count = (sizeof(pixbufinline) / " >> $@; \ 83 echo "sizeof(pixbufinline_t));" >> $@; \ 84 echo "" >> $@; 85 86tags: $(INCS) $(OBJS:.o=.c) 87 ctags -R 88 89checktraceformat: 90 @(fmterr=`find . -name "*.c" | xargs grep -nH '\(TRACE\|WARN\|ERR\)[ \t]*([ \t]*"[^%]*"'`; \ 91 if [ ! -z "$$fmterr" ]; then \ 92 echo "*** gcc on OpenBSD does not allow marcos with args... ending by a ','." ; \ 93 echo '*** To avoid this problem with the log macros, TRACE("") has to' ; \ 94 echo '*** be replaced by TRACE("%s", "") for example. Format problem in:' ; \ 95 echo "$$fmterr" ; \ 96 exit 1; fi; ) 97 98 99clean: 100 -rm -f $(OBJS) apwal pixbufinline.inc xmlrcinline.inc tags 101 102