############################################################################### # Variable definitions for targets to build ############################################################################### #___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: 2003 by Sun Microsystems, Inc. # # All Rights Reserved. # ########################################################################## #___INFO__MARK_END__ LCKLIB_DIR = $(SDIR)/libs/lck LCKLIB = liblck$(LIBEXT) # we have a cyclic dependency liblck <--> libuti. # the build process can be fixed by building liblck as static lib # LCKLIB = liblck.a LCKLIB_SRC = \ sge_lock.c \ sge_lock_fifo.c \ sge_mtutil.c LCKLIB_OBJS = $(LCKLIB_SRC:.c=.o) LCKLIB_TEST_ADD_LIBS = $(COMMLISTSLIB) $(RMONLIB) $(UTILIB) $(WINGRIDLIB) $(LCKLIB) $(LIBS) # defines does not work at this time LCKLIB_TEST_LIB_DEPENDS = liblck.a librmon.a libcommlists.a libuti.a LCKLIB_TEST_OBJS = \ test_sge_lock_main.o \ test_sge_lock_simple.o \ test_sge_lock_multiple.o \ test_sge_lock_fifo.o \ test_sge_mutex_fifo.o \ test_sge_deadlock.o \ test_sge_recursive.o \ test_sge_lock_fifo.o LCKLIB_TEST_PROGS = \ test_sge_lock_simple \ test_sge_lock_multiple \ test_sge_deadlock \ test_sge_recursive \ test_sge_lock_fifo ############################################################################### # global rules: all, clean, depend, messages ############################################################################### lcklib: $(LCKLIB) $(LCKLIB_TEST_PROGS) lcklib_clean: $(RM) $(LCKLIB_OBJS) liblck.a liblck$(SHAREDEXT) $(LCKLIB_TEST_OBJS) $(LCKLIB_TEST_PROGS) lcklib_depend: $(DEPEND) -f$(LCKLIB_DIR)/lck_dependencies $(LCKLIB_DIR)/*.c lcklib_messages: @echo Creating $@ @for i in `ls $(LCKLIB_DIR)/*.c`; do \ $(CC) $(CFLAGS) -DEXTRACT_MESSAGES -E $$i | $(XGETTEXT) - ;\ done ############################################################################### # rules to build library ############################################################################### liblck.a: $(LCKLIB_OBJS) $(AR) $(ARFLAGS) liblck.a $(LCKLIB_OBJS) $(RANLIB) liblck.a # broken dependencies: we have to add libuti here liblck$(SHAREDEXT): $(LCKLIB_OBJS) $(RMONLIB) $(SHAREDLD) $(SHARED_LFLAGS) -o liblck$(SHAREDEXT) $(LCKLIB_OBJS) $(LIBS) -lc ############################################################################### # include dependencies for object files generated by sge_depend ############################################################################### include $(LCKLIB_DIR)/lck_dependencies ############################################################################### # rules to build object codes ############################################################################### sge_lock.o: $(LCKLIB_DIR)/sge_lock.c $(CC) $(CFLAGS) $(SHARED_CFLAGS) -c $(LCKLIB_DIR)/sge_lock.c sge_lock_fifo.o: $(LCKLIB_DIR)/sge_lock_fifo.c $(CC) $(CFLAGS) $(SHARED_CFLAGS) -c $(LCKLIB_DIR)/sge_lock_fifo.c sge_mtutil.o: $(LCKLIB_DIR)/sge_mtutil.c $(CC) $(CFLAGS) $(SHARED_CFLAGS) -c $(LCKLIB_DIR)/sge_mtutil.c ############################################################################### # rules to build object codes ############################################################################### test_sge_lock_main.o: $(LCKLIB_DIR)/test_sge_lock_main.c $(CC) $(CFLAGS) -c $(LCKLIB_DIR)/test_sge_lock_main.c test_sge_lock_simple.o: $(LCKLIB_DIR)/test_sge_lock_simple.c $(CC) $(CFLAGS) -c $(LCKLIB_DIR)/test_sge_lock_simple.c test_sge_lock_simple: test_sge_lock_main.o test_sge_lock_simple.o $(LCKLIB_TEST_LIB_DEPENDS) $(LD_WRAPPER) $(CC) $(CFLAGS) -o test_sge_lock_simple $(LFLAGS) test_sge_lock_main.o test_sge_lock_simple.o $(LCKLIB_TEST_ADD_LIBS) test_sge_mutex_fifo.o: $(LCKLIB_DIR)/test_sge_mutex_fifo.c $(CC) $(CFLAGS) -c $(LCKLIB_DIR)/test_sge_mutex_fifo.c test_sge_mutex_fifo: test_sge_mutex_fifo.o $(LCKLIB_TEST_LIB_DEPENDS) $(LD_WRAPPER) $(CC) $(CFLAGS) -o test_sge_mutex_fifo $(LFLAGS) test_sge_mutex_fifo.o $(LCKLIB_TEST_ADD_LIBS) test_sge_lock_multiple.o: $(LCKLIB_DIR)/test_sge_lock_multiple.c $(CC) $(CFLAGS) -c $(LCKLIB_DIR)/test_sge_lock_multiple.c test_sge_lock_multiple: test_sge_lock_main.o test_sge_lock_multiple.o $(LCKLIB_TEST_LIB_DEPENDS) $(LD_WRAPPER) $(CC) $(CFLAGS) -o test_sge_lock_multiple $(LFLAGS) test_sge_lock_main.o test_sge_lock_multiple.o $(LCKLIB_TEST_ADD_LIBS) test_sge_deadlock.o: $(LCKLIB_DIR)/test_sge_deadlock.c $(CC) $(CFLAGS) -c $(LCKLIB_DIR)/test_sge_deadlock.c test_sge_deadlock: test_sge_lock_main.o test_sge_deadlock.o $(LCKLIB_TEST_LIB_DEPENDS) $(LD_WRAPPER) $(CC) $(CFLAGS) -o test_sge_deadlock $(LFLAGS) test_sge_lock_main.o test_sge_deadlock.o $(LCKLIB_TEST_ADD_LIBS) test_sge_recursive.o: $(LCKLIB_DIR)/test_sge_recursive.c $(CC) $(CFLAGS) -c $(LCKLIB_DIR)/test_sge_recursive.c test_sge_recursive: test_sge_lock_main.o test_sge_recursive.o $(LCKLIB_TEST_LIB_DEPENDS) $(LD_WRAPPER) $(CC) $(CFLAGS) -o test_sge_recursive $(LFLAGS) test_sge_lock_main.o test_sge_recursive.o $(LCKLIB_TEST_ADD_LIBS) test_sge_lock_fifo.o: $(LCKLIB_DIR)/test_sge_lock_fifo.c $(CC) $(CFLAGS) -c $(LCKLIB_DIR)/test_sge_lock_fifo.c test_sge_lock_fifo: test_sge_lock_main.o test_sge_lock_fifo.o $(LCKLIB_TEST_LIB_DEPENDS) $(LD_WRAPPER) $(CC) $(CFLAGS) -o test_sge_lock_fifo $(LFLAGS) test_sge_lock_main.o test_sge_lock_fifo.o $(LCKLIB_TEST_ADD_LIBS)