######################################################################### # COMMON NORM-JNI MAKEFILE STUFF # .SUFFIXES: .cpp -sim.o $(.SUFFIXES) NORMJNI = ../../src/java/jni INCLUDES = $(SYSTEM_INCLUDES) -I../../include CFLAGS = -g -O $(SYSTEM_CFLAGS) $(INCLUDES) LIBNORM = ../../lib/libnorm.a PROTOLIB = ../../protolib LIBPROTO = $(PROTOLIB)/lib/libprotokit.a LIBS = $(SYSTEM_LIBS) -lm -lpthread # Rule for C++ .cpp extension .cpp.o: $(CC) -c $(CFLAGS) -o $*.o $*.cpp LIB_SRC = \ $(NORMJNI)/normJni.cpp \ $(NORMJNI)/normInstanceJni.cpp \ $(NORMJNI)/normSessionJni.cpp \ $(NORMJNI)/normObjectJni.cpp \ $(NORMJNI)/normDataJni.cpp \ $(NORMJNI)/normFileJni.cpp \ $(NORMJNI)/normStreamJni.cpp \ $(NORMJNI)/normEventJni.cpp \ $(NORMJNI)/normNodeJni.cpp LIB_OBJ = $(LIB_SRC:.cpp=.o) LIB_DEP = $(LIB_SRC:.cpp=.d) all: libmil_navy_nrl_norm.$(SYSTEM_SOEXT) # NORM JNI shared library libmil_navy_nrl_norm.$(SYSTEM_SOEXT): $(LIB_OBJ) $(LIBNORM) $(LIBPROTO) $(CC) $(SYSTEM_SOFLAGS) $(LIB_OBJ) $(LIBNORM) $(LIBPROTO) $(LIBS) -o $@ mkdir -p ../../lib cp $@ ../../lib/$@ $(LIBNORM): $(MAKE) -C ../../makefiles -f Makefile.$(SYSTEM) libnorm.a $(LIBPROTO): $(MAKE) -C $(PROTOLIB)/makefiles -f Makefile.$(SYSTEM) libprotokit.a -include $(LIB_DEP) %.d: %.cpp $(CC) -MM -MT $(@:.d=.o) -MF $@ $(CFLAGS) $< clean: rm -f $(NORMJNI)/*.o \ $(NORMJNI)/*.d \ libmil_navy_nrl_norm.$(SYSTEM_SOEXT) \ ../../lib/libmil_navy_nrl_norm.$(SYSTEM_SOEXT) distclean: clean # DO NOT DELETE THIS LINE -- mkdep uses it. # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.