# Edit this file to define constants and custom build targets.
# Please refer to the makemake documentation for more information.

FONTS := fonts/sample.f16
KEYMAPS := keymaps/iso8859-6.map keymaps/cp-1256.map
TRANSLATIONS := translations/iso-8859-6 translations/cp-1256
DATAINSDIR := /usr/lib/acon
# Useful directories

MYCODEDIR := .

# Directories to search for header files

SEARCHDIRS := -I- -I${MYCODEDIR}

# makemake variables

LINKER       := gcc
DEPENDFLAGS  := -g -Wall ${SEARCHDIRS}
TOUCHHEADERS := ${MYCODEDIR}/*.h

# C

CC     := gcc
CFLAGS  = ${DEPENDFLAGS}

# C++

CXX      := g++
CXXFLAGS  = ${DEPENDFLAGS}

%.o : %.cpp
	${CXX} ${CPPFLAGS} -c $< ${CXXFLAGS}

# FORTRAN

FC     := f77
FFLAGS  = 

# C preprocessor (C, C++, FORTRAN)

CPPFLAGS = 

# linker

LOADLIBES := 
LDFLAGS    = 

# Java

JAVAC  := javac
JFLAGS  = 
JAR    := jar

%.class : %.java
	${JAVAC} ${JFLAGS} $<

Acon: acon

.PHONY : install
install: acon
	install -m 4711 acon /usr/bin
	install -d ${DATAINSDIR}
	install -d ${DATAINSDIR}/keymaps
	install -d ${DATAINSDIR}/fonts
	install -d ${DATAINSDIR}/translations
	install -m 644 ${KEYMAPS} ${DATAINSDIR}/keymaps
	install -m 644 ${FONTS} ${DATAINSDIR}/fonts
	install -m 644 ${TRANSLATIONS} ${DATAINSDIR}/translations

.PHONY : uninstall
uninstall:
	rm /usr/bin/acon
	rm ${addprefix ${DATAINSDIR}/keymaps/, ${KEYMAPS} }
	rm ${addprefix ${DATAINSDIR}/fonts/, ${FONTS} }
	rm ${addprefix ${DATAINSDIR}/translations/, ${TRANSLATIONS} }


# This is what makemake added


# ./acon

./acon : ./acon.o ./child.o ./arabicfont.o ./render.o ./menu.o
	${LINKER} ${LDFLAGS} -o $@ ${filter-out %.a %.so, $^} ${LOADLIBES}


# target for making everything

.PHONY : all
all: ./acon


# target for removing all object files

.PHONY : tidy
tidy::
	@${RM} core ./acon.o ./arabicfont.o ./child.o ./menu.o ./render.o

# target for removing all object files

.PHONY : clean
clean:: tidy
	@${RM} ./acon

# list of all source files

MM_ALL_SOURCES := ./acon.c ./arabicfont.c ./child.c ./menu.c ./render.c


# target for checking a source file

CHECKSYNTAXFILE := ${basename ${filter %${CHECKSTRING}, ${MM_ALL_SOURCES}}}

.PHONY : checksyntax
checksyntax:
  ifneq (${CHECKSYNTAXFILE},)
	@${MAKE} ${addsuffix .o, ${CHECKSYNTAXFILE}}
  else
	@echo No target to make ${CHECKSTRING}
  endif


# target for touching appropriate source files

.PHONY : touch
touch:
	@echo
	@echo Please ignore \"file arguments missing\" errors
	@echo
	@echo   `grep -l ${TOUCHSTRING} ${MM_ALL_SOURCES}`
	@-touch `grep -l ${TOUCHSTRING} ${MM_ALL_SOURCES}`
	@echo
	@echo   `grep -l ${TOUCHSTRING} ${TOUCHHEADERS}`
	@-touch `grep -l ${TOUCHSTRING} ${TOUCHHEADERS}`


# target for calculating dependencies (MAKEMAKE, JDEPEND_INPUT_FILE)

.PHONY : jdepend
jdepend:
	@echo ./acon.c >> ${JDEPEND_INPUT_FILE}
	@echo ./acon.o >> ${JDEPEND_INPUT_FILE}
	@echo ./arabicfont.c >> ${JDEPEND_INPUT_FILE}
	@echo ./arabicfont.o >> ${JDEPEND_INPUT_FILE}
	@echo ./child.c >> ${JDEPEND_INPUT_FILE}
	@echo ./child.o >> ${JDEPEND_INPUT_FILE}
	@echo ./menu.c >> ${JDEPEND_INPUT_FILE}
	@echo ./menu.o >> ${JDEPEND_INPUT_FILE}
	@echo ./render.c >> ${JDEPEND_INPUT_FILE}
	@echo ./render.o >> ${JDEPEND_INPUT_FILE}
	@${MAKEMAKE} -depend Makefile -- ${DEPENDFLAGS} -- ${JDEPEND_INPUT_FILE}


# DO NOT DELETE THIS LINE -- makemake depends on it.

./acon.o: ./acon.h ./arabicfont.h ./child.h ./render.h /usr/include/ctype.h /usr/include/fcntl.h /usr/include/linux/kd.h /usr/include/linux/vt.h /usr/include/stdio.h /usr/include/stdlib.h /usr/include/string.h /usr/include/sys/ioctl.h /usr/include/unistd.h

./arabicfont.o: ./acon.h ./child.h ./render.h /usr/include/ctype.h /usr/include/fcntl.h /usr/include/linux/kd.h /usr/include/linux/vt.h /usr/include/stdio.h /usr/include/stdlib.h /usr/include/string.h /usr/include/sys/ioctl.h /usr/include/sys/stat.h /usr/include/unistd.h

./child.o: ./acon.h ./arabicfont.h ./child.h ./menu.h ./render.h /usr/include/errno.h /usr/include/fcntl.h /usr/include/linux/kd.h /usr/include/linux/vt.h /usr/include/signal.h /usr/include/stdio.h /usr/include/stdlib.h /usr/include/string.h /usr/include/sys/ioctl.h /usr/include/sys/time.h /usr/include/sys/types.h /usr/include/termios.h /usr/include/unistd.h

./menu.o: ./child.h ./render.h /usr/include/dirent.h /usr/include/fcntl.h /usr/include/linux/vt.h /usr/include/stdio.h /usr/include/stdlib.h /usr/include/string.h /usr/include/unistd.h

./render.o: ./acon.h ./arabicfont.h ./child.h ./render.h /usr/include/errno.h /usr/include/stdio.h /usr/include/string.h /usr/include/unistd.h

