
PROGS= asview asscale astile asmerge asgrad asflip asi18n astext ascompose asvector ascheckttf


CC		= gcc
CCFLAGS         = -O3 -g -mbranch-protection=standard -D_FORTIFY_SOURCE=2 -std=gnu17 -DNO_DEBUG_OUTPUT
# -march=pentiumpro -mcpu=pentiumpro
EXTRA_DEFINES	= 

RANLIB		= ranlib
AR		= ar cq
CP		= /bin/cp
MV		= /bin/mv
RM		= /bin/rm
RMF		= /bin/rm -f
MKDIR		= /bin/mkdir
FIND		= /usr/bin/find
XARGS		= /usr/bin/xargs
LDCONFIG	= /bin/true

INSTALL		= /usr/bin/install -c
INSTALL_PROGRAM	= /usr/bin/install -c -m 755
INSTALL_DATA	= /usr/bin/install -c -m 644

INCS_X		= 
INCS_PRIVATE    = 
INCLUDES	= $(INCS_X) $(INCS_PRIVATE) -I..

USER_LD_FLAGS	= -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -rdynamic -rdynamic
LIBS_X		= -lX11    -lSM -lICE -lXext
LIBS_XEXTS	=
LIBS_AFTERIMAGE = -L../ -L../../libAfterBase -lAfterImage -lAfterBase -lfreetype -lrsvg-2 -lgdk_pixbuf-2.0 -lgio-2.0 -lcairo -lgobject-2.0 -lglib-2.0 -ltiff -lX11    -lSM -lICE -lXext -ljpeg -lpng -lz -lm
LIBRARIES	= $(USER_LD_FLAGS) $(LIBS_AFTERIMAGE) $(LIBS_X) $(LIBS_XEXTS)

prefix          = /usr
exec_prefix     = /usr
LIBDIR		= $(DESTDIR)/usr/lib/aarch64-linux-gnu
BIN_DIR		= $(DESTDIR)/usr/bin
MAN_DIR		= $(DESTDIR)/usr/share/man/man1
SHAREDIR	= $(DESTDIR)/usr/share

ifdef ORIGINAL_BUILD
# need this for dependancies :
LIBAFTERIMAGE_PATH =..
LIB_STATIC      = $(LIBAFTERIMAGE_PATH)/libAfterImage.a
LIB_SHARED      = $(LIBAFTERIMAGE_PATH)/libAfterImage.so
else
# build from libafterimage-dev  examples directory
LIBAFTERIMAGE_PATH = /usr/lib
 endif


all:    $(PROGS)

install.bin:	$(PROGS)
		@echo "installing libAfterImage apps using command - "; \
		if [ ! -d $(BIN_DIR) ] ; then 	$(MKDIR) -p $(BIN_DIR); fi; \
		echo "    \"$(INSTALL_PROGRAM) <app> $(BIN_DIR)\" :"; \
		for p in $(PROGS); do \
			echo -n "$$p "; \
	  		$(INSTALL_PROGRAM) $$p $(BIN_DIR); \
		done; \
		echo ""; echo "Done."; \

install.man:
		@if [ ! -d $(MAN_DIR) ] ; then 	$(MKDIR) -p $(MAN_DIR); fi; \
		for f in *.man; do \
		  echo $(INSTALL_DATA) $$f $(MAN_DIR)/`basename $$f`.3x; \
		  $(INSTALL_DATA) $$f $(MAN_DIR)/`basename $$f`.3x; \
		done

uninstall.bin:
		@for p in $(PROGS); do \
			echo "$(RMF) $(BIN_DIR)/$$p"; \
			$(RMF) $(BIN_DIR)/$$p; \
		done

uninstall.man:
		$(RMF) $(AFTER_MAN_DIR)/$(PROGS).3x

clean:
		$(RMF) show_flags_cc $(PROGS) *.o *~ *% *.bak \#* core

distclean:
		$(RMF) $(PROGS) *.o *~ *% *.bak \#* *.orig core Makefile

indent:
		@SRCS=`find . -name "*.c"`; \
		if test "x$$SRCS" == "x"; then exit; fi; \
		for i in $$SRCS; do \
		  if (indent -di14 -ts4 -i4 -l100 -lc80 -bad -nbbb -bli0 -c48 -cd48 -ce -cli1 -ncs -nbs -nbbo -hnl < $$i > /tmp/$$i); then \
		    echo "indent $$i"; \
		    mv /tmp/$$i $$i; \
		  fi; \
		done

deps:
		@echo -n > .depend ; \
		buf="" ; \
		for f in `find . -name "*.h"` ; do \
		  if test "x$$buf" != "x"; then \
		      echo $$buf >>.depend ; \
		      echo "" >>.depend ; \
		  fi; \
		  buf="$$f:"; \
		  for d in `grep "#include \"" <$$f | awk -F \" '{print $$2}'`; do \
		      if test "x$$buf" != "x"; then \
		         echo $$buf \\ >>.depend ; \
		      fi; \
		      echo -n "		" >>.depend ; \
		      buf="$$d "; \
		  done; \
		done; \
		if test "x$$buf" != "x"; then \
		  echo $$buf >>.depend ; \
		  buf="" ; \
		  echo "" >>.depend ; \
		fi ; \
		for file in `find . -name "*.c"` ; do \
		  if test "x$$buf" != "x"; then \
		      echo $$buf >>.depend ; \
		      echo >>.depend ; \
		  fi; \
		  buf="."`echo $$file | awk -F . '{print $$2}'`".o:" ; \
		  for d in `grep "#include \"" < $$file | awk -F \" '{print $$2}'`; do \
		      if test "x$$buf" != "x"; then \
		         echo $$buf \\ >>.depend ; \
		      fi; \
		      echo -n "		" >>.depend ; \
		      buf="$$d "; \
		  done; \
		done; \
		if test "x$$buf" != "x"; then \
		  echo $$buf >>.depend ; \
		fi

asview: asview.o common.o  $(LIB_SHARED)
		$(CC) asview.o common.o $(LIBRARIES) $(EXTRA_LIBRARIES) -o asview

asview_gl: asview_gl.o common.o $(LIB_STATIC)
		$(CC) asview_gl.o common.o $(LIBRARIES) $(EXTRA_LIBRARIES) -lGL -lGLU -o asview_gl

asscale: asscale.o common.o  $(LIB_SHARED)
		$(CC) asscale.o common.o $(LIBRARIES) $(EXTRA_LIBRARIES) -o asscale

astile: astile.o common.o  $(LIB_SHARED)
		$(CC) astile.o common.o $(LIBRARIES) $(EXTRA_LIBRARIES) -o astile

asmerge: asmerge.o common.o  $(LIB_SHARED)
		$(CC) asmerge.o common.o $(LIBRARIES) $(EXTRA_LIBRARIES) -o asmerge

asgrad: asgrad.o common.o  $(LIB_SHARED)
		$(CC) asgrad.o common.o $(LIBRARIES) $(EXTRA_LIBRARIES) -o asgrad

asflip: asflip.o common.o  $(LIB_SHARED)
		$(CC) asflip.o common.o $(LIBRARIES) $(EXTRA_LIBRARIES) -o asflip

asi18n: asi18n.o common.o  $(LIB_SHARED)
		$(CC) asi18n.o common.o $(LIBRARIES) $(EXTRA_LIBRARIES) -o asi18n

astext: astext.o common.o  $(LIB_SHARED)
		$(CC) astext.o common.o $(LIBRARIES) $(EXTRA_LIBRARIES) -o astext

ascheckttf: ascheckttf.o  $(LIB_SHARED)
		$(CC) ascheckttf.o $(LIBRARIES) $(EXTRA_LIBRARIES) -o ascheckttf

ascompose: ascompose.o common.o  $(LIB_SHARED)
		$(CC) ascompose.o common.o $(LIBRARIES) $(EXTRA_LIBRARIES) -o ascompose

asvector: asvector.o common.o  $(LIB_SHARED)
		$(CC) asvector.o common.o $(LIBRARIES) $(EXTRA_LIBRARIES) -o asvector

show_flags_cc:	asview.c asscale.c astile.c asmerge.c asgrad.c asflip.c asi18n.c astext.c ascompose.c asvector.c ascheckttf.c common.c  $(LIB_SHARED) Makefile
		@touch show_flags_cc

.c.o: 	show_flags_cc Makefile
		@echo " $*"
		$(CC) $(CCFLAGS) $(EXTRA_DEFINES) $(INCLUDES) $(EXTRA_INCLUDES) -c $*.c

.c.s:
		$(CC) $(CCFLAGS) $(EXTRA_DEFINES) $(INCLUDES) $(EXTRA_INCLUDES) -S $*.c

.lo:	$*.c


install:	install.bin

uninstall:	uninstall.bin

ifdef ORIGINAL_BUILD
include .depend

LIBAFTERIMAGE_OBJS = \
		$(LIBAFTERIMAGE_PATH)/asimage.c \
		$(LIBAFTERIMAGE_PATH)/ascmap.c \
		$(LIBAFTERIMAGE_PATH)/asfont.c \
		$(LIBAFTERIMAGE_PATH)/asimagexml.c \
		$(LIBAFTERIMAGE_PATH)/asstorage.c \
		$(LIBAFTERIMAGE_PATH)/asvisual.c \
		$(LIBAFTERIMAGE_PATH)/blender.c \
		$(LIBAFTERIMAGE_PATH)/bmp.c \
		$(LIBAFTERIMAGE_PATH)/char2uni.c \
		$(LIBAFTERIMAGE_PATH)/draw.c \
		$(LIBAFTERIMAGE_PATH)/export.c \
		$(LIBAFTERIMAGE_PATH)/imencdec.c \
		$(LIBAFTERIMAGE_PATH)/import.c \
		$(LIBAFTERIMAGE_PATH)/pixmap.c \
		$(LIBAFTERIMAGE_PATH)/scanline.c \
		$(LIBAFTERIMAGE_PATH)/transform.c \
		$(LIBAFTERIMAGE_PATH)/ungif.c \
		$(LIBAFTERIMAGE_PATH)/xcf.c \
		$(LIBAFTERIMAGE_PATH)/ximage.c \
		$(LIBAFTERIMAGE_PATH)/xpm.c

LIBAFTERIMAGE_INCS = \
		$(LIBAFTERIMAGE_PATH)/afterimage.h \
		$(LIBAFTERIMAGE_PATH)/afterbase.h \
		$(LIBAFTERIMAGE_PATH)/ascmap.h \
		$(LIBAFTERIMAGE_PATH)/asfont.h \
		$(LIBAFTERIMAGE_PATH)/asim_afterbase.h \
		$(LIBAFTERIMAGE_PATH)/asimage.h \
		$(LIBAFTERIMAGE_PATH)/asimagexml.h \
		$(LIBAFTERIMAGE_PATH)/asstorage.h \
		$(LIBAFTERIMAGE_PATH)/asvisual.h \
		$(LIBAFTERIMAGE_PATH)/blender.h \
		$(LIBAFTERIMAGE_PATH)/bmp.h \
		$(LIBAFTERIMAGE_PATH)/char2uni.h \
		$(LIBAFTERIMAGE_PATH)/draw.h \
		$(LIBAFTERIMAGE_PATH)/export.h \
		$(LIBAFTERIMAGE_PATH)/imencdec.h \
		$(LIBAFTERIMAGE_PATH)/import.h \
		$(LIBAFTERIMAGE_PATH)/pixmap.h \
		$(LIBAFTERIMAGE_PATH)/scanline.h \
		$(LIBAFTERIMAGE_PATH)/transform.h \
		$(LIBAFTERIMAGE_PATH)/ungif.h \
		$(LIBAFTERIMAGE_PATH)/xcf.h \
		$(LIBAFTERIMAGE_PATH)/ximage.h \
		$(LIBAFTERIMAGE_PATH)/xpm.h \
		$(LIBAFTERIMAGE_PATH)/xwrap.h \
		$(LIBAFTERIMAGE_PATH)/config.h

$(LIBAFTERIMAGE_PATH)/libAfterImage.a: $(LIBAFTERIMAGE_OBJS) $(LIBAFTERIMAGE_INCS)
		cd $(LIBAFTERIMAGE_PATH)/; ${MAKE} libAfterImage.a

$(LIBAFTERIMAGE_PATH)/libAfterImage.so: $(LIBAFTERIMAGE_OBJS) $(LIBAFTERIMAGE_INCS)
		cd $(LIBAFTERIMAGE_PATH)/; ${MAKE} libAfterImage.so
endif
