#___INFO__MARK_BEGIN__
##########################################################################
#
#  The Contents of this file are made available subject to the terms of
#  the Sun Industry Standards Source License Version 1.2
#
#  Sun Microsystems Inc., March, 2001
#
#
#  Sun Industry Standards Source License Version 1.2
#  =================================================
#  The contents of this file are subject to the Sun Industry Standards
#  Source License Version 1.2 (the "License"); You may not use this file
#  except in compliance with the License. You may obtain a copy of the
#  License at http://gridengine.sunsource.net/Gridengine_SISSL_license.html
#
#  Software provided under this License is provided on an "AS IS" basis,
#  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
#  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
#  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
#  See the License for the specific provisions governing your rights and
#  obligations concerning the Software.
#
#  The Initial Developer of the Original Code is: Sun Microsystems, Inc.
#
#  Copyright: 2001 by Sun Microsystems, Inc.
#
#  All Rights Reserved.
#
##########################################################################
#___INFO__MARK_END__
common: $(COMMON_OBJS) $(CONFIG_BUILT)

common_clean:
	$(RM) $(COMMON_OBJS) sge_config.h

common_depend:
	$(DEPEND) -f$(COMMON_DIR)/common_dependencies $(COMMON_DIR)/*.c

common_messages:
	@$(RM) $(MESSAGES); touch $(MESSAGES)
	@echo Creating $@
	@for i in `ls $(COMMON_DIR)/*.c`; do \
		$(CC) $(CFLAGS) -DEXTRACT_MESSAGES -E $$i | $(XGETTEXT) - ; \
	done


###############################################################################
# Variable definitions for targets to build
###############################################################################
COMMON_DIR = $(SDIR)/common

COMMON_SRC = \
            sge_options.c \
            execution_states.c \
            parse_job_cull.c \
            parse_qsub.c \
            sig_handlers.c \
            usage.c \
            sge_mt_init.c \
            sge_ijs_comm.c \
            sge_ijs_threads.c

COMMON_OBJS = $(COMMON_SRC:.c=.o)

CONFIG_BUILT = sge_config.h $(COMMON_DIR)/sge_config.h.in $(SDIR)/configure

###############################################################################
# include dependencies for object files generated by sge_depend
###############################################################################
include $(COMMON_DIR)/common_dependencies

sge_config.h: $(COMMON_DIR)/sge_config.h.in $(SDIR)/configure
	../configure CC="$(CC)" CFLAGS="`echo $(CFLAGS) | sed -e's/-DSGE_ARCH_STRING=[^ ]*//'`"

$(COMMON_DIR)/sge_config.h.in $(SDIR)/configure: $(SDIR)/configure.ac
	cd .. && autoreconf

###############################################################################
# rules to build object codes
###############################################################################
sge_options.o:	$(COMMON_DIR)/sge_options.c
		$(CC) $(CFLAGS) $(SHARED_CFLAGS) -c $(COMMON_DIR)/sge_options.c

execution_states.o: $(COMMON_DIR)/execution_states.c
		$(CC) $(CFLAGS) -c $(COMMON_DIR)/execution_states.c

parse_job_cull.o    : $(COMMON_DIR)/parse_job_cull.c
		$(CC) $(CFLAGS) $(SHARED_CFLAGS) -c $(COMMON_DIR)/parse_job_cull.c

parse_qsub.o:	$(COMMON_DIR)/parse_qsub.c
		$(CC) $(CFLAGS) $(SHARED_CFLAGS) -c $(COMMON_DIR)/parse_qsub.c

sig_handlers.o   : $(COMMON_DIR)/sig_handlers.c
		$(CC) $(CFLAGS) $(SHARED_CFLAGS) -c $(COMMON_DIR)/sig_handlers.c

usage.o: 	$(COMMON_DIR)/usage.c
		$(CC) $(CFLAGS) -c $(COMMON_DIR)/usage.c

sge_mt_init.o: 	$(COMMON_DIR)/sge_mt_init.c
		$(CC) $(CFLAGS) -c $(COMMON_DIR)/sge_mt_init.c

sge_ijs_comm.o:	$(COMMON_DIR)/sge_ijs_comm.c 
		$(CC) $(CFLAGS) -c $(COMMON_DIR)/sge_ijs_comm.c

sge_ijs_threads.o:	$(COMMON_DIR)/sge_ijs_threads.c 
		$(CC) $(CFLAGS) -c $(COMMON_DIR)/sge_ijs_threads.c
