trick/trick_source/trick_utils/trick_adt/makefile.stand_alone
2015-02-26 09:02:31 -06:00

1.2 KiB

 
# $Id: makefile.stand_alone 3560 2014-06-18 15:50:52Z alin $
 
#
# This makefile is used to build trick utils standalone.
# That is, without Trick.
#
# It does NOT create lib or object dirs for each platform.
#
# Once ran, all libraries go into "lib" .
 
TRICK_HOST_CPU := $(shell uname -s)
 
CC = cc
OBJ_DIR = object_${TRICK_HOST_CPU}
ADT_LIB = $(OBJ_DIR)/libtrick_adt.a
 
FLAGS = -g -I../include -D_REENTRANT -DSTAND_ALONE -D${TRICK_HOST_CPU} -Iinclude
 
trick: start
 
start: $(ADT_LIB)
@ echo "$(ADT_LIB) is up to date"
 
real_clean: clean
 
clean:
/bin/rm -rf $(OBJ_DIR)
 
#=======================================================================
# TRICK_ADT
 
SRC_DIR = src
 
TRICK_ADT_OBJECTS = \
$(OBJ_DIR)/MapStrToPtr.o \
$(OBJ_DIR)/bst.o \
$(OBJ_DIR)/dllist.o \
$(OBJ_DIR)/lqueue.o \
$(OBJ_DIR)/lstack.o \
$(OBJ_DIR)/record_array.o \
$(OBJ_DIR)/bubble_sort.o
 
$(ADT_LIB) : $(TRICK_ADT_OBJECTS)
ar cr $(ADT_LIB) $?
@ if [ "`uname -s`" = "Darwin" ] ; then \
echo ranlib $(ADT_LIB) ; \
ranlib $(ADT_LIB) ; \
fi
 
$(OBJ_DIR) :
mkdir -p $(OBJ_DIR)
 
$(TRICK_ADT_OBJECTS) : $(OBJ_DIR)/%.o : $(SRC_DIR)/%.c | $(OBJ_DIR)
$(CC) $(FLAGS) -c $< -o $@