116 lines
2.9 KiB
Makefile
116 lines
2.9 KiB
Makefile
##########################################################################
|
|
# This is a basic Makefile to take a buck of the work out of compiling
|
|
# our stuff.
|
|
# Just change OFILES or OFILE_TEST depending on what you want to do.
|
|
#
|
|
###########################################################################
|
|
|
|
.KEEP_STATE:
|
|
.SUFFIXES: .C .H
|
|
|
|
#some basic defines
|
|
|
|
BPSHOME = .
|
|
BPSINC = $(BPSHOME)
|
|
BPSLIB = $(BPSHOME)
|
|
BPSMOTIF = $(BPSHOME)/src/Motif
|
|
BPSSTL = ./stl/stl
|
|
#
|
|
# Change EXEC to the name of the executable which you wish to
|
|
# create. Make OFILES be the name of all the .C files in your program,
|
|
# but change the .C to .o.
|
|
#
|
|
|
|
# Compiler specifications - we use g++
|
|
CCC = CC -pta -O2 -DNDEBUG -DLIBNDEBUG
|
|
|
|
EXEC = bps_server
|
|
EXEC_CLIENT_TEST = client_test
|
|
EXEC_SERV_TEST = serv_test
|
|
EXEC_TEST = policy_test
|
|
|
|
LIBOFILES= FirstThreadInstance.o BPSJob.o BPSJobSchedule.o BPSPolicy.o BPSDefaultPolicy.o BPSPolicyManager.o BPSSSPartManager.o BPSServerThread.o BPSSocket.o BPSSSPartition.o BPSSSPartitionIterator.o BPSSSPartitionUnit.o BPSPrivate.o Thread.o bps.o BPSAuthenticator.o bps_server.o BPSServer.o
|
|
|
|
OFILES =
|
|
OFILES_SERV_TEST = socket_serv_test.o
|
|
OFILES_CLIENT_TEST = socket_client_test.o
|
|
OFILES_TEST = policy_test.o
|
|
|
|
|
|
HEADERS =
|
|
LIBNAME = libBPS.a
|
|
|
|
#include directories
|
|
IFLAGS = -I$(BPSINC) -I$(BPSSTL)
|
|
|
|
#Link directories
|
|
|
|
LFLAGS = -L$(BPSLIB)
|
|
#Run-time library directories
|
|
RFLAGS =
|
|
|
|
#Libraries to include
|
|
LIB = -lBPS
|
|
LIBS = $(LIB)
|
|
|
|
all: $(EXEC)
|
|
|
|
$(EXEC) : $(OFILES) $(LIBNAME)
|
|
echo "linking $<"
|
|
$(CCC) -o $(EXEC) $(OFILES) -I$(BPSINC) -I$(BPSSTL) $(LFLAGS) $(LIBS) libpthread_d.a
|
|
echo "make finished at "; date
|
|
|
|
test : $(EXEC_SERV_TEST) $(EXEC_CLIENT_TEST)
|
|
$(EXEC_TEST) : $(OFILES) $(LIBNAME) $(OFILES_TEST)
|
|
echo "linking $<"
|
|
$(CCC) -o $(EXEC_TEST) $(OFILES) $(OFILES_TEST) -I$(BPSSTL) -I$(BPSINC)$(LFLAGS) $(LIBS) libpthread_d.a
|
|
echo "make finished at "; date
|
|
|
|
$(EXEC_SERV_TEST) : $(OFILES) $(LIBNAME) $(OFILES_SERV_TEST)
|
|
echo "linking $<"
|
|
$(CCC) -o $(EXEC_SERV_TEST) $(OFILES) $(OFILES_SERV_TEST) $(LFLAGS) $(LIBS) libpthread_d.a
|
|
echo "make finished at "; date
|
|
|
|
$(EXEC_CLIENT_TEST): $(OFILES) $(LIBNAME) $(OFILES_CLIENT_TEST)
|
|
echo "linking $<"
|
|
$(CCC) -o $(EXEC_CLIENT_TEST) $(OFILES) $(OFILES_CLIENT_TEST) libBPS.a
|
|
|
|
echo "make finished at "
|
|
|
|
# All .C files depend on their headers
|
|
%.C: %.H
|
|
|
|
# Define a rule for building .o from .C files
|
|
.C.o:
|
|
$(CCC) $(IFLAGS) -c $<
|
|
# Define a rule for building .o from .C files
|
|
.c.o:
|
|
echo "I wish I could understand file $<"
|
|
cc $(IFLAGS) -O3 -c $<
|
|
|
|
|
|
libBPS.a: $(LIBOFILES)
|
|
ar rv $(LIBNAME) $(LIBOFILES)
|
|
|
|
#make and install the library file
|
|
install: $(LIBOFILES)
|
|
# install -m 664 -f $(BPSINC) $(HEADERS)
|
|
ar rv $(LIBNAME) $(LIBOFILES)
|
|
# Clean up after making.
|
|
clean:
|
|
rm *.o
|
|
rm -r Templates.DB/*
|
|
$(RM) *.o
|
|
|
|
# Make tags for emacs and vi. The result will be stored in a text
|
|
# file 'TAGS' in your current directory.
|
|
tags:
|
|
|
|
# Time your make.
|
|
time:
|
|
|
|
|
|
|
|
|
|
|