CPPFLAGS=-Wall -g
LDFLAGS=-ldl -lrt
-MEMCPPFLAGS=-fPIC -g -c -Wall
all: $(BIN)
$(BIN): $(USER_O) $(LIB_SO) $(LIB_MEM_SO)
- $(CXX) -o $(BIN) $(USER_O) -L. -l$(LIB_NAME) -l$(LIB_MEM) $(CPPFLAGS)
+ $(CXX) -o $(BIN) $(USER_O) -L. -l$(LIB_NAME) -l$(LIB_MEM) $(CPPFLAGS) $(LDFLAGS)
# note: implicit rule for generating $(USER_O) (i.e., userprog.c -> userprog.o)
$(CC) -shared -W1,rpath,"." -o $(LIB_MEM_SO) $(SHMEM_O)
malloc.o: malloc.c
- $(CC) $(MEMCPPFLAGS) -DMSPACES -DONLY_MSPACES malloc.c
+ $(CC) -fPIC -c malloc.c -DMSPACES -DONLY_MSPACES $(CPPFLAGS)
mymemory.o: mymemory.h snapshotimp.h mymemory.cc
- $(CXX) $(MEMCPPFLAGS) mymemory.cc
+ $(CXX) -fPIC -c mymemory.cc $(CPPFLAGS)
snapshot.o: mymemory.h snapshot.h snapshotimp.h snapshot.cc
- $(CXX) $(MEMCPPFLAGS) snapshot.cc
+ $(CXX) -fPIC -c snapshot.cc $(CPPFLAGS)
$(MODEL_O): $(MODEL_CC) $(MODEL_H)
$(CXX) -fPIC -c $(MODEL_CC) $(CPPFLAGS)