Skip to content
Snippets Groups Projects
Makefile.in 4.63 KiB
Newer Older
teuben's avatar
teuben committed
# Makefile for partiview - please do not edit if the file is named "Makefile",
# since configure would overwrite it on the next configure. Edit "Makefile.in"
teuben's avatar
teuben committed
# instead, and run configure instead!!!
# If you must change configure.in, run autoconf, and then configure etc.
teuben's avatar
teuben committed

# the following variables are under AC control
# KIRA_INC, KIRA_LIB
# FLTK_INC, FLTK_LIB
# PV_FLAGS
teuben's avatar
teuben committed

SHELL = /bin/sh

# TARGET
TARGET   = partiview
LIBTARGET = libparti.a
teuben's avatar
teuben committed

teuben's avatar
teuben committed
#	Override with --with-fltk=
FLTK_INC   = @FLTK_INC@
FLTK_LIB   = @FLTK_LIB@

CAVE_INC   = @CAVE_INC@
CAVE_LIB   = @CAVE_LIB@

slevy's avatar
 
slevy committed
#KIRA_INC = -I$(STARLAB_PATH)/inc
teuben's avatar
teuben committed
#KIRA_LIB = -L${STARLAB_PATH)/lib
teuben's avatar
teuben committed

teuben's avatar
teuben committed
#  AC variables KIRA_INC and KIRA_LIB automatically created
#  if $STARLAB_PATH present; override with --with-kira=
KIRA_INC = @KIRA_INC@
KIRA_LIB = @KIRA_LIB@

slevy's avatar
slevy committed
THREAD_CFLAGS = @PTHREAD_CFLAGS@
THREAD_LIB = @PTHREAD_LIBS@

IEEEIO_INC = @IEEEIO_INC@
IEEEIO_LIB = @IEEEIO_LIB@

ELUMENS_INC = @ELUMENS_INC@
ELUMENS_LIB = @ELUMENS_LIB@

GLEW_INC = @GLEW_INC@
GLEW_LIB = @GLEW_LIB@

PORT_OBJS = @PORT_OBJS@

teuben's avatar
teuben committed
GL_LIB   = @GLLIBS@
X_LIB    = @XLIBS@
M_LIB    = -lm
teuben's avatar
teuben committed

teuben's avatar
teuben committed
# FLAGS and BINARIES
teuben's avatar
teuben committed
PV_FLAGS    = @PV_FLAGS@
DEFS	    = $(PV_FLAGS)
slevy's avatar
slevy committed
#OPT         = -g -O2 ${OTYPE}
slevy's avatar
slevy committed
OPT	    = @CFLAGS@
INCL	    = ${FLTK_INC} ${CAVE_INC} $(KIRA_INC) ${GLEW_INC} ${ELUMENS_INC} ${IEEEIO_INC}
teuben's avatar
teuben committed
CC          = @CC@
slevy's avatar
slevy committed
CFLAGS      = ${OPT} ${THREAD_CFLAGS} ${DEFS} ${INCL}
teuben's avatar
teuben committed
CXX	    = @CXX@
CXXFLAGS    = @CXXFLAGS@ $(OPT) $(DEFS) $(INCL)
slevy's avatar
slevy committed
LINK        = ${CXX} ${CXXFLAGS} ${THREAD_CFLAGS}
LIBS        = ${KIRA_LIB} ${GLEW_LIB} ${ELUMENS_LIB} ${IEEEIO_LIB} ${FLTK_LIB} ${CAVE_LIB} ${THREAD_LIB} ${GL_LIB} ${X_LIB} ${M_LIB}
teuben's avatar
teuben committed

		geometry.c partibrains.c specks.c versionstr.c \
slevy's avatar
slevy committed
		mgtexture.c textures.c async.c shmem.c \
		kira_parti.cc parti_model.cc cat_model.cc glshader.cc parti_ieee.cc \
slevy's avatar
slevy committed
		tcpsocket.cc
APP_CXXSRCS = \
		partiview.cc partiviewc.cc partipanel.cc Gview.cc Hist.cc \
		Fl_Log_Slider.cxx Plot.cc nethack.cc Fl_Scroll_Thin.cxx \
		genericslider.cc conste.cc
PLUGIN_OBJS = \
		plugins.o kira_parti.o warp.o nethack.o parti_ieee.o \
		elumens.o parti_model.o cat_model.o \
		conste.o
teuben's avatar
teuben committed

APP_OBJS    = \
		partiview.o partiviewc.o partipanel.o \
		Gview.o Hist.o Fl_Log_Slider.o Plot.o Fl_Scroll_Thin.o genericslider.o
		geometry.o partibrains.o specks.o versionstr.o \
		mgtexture.o textures.o async.o glshader.o \
		futil.o findfile.o sfont.o \
slevy's avatar
slevy committed
		sclock.o notify.o shmem.o \
slevy's avatar
slevy committed
		tcpsocket.o \
		${PORT_OBJS} \
		${PLUGIN_OBJS} \
teuben's avatar
teuben committed

slevy's avatar
slevy committed
default: all lib
slevy's avatar
 
slevy committed
all:	depended $(TARGET)

lib:	libdepended $(LIBTARGET)
${LIBTARGET}: libdepended ${API_OBJS}
	${AR} ${ARFLAGS} $@  ${API_OBJS}

Makefile: Makefile.in configure
	@if [ -f config.status ]; then \
		echo "Re-running config.status to regenerate Makefile"; \
		./config.status; \
	else \
		echo "Beware -- you probably need to re-run 'configure'"; \
	fi

slevy's avatar
 
slevy committed
	${MAKE} depend
	touch depended  libdepended
slevy's avatar
 
slevy committed
	@echo "Re-running 'make'"
	${MAKE}
teuben's avatar
teuben committed

	${MAKE} libdepend
	touch $@
	rm -f depended
	@echo "Re-running 'make ${LIBTARGET}'"
	${MAKE} ${LIBTARGET}

WARPCFLAGS = ${CFLAGS} -DSTANDALONE -UCAVE -UCAVEMENU
warpsdb: warp.o geometry.o
	${CC} -o $@ warp.c geometry.o -lm  ${WARPCFLAGS}

slevy's avatar
slevy committed
KIRA_SERVER_OBJS = kiraserver.o geometry.o findfile.o futil.o
kiraserver: ${KIRA_SERVER_OBJS}
	${CXX} -o $@ ${CFLAGS} ${KIRA_SERVER_OBJS} ${KIRA_LIB} ${M_LIB}

teuben's avatar
teuben committed
help:
	@echo  Partiview
	@echo  

teuben's avatar
teuben committed
clean:
slevy's avatar
slevy committed
	rm -f *.o core Makedepend config.cache $(TARGET) $(LIBTARGET)
teuben's avatar
teuben committed
	touch Makedepend

cleanall: clean
slevy's avatar
slevy committed
	rm -f Makefile config.log config.status config.h
teuben's avatar
teuben committed

$(TARGET):  $(APP_OBJS) ${LIBTARGET}
	$(LINK)  -o $@  $(APP_OBJS) ${LIBTARGET} $(LIBS)
teuben's avatar
teuben committed

versionstr.c: VERSION
	echo "char partiview_version[] = \"`cat VERSION`\";" > $@
# Force recompiling all plugins if any -D opts might have changed.  Ugh.
${PLUGIN_OBJS}: Makefile

teuben's avatar
teuben committed
ptest:  ptest.o
	$(CXX) -o $@ $(OPT) ptest.o $(LIBS)

dometest:  dometest.o geometry.o
	$(CXX) -o $@ $(OPT) dometest.o geometry.o $(LIBS)

partipanel.H partipanel.cc: partipanel.fl
	fluid -c partipanel.fl
teuben's avatar
teuben committed

.PHONEY: depend

# dep: depend
# depend:	_always

depend:
	rm -f Makedepend
	${CC} -M ${CFLAGS} ${APP_CSRCS} ${API_CSRCS} > Makedepend
	${CXX} -M ${CXXFLAGS} ${APP_CXXSRCS} ${API_CXXSRCS} >> Makedepend
teuben's avatar
teuben committed

libdepend:
	rm -f Makedepend
	${CC} -M ${CFLAGS} ${API_CSRCS} > Makedepend
	${CXX} -M ${CXXFLAGS} ${API_CXXSRCS} >> Makedepend

teuben's avatar
teuben committed
_always:

slevy's avatar
 
slevy committed
.SUFFIXES: .C .cc .cxx .cpp
slevy's avatar
 
slevy committed

.C.o:
	${CXX} -c $< ${CXXFLAGS} 
.cc.o:
	${CXX} -c $< ${CXXFLAGS} 
slevy's avatar
 
slevy committed
.cxx.o:
	${CXX} -c $< ${CXXFLAGS}
slevy's avatar
 
slevy committed
.cpp.o:
	${CXX} -c $< ${CXXFLAGS} 

teuben's avatar
teuben committed
include Makedepend