📄 makefile.sun
字号:
#!/bin/make -f# #(@) Makefile $Revision: 1.36 $ $Date: 96/08/01 15:11:47 $## Makefile for building C++ components for SNMP++ Object Library#### Flags: compiler options, search paths## Library Definitions:## -xnet -- X/Open Networking Services Library Functions#LIBRARIES = -lxnet## Precompiler Option Definitions:## -g -- debug# -mt -- Compiles and links a multithreaded program, and# passes -D_REENTRANT to the preprocessor. Passed# to ld is the command:# -D_REENTRANT -- Definition sets need for code to be reentrant, threaded.# -PIC -- Produces position-independent code.# -Dsun -- Specifies SNMP++ code is being compiled on a sun# -D__unix -- Specifies SNMP++ code is being compiled on UNIX, solaris# -pta -- Use -template=wholeclass.#COPTIONS = -g -mt -D_REENTRANT -PIC -D_XPG4_EXTENDED -Dsun -D__unixCINCDIRS = -I../includeTEMPOPTS = -I. -pta# We shouldn't probably optimise or strip symbols for a while#USEROPTS = -s -OCFLAGS = $(COPTIONS) $(CINCDIRS) $(USEROPTS)LDFLAGS = $(CFLAGS)## Header Files#USERHEADERS = ../include/address.h ../include/counter.h ../include/ctr64.h \ ../include/gauge.h ../include/octet.h ../include/oid.h \ ../include/pdu.h ../include/smi.h ../include/target.h \ ../include/timetick.h ../include/vb.h ../include/snmp_pp.h \ ../include/integer.h ../include/smival.h ../include/snmperrs.h \ ../include/collect.h ../include/oid_def.h ../include/asn1.h \ ../include/snmpmsg.hUXHEADERS = ../include/msgqueue.h ../include/userdefined.h \ ../include/usertimeout.h ../include/eventlist.h \ ../include/msec.h ../include/notifyqueue.hHEADERS = $(USERHEADERS) $(UXHEADERS) ## Source code#PLUSSRC = address.cpp counter.cpp ctr64.cpp gauge.cpp integer.cpp octet.cpp \ oid.cpp pdu.cpp target.cpp timetick.cpp vb.cpp asn1.cpp snmpmsg.cppUXSRC = uxsnmp.cpp eventlist.cpp msgqueue.cpp userdefined.cpp usertimeout.cpp \ msec.cpp notifyqueue.cpp collect.cpp## Object Files produced#OBJS = address.o counter.o ctr64.o gauge.o integer.o octet.o oid.o pdu.o \ target.o timetick.o vb.o asn1.o snmpmsg.o uxsnmp.o eventlist.o msgqueue.o \ userdefined.o usertimeout.o msec.o notifyqueue.o P1OBJ = test_app.o## Libraries: dependencies and produced## Select .a for static linking and a *.so for dynamic linking# For dynamic linking, remember to have user's update their $LD_LIBRARY_PATH# to contain directory holding libsnmp++.so#LIBSNMPPLUS = libsnmp++.aLIBSNMPPLUS = libsnmp++.soLIBSNMPX11 = libsnmpx11.a## Used to instantiate templates#TEMPMAIN = tempmain.C## Here for a quick sanity check upon completing a build...#PROG1 = test_app## Shar file packages for delivery to our pals...#LIBSHARFILE = libsnmp++.shLIBSHARFILES = $(LIBSNMPPLUS) $(LIBSNMPX11) $(HEADERS)UXCODESHARFILE = snmp++.ux.src.shUXCODESHARFILES = $(PLUSSRC) $(UXSRC) $(USERHEADERS) $(UXHEADERS) Makefile## Compile rules##CC = g++ CC = CCLD = ld.SUFFIXES: .cpp .C.C.o: $(CC) $(CFLAGS) -c $< $(CC) -DSNMPX11 -I/usr/include/X11R5 $(CFLAGS) -c $< -o ${@:.o=x11.o}.cpp.o: $(CC) $(CFLAGS) -c $< $(CC) -DSNMPX11 -I/usr/include/X11R5 $(CFLAGS) -c $< -o ${@:.o=x11.o}## Build rules#all: $(LIBSNMPPLUS) $(LIBSNMPX11) $(PROG1)# Compile with debugging turned ondebug:= USEROPTS = -g debug: allshar: $(LIBSHARFILE) $(UXCODESHARFILE) $(WINCODESHARFILE)$(PROG1): $(LIBSNMPPLUS) $(P1OBJ) $(CC) -pta $(LDFLAGS) $(P1OBJ) -L./ -lsnmp++ -o $(PROG1) \ $(LIBRARIES)$(LIBSNMPPLUS): $(OBJS) CC -pta $(LDFLAGS) $(OBJS) -G -o $@# ar -rv $(LIBSNMPPLUS) $(OBJS)$(LIBSNMPX11): $(OBJS:.o=x11.o) ar -rv $(LIBSNMPX11) $(OBJS:.o=x11.o)uxsnmp.o: $(HEADERS) $(CC) -c $(CFLAGS) uxsnmp.cpp $(CC) -c $(CFLAGS) \ -I/usr/include/X11R5 -DSNMPX11 -o uxsnmpx11.o uxsnmp.cpp# Fix up delivered files to go into separate directories$(LIBSHARFILE): $(LIBSHARFILES) shar -CZ -b $(LIBSHARFILES) | awk ' \ /^PATH=/ {print; print "\nmkdir -p snmp++/lib snmp++/include"; next} \ /^chmod / { \ print; \ if ($$3 ~ /.*\.h$$/) { \ printf("mv -f %s snmp++/include/\n", $$3)} \ else if ($$3 ~ /.*\.a$$/) { \ printf("mv -f %s snmp++/lib/\n", $$3)} \ next \ } \ {print} \ ' > $(LIBSHARFILE)$(UXCODESHARFILE): $(UXCODESHARFILES) shar -CZ -b $(UXCODESHARFILES) > $(UXCODESHARFILE)clean: -rm -f core *.o *~ a.out clobber: clean -rm -f $(LIBSNMPPLUS) $(LIBSNMPX11) $(PROG1) \ $(LIBSHARFILE) $(UXCODESHARFILE)## Dependency rules#$(P1OBJ): $(HEADERS)$(OBJS): $(HEADERS)depend: makedepend $(PLUSSRC) $(UXSRC) $(CINCDIRS)# DO NOT DELETEaddress.o: ../include/address.h /usr/include/string.h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -