include ../ENVIRONMENT

#CC = cc
#CFLAGS = -O
#LFLAGS = -p
#LIB = -lmalloc
#MATH_LIB = -lm

# non-SGI platforms do not need PW
#X11_LIB = -lX11 -lPW
# something like below might work on Linux
# but also might need to add -lXp -lXext (and ???)
#X11_LIB = -lX11
# below uses shared libraries
#X11_LIB = -lX11_s -lPW

#MOTIF_LIB = -lXm -lXt
# below uses shared libraries
#MOTIF_LIB = -lXm_s -lXt_s

#XPM_LIB = -lXpm

# something like below needed on Linux
# specifies directories where X11 and Motif found
# if Motif somewhere else need to add directories for that as well
# (every extra directory needs its own -I or -L)
#X11_INCLUDE_DIR = -I/usr/X11R6/include
#X11_LIB_DIR = -L/usr/X11R6/lib

GLOBAL_DIR = ../global

COMMON_LOCAL_OBJS = \
	baseline.o \
	baseline_func.o \
	block.o \
	data.o \
	data_func.o \
	draw.o \
	extract.o \
	extract_func.o \
	fit.o \
	fit_func.o \
	fold.o \
	fold_func.o \
	levels.o \
	levels_func.o \
	object.o \
	object_func.o \
	output_func.o \
	param.o \
	peak.o \
	peaks_func.o \
	phase.o \
	phase_func.o \
	position.o \
	prop_func.o \
	region.o \
	region_func.o \
	rowcol.o \
	rowcol_func.o \
	save.o \
	save_func.o \
	script.o \
	slice.o

LOCAL_PLOT2_OBJS = \
	plot2.o \
	baseline_popup.o \
	data_popup.o \
	display_popup.o \
	extract_popup.o \
	fit_popup.o \
	fold_popup.o \
	levels_popup.o \
	object_popup.o \
	output_popup.o \
	peak_popup.o \
	peaks_popup.o \
	phase_popup.o \
	prop_popup.o \
	region_popup.o \
	rowcol_popup.o \
	save_popup.o \
	slice_popup.o \
	track_popup.o \
	$(COMMON_LOCAL_OBJS)

LOCAL_PLOT2_NOG_OBJS = \
	plot2_nog.o \
	command.o \
	$(COMMON_LOCAL_OBJS)

COMMON_GLOBAL_OBJS = \
	$(GLOBAL_DIR)/base.o \
	$(GLOBAL_DIR)/block_io.o \
	$(GLOBAL_DIR)/color.o \
	$(GLOBAL_DIR)/contour.o \
	$(GLOBAL_DIR)/date.o \
	$(GLOBAL_DIR)/ft.o \
	$(GLOBAL_DIR)/gamma.o \
	$(GLOBAL_DIR)/gauss_jordan.o \
	$(GLOBAL_DIR)/help.o \
	$(GLOBAL_DIR)/hpgl.o \
	$(GLOBAL_DIR)/line_fit.o \
	$(GLOBAL_DIR)/list.o \
	$(GLOBAL_DIR)/nonlinear_model.o \
	$(GLOBAL_DIR)/output.o \
	$(GLOBAL_DIR)/par.o \
	$(GLOBAL_DIR)/parse.o \
	$(GLOBAL_DIR)/ps.o \
	$(GLOBAL_DIR)/ref.o \
	$(GLOBAL_DIR)/stack.o \
	$(GLOBAL_DIR)/svd.o \
	$(GLOBAL_DIR)/ticks.o \
	$(GLOBAL_DIR)/utility.o

GLOBAL_PLOT2_OBJS = \
	$(GLOBAL_DIR)/callback.o \
	$(GLOBAL_DIR)/display.o \
	$(GLOBAL_DIR)/event_handle.o \
	$(GLOBAL_DIR)/info_popup.o \
	$(GLOBAL_DIR)/ref_popup.o \
	$(GLOBAL_DIR)/timer.o \
	$(GLOBAL_DIR)/window.o \
	$(COMMON_GLOBAL_OBJS)

GLOBAL_PLOT2_NOG_OBJS = \
	$(COMMON_GLOBAL_OBJS)

all: plot2 plot2_nog

plot2: local_plot2 global_plot2
	$(CC) -o $@ $(CFLAGS) $(LFLAGS) \
		$(LOCAL_PLOT2_OBJS) \
		$(GLOBAL_PLOT2_OBJS) \
		$(X11_LIB_DIR) $(MOTIF_LIB_DIR) \
		$(LIB) $(MATH_LIB) \
		$(MOTIF_LIB) $(X11_LIB) $(XPM_LIB)

plot2_nog: local_plot2_nog global_plot2_nog
	$(CC) -o $@ $(CFLAGS) $(LFLAGS) \
		$(LOCAL_PLOT2_NOG_OBJS) \
		$(GLOBAL_PLOT2_NOG_OBJS) \
		$(LIB) $(MATH_LIB)

local_plot2_objects: $(LOCAL_PLOT2_OBJS)

local_plot2:
	$(MAKE) local_plot2_objects

global_plot2:
	cd $(GLOBAL_DIR); $(MAKE) plot2_objects

local_plot2_nog_objects: $(LOCAL_PLOT2_NOG_OBJS)

local_plot2_nog:
	$(MAKE) local_plot2_nog_objects

global_plot2_nog:
	cd $(GLOBAL_DIR); $(MAKE) plot2_nog_objects

.c.o:;	$(CC) $(X11_INCLUDE_DIR) $(MOTIF_INCLUDE_DIR) $(XPM_FLAG) -c $(CFLAGS) $<

clean:
	rm *.o

realclean:
	rm *.o
	rm plot2
	rm plot2_nog
