XCOMM
XCOMM  Imakefile
XCOMM
XCOMM  Copyright (C) 1995, 1996 Johannes Plass
XCOMM 
XCOMM  This program is free software; you can redistribute it and/or modify
XCOMM  it under the terms of the GNU General Public License as published by
XCOMM  the Free Software Foundation; either version 2 of the License, or
XCOMM  (at your option) any later version.
XCOMM 
XCOMM  This program is distributed in the hope that it will be useful,
XCOMM  but WITHOUT ANY WARRANTY; without even the implied warranty of
XCOMM  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
XCOMM  GNU General Public License for more details.
XCOMM 
XCOMM  You should have received a copy of the GNU General Public License
XCOMM  along with this program; if not, write to the Free Software
XCOMM  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
XCOMM 
XCOMM  Author:   Johannes Plass (plass@dipmza.physik.uni-mainz.de)
XCOMM            Department of Physic
XCOMM            Johannes Gutenberg-University
XCOMM            Mainz, Germany
XCOMM 


GV_CONFIG_FILE = ../config.Unix
#include "../config.Unix"

SRCS_0 =\
 Aaa.c\
 Aaa_bison.c\
 Aaa_lex.c\
 Clip.c\
 FileSel.c\
 Frame.c\
 Ghostview.c\
 actions.c\
 action_mag.c\
 callbacks.c\
 dialog.c\
 doc_misc.c\
 error.c\
 file.c\
 info.c\
 main.c\
 main_parseCmdLine.c\
 misc.c\
 misc_private.c\
 note.c\
 options.c\
 process.c\
 popup.c\
 popup_misc.c\
 ps.c\
 save.c\
 version.c\
 widgets_misc.c\
 zoom.c

OBJS_0 =\
 Aaa.o\
 Aaa_bison.o\
 Aaa_lex.o\
 Clip.o\
 FileSel.o\
 Frame.o\
 Ghostview.o\
 actions.o\
 action_mag.o\
 callbacks.o\
 dialog.o\
 doc_misc.o\
 error.o\
 file.o\
 info.o\
 main.o\
 main_parseCmdLine.o\
 misc.o\
 misc_private.o\
 note.o\
 options.o\
 process.o\
 popup.o\
 popup_misc.o\
 ps.o\
 save.o\
 version.o\
 widgets_misc.o\
 zoom.o

#ifdef USE_MEMDEBUG_CODE
   USER_DEFS_1	= $(MEMDEBUG_TYPES)
   SRCS_1	= d_mem.c d_xtmem.c
   OBJS_1	= d_mem.o d_xtmem.o
#endif

#ifdef USE_RUNTIME_MESSAGES
   USER_DEFS_2	= -DMESSAGES -DMESSAGE_NO_ESC
#endif

#ifdef USE_PIXMAP_CODE
   USER_DEFS_3	= -DUSE_PIXMAP_CODE
   SRCS_3	= StrToPmap.c
   OBJS_3	= StrToPmap.o
#endif

#ifdef USE_SETENV_CODE
   SRCS_4	= setenv.c getenv.c
   OBJS_4	= setenv.o getenv.o
#endif

#ifdef USE_LISTC_CODE
   SRCS_5	= Listc.c
   OBJS_5	= Listc.o
   USER_DEFS_5	= -DUSE_LISTC_WIDGET
#endif

#ifdef USE_SCROLLBAR_CODE
   SRCS_6	= Scrollbar.c
   OBJS_6	= Scrollbar.o
#endif

USER_DEFS_7	= -DUSER_DEFAULTS=\"$(USER_DEFAULTS)\"
USER_DEFS_8	= -DGV_LIB=\"$(GV_LIB)\" -DGV_CODE $(XAW3D_HEADERS)

#ifdef USE_FALLBACK_RESOURCES
   USER_DEFS_9	= -DUSE_FALLBACK_RESOURCES
#endif

#ifdef USE_FALLBACK_FILES
   USER_DEFS_10	= -DUSE_FALLBACK_FILES
   IF_NOT_FF	= !
#endif

SYS_LIBS_1	= -lm XawClientLibs

#ifdef USE_PIXMAP_CODE
   SYS_LIBS_2	= -lXpm
#endif

USER_DEFINES = $(USER_DEFS_0) $(USER_DEFS_1) $(USER_DEFS_2) $(USER_DEFS_3)\
 $(USER_DEFS_4) $(USER_DEFS_5) $(USER_DEFS_6) $(USER_DEFS_7)\
 $(USER_DEFS_8) $(USER_DEFS_9) $(USER_DEFS_10) $(USER_DEFS_11)
SRCS = $(SRCS_0) $(SRCS_1) $(SRCS_2) $(SRCS_3) $(SRCS_4) $(SRCS_5)\
 $(SRCS_6) $(SRCS_7) $(SRCS_8) $(SRCS_9) $(SRCS_10) $(SRCS_11)
OBJS = $(OBJS_0) $(OBJS_1) $(OBJS_2) $(OBJS_3) $(OBJS_4) $(OBJS_5)\
 $(OBJS_6) $(OBJS_7) $(OBJS_8) $(OBJS_9) $(OBJS_10) $(OBJS_11)
SYS_LIBRARIES = $(SYS_LIBS_0) $(SYS_LIBS_1) $(SYS_LIBS_2) $(SYS_LIBS_3)\
 $(SYS_LIBS_4) $(SYS_LIBS_5) $(SYS_LIBS_6) $(SYS_LIBS_7)\
 $(SYS_LIBS_8) $(SYS_LIBS_9) $(SYS_LIBS_10) $(SYS_LIBS_11)

DEFINES		= -DNON_BLOCKING_IO $(SIGNAL_DEFINES) $(USER_DEFINES)
DEPLIBS		= XawClientDepLibs
INSTDATFLAGS	= -m 0644

GV_FONT_RES_DAT     = gv_font_res.dat
GV_MAKE_RES_DAT     = gv_make_res.dat
GV_MISC_RES_DAT     = gv_misc_res.dat
GV_USER_RES_DAT     = gv_user_res.dat
GV_INTERN_RES_DAT   = gv_intern_res_unix.dat
GV_INTERN_RES_H     = gv_intern_res_unix.h
GV_LAYOUT_RES_DAT   = gv_layout_res.dat
GV_COPYRIGHT_DAT    = gv_copyright.dat
GV_MESSAGES_DAT     = gv_messages.dat
GV_MESSAGES_H       = gv_messages.h
APP_DEFAULTS_H      = app-defaults.h
GV_CLASS_NAME       = GV
GV_AD               = $(GV_CLASS_NAME).ad
GV_SOURCE_IMAKEFILE = ./Imakefile

#if defined(USE_FALLBACK_RESOURCES) || defined(USE_FALLBACK_FILES)
depend:: $(APP_DEFAULTS_H) $(GV_MESSAGES_H)
#endif

AllTarget(gv)

ComplexProgramTarget(gv)

install::
	if [ ! -d $(GV_LIB) ]; then $(MKDIRHIER) $(GV_LIB); fi

#ifndef USE_FALLBACK_FILES
   InstallNonExec(gv_doc.xbm,$(GV_LIB))
   InstallNonExec(gv_icon.xbm,$(GV_LIB))
   InstallNonExec(gv_selected.xbm,$(GV_LIB))
   InstallNonExec($(GV_MESSAGES_DAT),$(GV_LIB))
   InstallNonExec($(GV_INTERN_RES_DAT),$(GV_LIB))
#endif
InstallNonExec(gv_spartan.dat,$(GV_LIB))
#ifndef USE_FALLBACK_RESOURCES
   InstallAppDefaults($(GV_CLASS_NAME))
#endif

gv : $(GV_AD)

main.o: $(GV_INTERN_RES_H)

#ifdef USE_FALLBACK_FILES
main.o:	$(GV_MESSAGES_H)
#endif

#ifdef USE_FALLBACK_RESOURCES
main.o:	$(APP_DEFAULTS_H)
#endif

$(APP_DEFAULTS_H):	$(GV_AD)
	@echo "creating $(APP_DEFAULTS_H)"
	@sh ./ad2c $(GV_AD) > $(APP_DEFAULTS_H)

$(GV_MESSAGES_H):	$(GV_MESSAGES_DAT)
	@echo "creating $(GV_MESSAGES_DAT)"
	@sh ./ad2c $(GV_MESSAGES_DAT) > $(GV_MESSAGES_H)

$(GV_INTERN_RES_H):	$(GV_INTERN_RES_DAT)
	@echo "creating $(GV_INTERN_RES_H)"
	@sh ./ad2c $(GV_INTERN_RES_DAT) > $(GV_INTERN_RES_H)

$(GV_AD): $(GV_FONT_RES_DAT) $(GV_LAYOUT_RES_DAT)\
	  $(GV_MAKE_RES_DAT) $(GV_MISC_RES_DAT)   $(GV_USER_RES_DAT)
	@echo "creating $(GV_AD)"
	@cp $(GV_COPYRIGHT_DAT)					   $(GV_AD)
	@echo "!"						>> $(GV_AD)
	@echo "!  $(GV_AD)"					>> $(GV_AD)
	@echo "!  Application class defaults for gv"		>> $(GV_AD)
	@echo "!  Copyright (C) 1995, 1996  Johannes Plass"	>> $(GV_AD)
	@echo "!"						>> $(GV_AD)
	@echo ""						>> $(GV_AD)
	@cat $(GV_USER_RES_DAT)					>> $(GV_AD)
	@cat $(GV_MAKE_RES_DAT)					>> $(GV_AD)
	@cat $(GV_FONT_RES_DAT)					>> $(GV_AD)
	@cat $(GV_MISC_RES_DAT)					>> $(GV_AD)
	@cat $(GV_LAYOUT_RES_DAT)				>> $(GV_AD)

$(GV_MAKE_RES_DAT): $(GV_CONFIG_FILE) $(GV_SOURCE_IMAKEFILE)
	@echo "creating $(GV_MAKE_RES_DAT)"
	@echo ""							>  $(GV_MAKE_RES_DAT)
	@echo  "!########## gv_make_res.dat (generated by makefile)"	>> $(GV_MAKE_RES_DAT)
	@echo ""							>> $(GV_MAKE_RES_DAT)
	@echo "!### Application specific resources"			>> $(GV_MAKE_RES_DAT)
	@echo ""							>> $(GV_MAKE_RES_DAT)
	@echo "GV.scratchDir:		$(SCRATCH_DIR)"			>> $(GV_MAKE_RES_DAT)
	@echo "GV.defaultSaveDir:	$(SAVE_DIR)"			>> $(GV_MAKE_RES_DAT)
	@echo ""							>> $(GV_MAKE_RES_DAT)
	@echo "$(IF_NOT_FF)GV.documentBitmap:	$(DOC_BMP)"		>> $(GV_MAKE_RES_DAT)
	@echo "$(IF_NOT_FF)GV.iconPixmap:		$(ICON_BMP)"	>> $(GV_MAKE_RES_DAT)
	@echo "$(IF_NOT_FF)GV.selectedBitmap:	$(SELECTED_BMP)"	>> $(GV_MAKE_RES_DAT)
	@echo "$(IF_NOT_FF)GV.messageFile:		$(MESSAGES_DAT)" >> $(GV_MAKE_RES_DAT)
	@echo ""							>> $(GV_MAKE_RES_DAT)

#ifdef PRODUCE_PS_LEVEL_ONE
        PS_LEVEL = -dPSLevel1
#endif

$(GV_INTERN_RES_DAT): $(GV_CONFIG_FILE)
	@echo "creating $(GV_INTERN_RES_DAT)"
	@echo "" 							 >  $(GV_INTERN_RES_DAT)
	@echo "!########## gv_intern_res.dat (generated by makefile)" >> $(GV_INTERN_RES_DAT)
	@echo ""							>> $(GV_INTERN_RES_DAT)
	@echo "GVintern.gsInterpreter:	gs" >> $(GV_INTERN_RES_DAT)
	@echo "GVintern.gsCmdScanPDF:	gs -dNODISPLAY -dQUIET -sPDFname=%s -sDSCname=%s pdf2dsc.ps -c quit" >> $(GV_INTERN_RES_DAT)
	@echo "GVintern.gsCmdConvPDF:	gs -dNODISPLAY -dQUIET $(PS_LEVEL) -dNOPAUSE -sPSFile=%s %s -c quit" >> $(GV_INTERN_RES_DAT)
	@echo "GVintern.gsX11Device:	-sDEVICE=x11" >> $(GV_INTERN_RES_DAT)
	@echo "GVintern.gsX11AlphaDevice:-dNOPLATFONTS -sDEVICE=x11alpha" >> $(GV_INTERN_RES_DAT)
	@echo "GVintern.gsSafer:	True" >> $(GV_INTERN_RES_DAT)
	@echo "GVintern.gsQuiet:	True" >> $(GV_INTERN_RES_DAT)
	@echo "GVintern.gsArguments:" >> $(GV_INTERN_RES_DAT)
	@echo "GVintern.printCommand:	$(PRINT_COMMAND)" >> $(GV_INTERN_RES_DAT)

clean::
	$(RM) $(APP_DEFAULTS_H)
	$(RM) $(GV_INTERN_RES_DAT)
	$(RM) $(GV_INTERN_RES_H)
	$(RM) $(GV_MAKE_RES_DAT)
	$(RM) $(GV_MESSAGES_H)
	$(RM) $(GV_AD)
