Files
2022-12-13 12:44:04 +01:00

77 lines
2.2 KiB
Makefile
Executable File

ARCH = hpux-sl
include $(CDEV)/examples/Makefile.common
SRCROOT = $(CDEV)/extensions/cdevGenericServer
CDEVSHOBJ = /usr/user4/mccops/lib/$(TARGETDIR)
APPNAME = "CDEV Sample Service"
LIBDIR = $(CDEVLIB)
INCDIR = $(SRCROOT)/include
LIBS = -L$(LIBDIR) -lSimpleService \
-L$(CDEVLIB) -lcdev \
-ly -ll -L/lib -lm
LINKLIBS = -L$(LIBDIR) -lSimpleService\
-ly -ll -L/lib -lm
CLASS_INCLUDES = -I./ -I$(INCDIR) -I$(CDEV)/extensions/SimpleService
CXXEXTRA = -pta $(EPICSINCLUDES) $(ACE_INCLUDES) $(CLASS_INCLUDES)
SRCS = SampleService.cc
OBJS = SampleService.o
% : %.cc
@rm -f $@
@echo "=> $(CXX) $< -o $@"
@$(CXX) $(CXXFLAGS) $(CXXEXTRA) $< -o $@ -L$(ACE_LIBDIR) $(ACE_LIBS)
ifeq ($(SHOBJ), YES)
OUTPUTLIB = SampleService.so
targets: buildingService $(CDEVSHOBJ)/$(CDEVVERSION)/SampleService.so
else
OUTPUTLIB = libSampleService.a
targets: buildingService $(CDEV)/lib/$(TARGETDIR)/libSampleService.a
endif
buildingService:
@echo "BUILDING LIBRARY \"$(OUTPUTLIB)\"..."
objClean :
@echo ""
@echo "=> Removing old object files prior to building library"
@rm -rf $(OBJS)
$(CDEVSHOBJ)/$(CDEVVERSION)/SampleService.so : $(OBJS) $(SRCS)
@rm -f $@
@echo "=> Building shared object $@"
@echo " => Pleasuring templates for $@"
@echo "int main() {return 0; }" >dummy.cc
@$(CXX) $(CXXFLAGS) $(CXXEXTRA) dummy.cc $(SRCS) -Wl,+s -ptr./ptSampleService -ptr./ptrepository $(LIBS)
@rm -rf a.out dummy.*
@if test -f ./ptSampleService/*.o; \
then \
echo " => Linking $@ from objects and template objects"; \
$(CXX) -b -o $@ $(OBJS) ptSampleService/*.o $(LINKLIBS); \
else \
echo " => Linking $@ from objects"; \
$(CXX) -b -o $@ $(OBJS) $(LINKLIBS); \
fi
@echo " => $@ finished"
$(CDEV)/lib/$(TARGETDIR)/libSampleService.a : hail buildingService objClean $(OBJS)
@rm -f $@
@echo "=> Building archive library $@"
@echo " => Linking $@ from objects"
@ar ruv libSampleService.a $(OBJS)
@chmod a+r libSampleService.a
@echo " => $@ finished"
clean:
@echo "=> Sample Service"
@echo " => Removing old objects and binaries"
@rm -rf $(OBJS) $(CDEVSHOBJ)/$(TARGETDIR)/SampleService.so a.out *.o *~ core ptrepository ptSampleService
@echo " => Done"