# Makefile for XGrafix library vim:ts=4 # vim600:fdm=marker fdl=0 fdc=3: # To install in a certain directory, # say "make install DESTDIR=dir" after making all. # # User configurable options {{{ # ******************************************* DESTDIR = $(HOME)/dipl # Comment this definition if the XPM library does not exist on your # system #XPM_DEFINE = -DXPMENABLED XPM_DEFINE = -DXPMENABLED # Location where tcl.h can be found #TCL_H = /usr/local/include #TCL_H = /usr/include/tcl8.3 # Location where tk.h can be found #TK_H = /usr/local/include #TK_H = /usr/include/tcl8.3 # Location where X11 subtree of include files can be found #X_H = /usr/include/X11 srcdir = . LIB_DIR = lib/xgrafix # }}} ### Compiler flags {{{ #INCLUDES = -I$(TCL_H) -I$(TK_H) -I$(X_H) DEFS = -DXGTCL=\"$(DESTDIR)/$(LIB_DIR)\" $(XPM_DEFINE) #DEBUGFLAGS = -g -ggdb -DDEBUG CFLAGS = -Wall -O2 $(DEBUGFLAGS) LDFLAGS = ### }}} # Compiler and other programs {{{ CC = gcc CCC = $(CC) -c -I$(srcdir) $(CFLAGS) COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(CFLAGS) $(LDFLAGS) -o $@ AR = ar RANLIB = ranlib LD = ld TAGS = ctags MKDIR = mkdir -p INSTALL = install INST_ALL_FLAGS = -c INST_DIR_FLAGS = -m 0755 INST_BIN_FLAGS = -m 0755 INST_LIB_FLAGS = -m 0644 INST_MAN_FLAGS = -m 0444 INST_DAT_FLAGS = -m 0444 INST_APP_FLAGS = $(INST_DAT_FLAGS) # }}} ### Names of the programs and targets {{{ SOURCES = ps6to1.c \ xgcommands.c \ xgcrosshair.c \ xginitc.c \ xginitf.c \ xginitvar.c \ xgmovie.c \ xgpaint2d.c \ xgpaint3d.c \ xgpaintvec.c \ xgpixmap.c \ xgprint.c \ xgprintgif.c \ xgreadrit.c \ xgrescale.c \ xgsetup.c #xgnox.c -- file removed from CVS HEADERS = xgdatamacros.h \ xgmini.h \ xgminint.h \ xgprintgif.h \ xgrafix.h \ xgrafixint.h OBJECTS = objects/xgcommands.o \ objects/xgcrosshair.o \ objects/xginitc.o \ objects/xginitvar.o \ objects/xgmovie.o \ objects/xgpaint2d.o \ objects/xgpaint3d.o \ objects/xgpaintvec.o \ objects/xgpixmap.o \ objects/xgprint.o \ objects/xgprintgif.o \ objects/xgreadrit.o \ objects/xgrescale.o \ objects/xgsetup.o PS6_OBJECTS = objects/ps6to1.o TCL_SOURCES = xgdialogs250.tcl xginit250.tcl xgsetup250.tcl xgdebug250.tcl libxgrafix_LIB = libXGC250 libxgrafix_STATIC_LIB = $(libxgrafix_LIB).a libxgrafix_DYNAMIC_LIB = $(libxgrafix_LIB).so ### }}} all: ps6to1 static dynamic ps6to1: $(PS6_OBJECTS) $(LINK) $(PS6_OBJECTS) static: $(libxgrafix_STATIC_LIB) dynamic: $(libxgrafix_DYNAMIC_LIB) $(libxgrafix_STATIC_LIB): $(OBJECTS) $(AR) r $@ $(OBJECTS) $(libxgrafix_DYNAMIC_LIB): $(OBJECTS) $(LD) $(LDFLAGS) -shared -o $@ $(OBJECTS) DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) OBJECTS_MAGIC := $(shell mkdir objects > /dev/null 2>&1 || :) clean: -rm -f *.o core *~ -rm -f TAGS tags ps6to1 $(libxgrafix_STATIC_LIB) $(libxgrafix_DYNAMIC_LIB) -rm -rf objects/ .deps/ tags: $(TAGS) -o TAGS *.[ch] objects/%.o: %.c $(CONFIG_HEADER) @echo '$(COMPILE) -c $<'; \ $(COMPILE) -Wp,-MD,.deps/$(*F).pp -o $@ -c $< @-cp .deps/$(*F).pp .deps/$(*F).P; \ tr ' ' '\012' < .deps/$(*F).pp \ | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ >> .deps/$(*F).P; \ rm .deps/$(*F).pp ### Install part {{{ install: objects \ install_ps6to1 \ install_lib \ install_header \ install_tcl \ install_icon install_ps6to1: ps6to1 @if [ -d $(DESTDIR)/bin ]; then set +x; \ else (set -x; $(MKDIR) $(INST_DIR_FLAGS) $(DESTDIR)/bin); fi $(INSTALL) $(INST_ALL_FLAGS) ps6to1 $(DESTDIR)/bin/ps6to1 install_lib: static dynamic @if [ -d $(DESTDIR)/$(LIB_DIR) ]; then set +x; \ else (set -x; $(MKDIR) $(INST_DIR_FLAGS) $(DESTDIR)/$(LIB_DIR)); fi $(INSTALL) $(INST_ALL_FLAGS) $(INST_LIB_FLAGS) \ $(libxgrafix_STATIC_LIB) $(DESTDIR)/$(LIB_DIR) $(RANLIB) $(RANLIBINST_FLAGS) $(DESTDIR)/$(LIB_DIR)/$(libxgrafix_STATIC_LIB) $(INSTALL) $(INST_ALL_FLAGS) $(INST_LIB_FLAGS) \ $(libxgrafix_DYNAMIC_LIB) $(DESTDIR)/$(LIB_DIR) install_header: xgrafix.h @if [ -d $(DESTDIR)/include ]; then set +x; \ else (set -x; $(MKDIR) $(INST_DIR_FLAGS) $(DESTDIR)/include); fi $(INSTALL) $(INST_ALL_FLAGS) $(INST_DAT_FLAGS) \ xgrafix.h $(DESTDIR)/include/xgrafix.h install_tcl: $(TCL_SOURCES) @if [ -d $(DESTDIR)/$(LIB_DIR) ]; then set +x; \ else (set -x; $(MKDIR) $(INST_DIR_FLAGS) $(DESTDIR)/$(LIB_DIR)); fi @for TCLFILE in $(TCL_SOURCES) ; do \ echo "$(INSTALL) $(INST_ALL_FLAGS) $(INST_DAT_FLAGS) \ $$TCLFILE $(DESTDIR)/$(LIB_DIR)/$$TCLFILE" ; \ $(INSTALL) $(INST_ALL_FLAGS) $(INST_DAT_FLAGS) \ $$TCLFILE $(DESTDIR)/$(LIB_DIR)/$$TCLFILE ; \ done install_icon: @if [ -d $(DESTDIR)/$(LIB_DIR) ]; then set +x; \ else (set -x; $(MKDIR) $(INST_DIR_FLAGS) $(DESTDIR)/$(LIB_DIR)); fi $(INSTALL) $(INST_ALL_FLAGS) $(INST_DAT_FLAGS) \ xgrafix.ico $(DESTDIR)/$(LIB_DIR)/xgrafix.ico ### End of Install part }}}