1# 2# Makefile for UNIX - unrar 3# 4# Note: you have to 'make clean' before you can build 5# the sfx module 6# 7 8# Linux using GCC 9#CXX=g++ 10CXXFLAGS=$(CFLAGS) -fPIC -DPIC 11DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DGUI -DSILENT 12STRIP=strip 13DESTDIR=/usr 14RANLIB=ranlib 15 16# Linux using LCC 17#CXX=lcc 18#CXXFLAGS=-O2 19#DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE 20#STRIP=strip 21#DESTDIR=/usr 22 23# HP UX using aCC 24#CXX=aCC 25#CXXFLAGS=-AA +O2 +Onolimit 26#DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE 27#STRIP=strip 28#DESTDIR=/usr 29 30# IRIX using GCC 31#CXX=g++ 32#CXXFLAGS=-O2 33#DEFINES=-DBIG_ENDIAN -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_BSD_COMPAT -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 34#STRIP=strip 35#DESTDIR=/usr 36 37# IRIX using MIPSPro (experimental) 38#CXX=CC 39#CXXFLAGS=-O2 -mips3 -woff 1234,1156,3284 -LANG:std 40#DEFINES=-DBIG_ENDIAN -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_BSD_COMPAT -Dint64=int64_t 41#STRIP=strip 42#DESTDIR=/usr 43 44# AIX using xlC (IBM VisualAge C++ 5.0) 45#CXX=xlC 46#CXXFLAGS=-O -qinline -qro -qroconst -qmaxmem=16384 -qcpluscmt 47#DEFINES=-D_LARGE_FILES -D_LARGE_FILE_API 48#LIBS=-lbsd 49#STRIP=strip 50#DESTDIR=/usr 51 52# Solaris using CC 53#CXX=CC 54#CXXFLAGS=-fast -erroff=wvarhidemem 55#DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE 56#STRIP=strip 57#DESTDIR=/usr 58 59# Solaris using GCC (optimized for UltraSPARC 1 CPU) 60#CXX=g++ 61#CXXFLAGS=-O3 -mcpu=v9 -mtune=ultrasparc -m32 62#DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE 63#STRIP=/usr/ccs/bin/strip 64#DESTDIR=/usr 65 66# Tru64 5.1B using GCC3 67#CXX=g++ 68#CXXFLAGS=-O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_XOPEN_SOURCE=500 69#STRIP=strip 70#LDFLAGS=-rpath /usr/local/gcc/lib 71#DESTDIR=/usr 72 73# Tru64 5.1B using DEC C++ 74#CXX=cxx 75#CXXFLAGS=-O4 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Dint64=long 76#STRIP=strip 77#LDFLAGS= 78#DESTDIR=/usr 79 80# QNX 6.x using GCC 81#CXX=g++ 82#CXXFLAGS=-O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fexceptions 83#STRIP=strip 84#LDFLAGS=-fexceptions 85#DESTDIR=/usr 86 87# Cross-compile 88# Linux using arm-linux-g++ 89#CXX=arm-linux-g++ 90#CXXFLAGS=-O2 91#DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE 92#STRIP=arm-linux-strip 93#LDFLAGS=-static 94#DESTDIR=/usr 95 96########################## 97 98COMPILE=$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(DEFINES) 99LINK=$(CXX) 100 101WHAT=UNRAR 102 103UNRAR_OBJ=filestr.o recvol.o rs.o scantree.o 104LIB_OBJ=dll.o 105 106OBJECTS=rar.o strlist.o strfn.o pathfn.o savepos.o smallfn.o global.o file.o filefn.o filcreat.o \ 107 archive.o arcread.o unicode.o system.o isnt.o crypt.o crc.o rawread.o encname.o \ 108 resource.o match.o timefn.o rdwrfn.o consio.o options.o ulinks.o errhnd.o rarvm.o \ 109 rijndael.o getbits.o sha1.o extinfo.o extract.o volume.o list.o find.o unpack.o cmddata.o 110 111.cpp.o: 112 $(COMPILE) -D$(WHAT) -c $< 113 114all: unrar 115 116install: install-unrar 117 118uninstall: uninstall-unrar 119 120clean: 121 @rm -f *.o *.bak *~ 122 123unrar: $(OBJECTS) $(UNRAR_OBJ) 124 @rm -f unrar 125 $(LINK) -o unrar $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS) 126 $(STRIP) unrar 127 128sfx: WHAT=SFX_MODULE 129sfx: $(OBJECTS) 130 @rm -f default.sfx 131 $(LINK) -o default.sfx $(LDFLAGS) $(OBJECTS) 132 $(STRIP) default.sfx 133 134lib: WHAT=RARDLL 135lib: $(OBJECTS) $(LIB_OBJ) $(UNRAR_OBJ) 136 @rm -f libunrar.so.3 137 $(LINK) -shared -o libunrar.so.3 $(LDFLAGS) $(OBJECTS) $(LIB_OBJ) $(UNRAR_OBJ) 138 139liba: WHAT=RARDLL 140liba: $(OBJECTS) $(LIB_OBJ) $(UNRAR_OBJ) 141 @rm -f libunrar.a 142 $(AR) rc libunrar.a $(OBJECTS) $(LIB_OBJ) $(UNRAR_OBJ) 143 $(RANLIB) libunrar.a 144 145install-unrar: 146 install unrar $(DESTDIR)/bin 147 148uninstall-unrar: 149 rm -f $(DESTDIR)/bin/unrar 150 151install-lib: 152 install libunrar.so $(DESTDIR)/lib 153 154uninstall-lib: 155 rm -f $(DESTDIR)/lib/libunrar.so 156