📄 makefile.gcc
字号:
# Copyright (C) 2002 Open Source Telecom Corporation.## This file is free software; as a special exception the author gives# unlimited permission to copy and/or distribute it, with or without# modifications, as long as this notice is preserved.## This program is distributed in the hope that it will be useful, but# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.# A makefile to do a mingw32 cross compile build of dll's.HAVE = -I$(prefix)/include/libxmlVPATH = ../w32:../src:../demo:../testsOPATH = ../w32ARCH = i586-mingw32msvc-prefix = /usr/i586-mingw32msvcCXX = $(ARCH)c++AS = $(ARCH)asDLLTOOL = $(ARCH)dlltoolDLLWRAP = $(ARCH)dllwrapWINDRES = $(ARCH)windresSTRIP = $(ARCH)stripexeext = .exedllext = .dllCPPFLAGS = -I. -I../include $(HAVE) -DHAVE_CONFIG_H -D_GNU_SOURCECXXFLAGS = -include ../w32/cc++/config.h -g -O2 -mthreadsLDFLAGS = -L$(prefix)/dll -lccgnu2 -lccext2 -lws2_32CCGNU2_LDFLAGS = -L$(prefix)/dll -lws2_32CCEXT2_LDFLAGS = -L. -L$(prefix)/dll -lccgnu2 -lxml2 -liberty -lws2_32#LDEXEC = -L$(OPATH) -lccgnu2 $(LDFLAGS)CCGNU2_DLL_NAME = ccgnu2.dllCCEXT2_DLL_NAME = ccext2.dllCCGNU2_DLL_LIB = libccgnu2.aCCEXT2_DLL_LIB = libccext2.aCCGNU2_DLL_DEF = ccgnu2.defCCEXT2_DLL_DEF = ccext2.defPROGS = hello.exe test.exe tcp.exe tcpthread.exe tcpservice.exe \ urlfetch.exe xmlfetch.exe SampleSocketPort.exe crc32.exe shadigest.exe# pio.exe requires some iostream related headers missing in MinGW# cmdlineopt will not compile on non-posix systems!#SERIAL_PROG: serial.exe#serial.exe: serialmain.o serialecho.o# $(CXX) $(CPPFLAGS) $(CXXFLAGS) $< -L. -lccgnu2 $(LDFLAGS) -o $@# serial uses "/dev/modem"TESTS = bug1.exe bug2.exe thread1.exe thread2.exe tcpstr1.exe url1.exeall: $(CCGNU2_DLL_NAME) $(CCEXT2_DLL_NAME) $(PROGS) $(SERIAL_PROG) $(TESTS)SHDRS = thread.h socket.h exception.h cmdoptns.h digest.h export.h file.h \ groups.h misc.h numbers.h persist.h slog.h url.h urlstring.h xml.h \ serial.h strchar.hHDRS = cc++/config.h $(addprefix ../include/cc++/, $(SHDRS))CCGNU2_OBJS = thread.o mutex.o semaphore.o threadkey.o \ friends.o event.o slog.o dir.o file.o inaddr.o \ peer.o port.o socket.o simplesocket.o network.o \ serial.o mempager.o keydata.o dso.o exception.o \ process.o urlstring.oCCEXT2_OBJS = buffer.o fifo.o pipe.o numbers.o \ cmdoptns.o url.o xml.o persist.o engine.o digest.o sha.o \ date.o groups.o md5.o unix.o ftp.o# pios.o pio_globals.oCCGNU2_DLLWRAP_FLAGS = --export-all --output-def $(CCGNU2_DLL_DEF) \ --implib $(CCGNU2_DLL_LIB) --driver-name $(CXX)CCEXT2_DLLWRAP_FLAGS = --export-all --output-def $(CCEXT2_DLL_DEF) \ --implib $(CCEXT2_DLL_LIB) --driver-name $(CXX)$(CCGNU2_DLL_NAME) $(CCGNU2_DLL_DEF) $(CCGNU2_DLL_LIB): $(addprefix $(OPATH)/, $(CCGNU2_OBJS)) $(DLLWRAP) $(CCGNU2_DLLWRAP_FLAGS) -o $(CCGNU2_DLL_NAME) \ $(CCGNU2_OBJS) libgnu2.o $(CCGNU2_LDFLAGS)$(CCEXT2_DLL_NAME) $(CCEXT2_DLL_DEF) $(CCEXT2_DLL_LIB): $(addprefix $(OPATH)/, $(CCEXT2_OBJS)) libgnu2.o $(DLLWRAP) $(CCEXT2_DLLWRAP_FLAGS) -o $(CCEXT2_DLL_NAME) \ $(CCEXT2_OBJS) libgnu2.o $(CCEXT2_LDFLAGS)#libgnu2.o: ccgnu2.rc# $(WINDRES) -o libgnu2.o ccgnu2.rc$(OPATH)/%.o: %.cpp $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $(OPATH)/$(basename $@).o $<%.exe: %.cpp $(CXX) $(CPPFLAGS) $(CXXFLAGS) $< -L. -lccgnu2 $(LDFLAGS) -o $@clean: -rm -f $(CCGNU2_OBJS) $(CCEXT2_OBJS) \ $(CCGNU2_DLL_NAME) $(CCEXT2_DLL_NAME) \ $(CCGNU2_DLL_LIB) $(CCEXT2_DLL_LIB) \ $(CCGNU2_DLL_DEF) $(CCEXT2_DLL_DEF) \ $(PROGS)install: -mkdir $(prefix)/include/cc++ -mkdir $(prefix)/dll cp -af $(HDRS) $(prefix)/include/cc++ cp -af $(CCGNU2_DLL_LIB) $(CCGNU2_DLL_NAME) $(CCEXT2_DLL_LIB) $(CCEXT2_DLL_NAME) $(prefix)/dll cp -af $(CCGNU2_DLL_LIB) $(prefix)/lib/libccgnu2dll.a cp -af $(CCEXT2_DLL_LIB) $(prefix)/lib/libccext2dll.a $(STRIP) $(prefix)/dll/$(CCGNU2_DLL_NAME) $(prefix)/dll/$(CCEXT2_DLL_NAME) ar -rs $(prefix)/lib/$(CCGNU2_DLL_LIB) $(CCGNU2_OBJS) ar -rs $(prefix)/lib/$(CCEXT2_DLL_LIB) $(CCEXT2_OBJS)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -