TOP=../.. include $(TOP)/config.mak ##============================================================================== ## ## all: ## ##============================================================================== all: $(MAKE) generate $(MAKE) build ##============================================================================== ## ## cpp: ## ##============================================================================== cpp: $(MAKE) generate EXTRA_OPT=--cpp $(MAKE) build_cpp ##============================================================================== ## ## generate: ## ##============================================================================== OMIGEN=$(BINDIR)/omigen CLASSES = TestSP_CAlC TestSP_Calc_Adv TestDerived TestBase TestSP_EmbeddedProperty x OPTS = -y EntryPoint -l -D -M -V -S $(EXTRA_OPT) generate: $(OMIGEN) schema.mof $(OPTS) $(CLASSES) ##============================================================================== ## ## build: ## ##============================================================================== export LD_LIBRARY_PATH=. FLAGS = -Wall -O2 -fvisibility=hidden -DMI_CHAR_TYPE=2 -fPIC INCLUDES = -I$(TOP) -I$(TOP)/common -I$(TOP)/common/posix SOURCES = $(wildcard *.c) OBJECTS=$(SOURCES:.c=.o) build: gcc $(FLAGS) $(INCLUDES) -c $(SOURCES) gcc -shared -o libgenall.so $(OBJECTS) g++ $(FLAGS) $(INCLUDES) -o main -Wall main.cpp -L. -lgenall ./main ##============================================================================== ## ## build_cpp: ## ##============================================================================== export LD_LIBRARY_PATH=.;$(LIBDIR) FLAGS_CPP = -Wall -O2 -fvisibility=hidden -DMI_CHAR_TYPE=1 -fPIC INCLUDES_CPP = -I$(TOP) -I$(TOP)/common -I$(TOP)/common/posix SOURCES_CPP = $(wildcard *.cpp) OBJECTS_CPP=$(SOURCES_CPP:.cpp=.o) build_cpp: g++ $(FLAGS_CPP) $(INCLUDES_CPP) -c $(SOURCES_CPP) gcc $(FLAGS_CPP) $(INCLUDES_CPP) -c schema.c g++ $(FLAGS_CPP) $(INCLUDES_CPP) -shared -o libgenall.so $(OBJECTS_CPP) schema.o -L$(LIBDIR) -lmicxx g++ $(FLAGS_CPP) $(INCLUDES_CPP) main.cpp -o main -Wall -L. -lgenall -Xlinker -rpath -Xlinker $(LIBDIR) ./main ##============================================================================== ## ## clean: ## ##============================================================================== clean: rm -f *.c *.h rm -f *.o *.so main *Class.cpp module.cpp stubs.cpp