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