commit
23118936f1
100 changed files with 375961 additions and 2145731 deletions
@ -1,6 +1,6 @@ |
||||
// Package version |
||||
|
||||
#define PKG_MAJOR 2 |
||||
#define PKG_MINOR 0 |
||||
#define PKG_MINOR 1 |
||||
|
||||
|
||||
|
@ -1,10 +0,0 @@ |
||||
Version 2.0 has a known X86 issue: if you disassemble a buffer of instructions |
||||
that having the first byte as a prefix (LOCK, REP, REPNE), and you only |
||||
get 1 instruction (passing 1 as value for the 'count' argument), then only |
||||
the prefix will be returned as instruction. |
||||
|
||||
An work-around is to disassemble the whole buffer & get out the first |
||||
instruction, then this instruction would properly include both prefix and |
||||
the next instruction. |
||||
|
||||
This issue will be fixed in the next version. |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1 +1 @@ |
||||
from capstone import Cs, CsError, cs_disasm_quick, cs_version, cs_support, CS_API_MAJOR, CS_API_MINOR, CS_ARCH_ARM, CS_ARCH_ARM64, CS_ARCH_MIPS, CS_ARCH_X86, CS_ARCH_PPC, CS_ARCH_ALL, CS_MODE_LITTLE_ENDIAN, CS_MODE_ARM, CS_MODE_THUMB, CS_OPT_SYNTAX, CS_OPT_SYNTAX_DEFAULT, CS_OPT_SYNTAX_INTEL, CS_OPT_SYNTAX_ATT, CS_OPT_SYNTAX_NOREGNAME, CS_OPT_DETAIL, CS_OPT_ON, CS_OPT_OFF, CS_MODE_16, CS_MODE_32, CS_MODE_64, CS_MODE_BIG_ENDIAN, CS_MODE_MICRO, CS_MODE_N64 |
||||
from capstone import Cs, CsError, cs_disasm_quick, cs_disasm_lite, cs_version, cs_support, CS_API_MAJOR, CS_API_MINOR, CS_ARCH_ARM, CS_ARCH_ARM64, CS_ARCH_MIPS, CS_ARCH_X86, CS_ARCH_PPC, CS_ARCH_ALL, CS_MODE_LITTLE_ENDIAN, CS_MODE_ARM, CS_MODE_THUMB, CS_OPT_SYNTAX, CS_OPT_SYNTAX_DEFAULT, CS_OPT_SYNTAX_INTEL, CS_OPT_SYNTAX_ATT, CS_OPT_SYNTAX_NOREGNAME, CS_OPT_DETAIL, CS_OPT_ON, CS_OPT_OFF, CS_MODE_16, CS_MODE_32, CS_MODE_64, CS_MODE_BIG_ENDIAN, CS_MODE_MICRO, CS_MODE_N64, CS_SUPPORT_DIET |
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,78 @@ |
||||
#!/usr/bin/env python |
||||
|
||||
# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com> |
||||
|
||||
from capstone import * |
||||
import binascii |
||||
|
||||
X86_CODE16 = "\x8d\x4c\x32\x08\x01\xd8\x81\xc6\x34\x12\x00\x00" |
||||
X86_CODE32 = "\x8d\x4c\x32\x08\x01\xd8\x81\xc6\x34\x12\x00\x00" |
||||
X86_CODE64 = "\x55\x48\x8b\x05\xb8\x13\x00\x00" |
||||
ARM_CODE = "\xED\xFF\xFF\xEB\x04\xe0\x2d\xe5\x00\x00\x00\x00\xe0\x83\x22\xe5\xf1\x02\x03\x0e\x00\x00\xa0\xe3\x02\x30\xc1\xe7\x00\x00\x53\xe3" |
||||
ARM_CODE2 = "\x10\xf1\x10\xe7\x11\xf2\x31\xe7\xdc\xa1\x2e\xf3\xe8\x4e\x62\xf3" |
||||
THUMB_CODE = "\x70\x47\xeb\x46\x83\xb0\xc9\x68" |
||||
THUMB_CODE2 = "\x4f\xf0\x00\x01\xbd\xe8\x00\x88\xd1\xe8\x00\xf0" |
||||
MIPS_CODE = "\x0C\x10\x00\x97\x00\x00\x00\x00\x24\x02\x00\x0c\x8f\xa2\x00\x00\x34\x21\x34\x56" |
||||
MIPS_CODE2 = "\x56\x34\x21\x34\xc2\x17\x01\x00" |
||||
ARM64_CODE = "\x21\x7c\x02\x9b\x21\x7c\x00\x53\x00\x40\x21\x4b\xe1\x0b\x40\xb9" |
||||
PPC_CODE = "\x80\x20\x00\x00\x80\x3f\x00\x00\x10\x43\x23\x0e\xd0\x44\x00\x80\x4c\x43\x22\x02\x2d\x03\x00\x80\x7c\x43\x20\x14\x7c\x43\x20\x93\x4f\x20\x00\x21\x4c\xc8\x00\x21" |
||||
|
||||
all_tests = ( |
||||
(CS_ARCH_X86, CS_MODE_16, X86_CODE16, "X86 16bit (Intel syntax)", 0), |
||||
(CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32bit (ATT syntax)", CS_OPT_SYNTAX_ATT), |
||||
(CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32 (Intel syntax)", 0), |
||||
(CS_ARCH_X86, CS_MODE_64, X86_CODE64, "X86 64 (Intel syntax)", 0), |
||||
(CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE, "ARM", 0), |
||||
(CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE2, "THUMB-2", 0), |
||||
(CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE2, "ARM: Cortex-A15 + NEON", 0), |
||||
(CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE, "THUMB", 0), |
||||
(CS_ARCH_MIPS, CS_MODE_32 + CS_MODE_BIG_ENDIAN, MIPS_CODE, "MIPS-32 (Big-endian)", 0), |
||||
(CS_ARCH_MIPS, CS_MODE_64+ CS_MODE_LITTLE_ENDIAN, MIPS_CODE2, "MIPS-64-EL (Little-endian)", 0), |
||||
(CS_ARCH_ARM64, CS_MODE_ARM, ARM64_CODE, "ARM-64", 0), |
||||
(CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, PPC_CODE, "PPC-64", 0), |
||||
(CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, PPC_CODE, "PPC-64, print register with number only", CS_OPT_SYNTAX_NOREGNAME), |
||||
) |
||||
|
||||
|
||||
def to_hex(s): |
||||
return " ".join("0x" + "{0:x}".format(ord(c)).zfill(2) for c in s) # <-- Python 3 is OK |
||||
|
||||
|
||||
### Test cs_disasm_quick() |
||||
def test_cs_disasm_quick(): |
||||
for (arch, mode, code, comment, syntax) in all_tests: |
||||
print('*' * 40) |
||||
print("Platform: %s" %comment) |
||||
print("Disasm:"), |
||||
print to_hex(code) |
||||
for (addr, size, mnemonic, op_str) in cs_disasm_lite(arch, mode, code, 0x1000): |
||||
print("0x%x:\t%s\t%s" %(addr, mnemonic, op_str)) |
||||
print |
||||
|
||||
|
||||
### Test class Cs |
||||
def test_class(): |
||||
for (arch, mode, code, comment, syntax) in all_tests: |
||||
print('*' * 16) |
||||
print("Platform: %s" %comment) |
||||
print("Code: %s" % to_hex(code)) |
||||
print("Disasm:") |
||||
|
||||
try: |
||||
md = Cs(arch, mode) |
||||
|
||||
if syntax != 0: |
||||
md.syntax = syntax |
||||
|
||||
for (addr, size, mnemonic, op_str) in md.disasm_lite(code, 0x1000): |
||||
print("0x%x:\t%s\t%s" %(addr, mnemonic, op_str)) |
||||
|
||||
print("0x%x:" % (addr + size)) |
||||
print |
||||
except CsError as e: |
||||
print("ERROR: %s" %e) |
||||
|
||||
|
||||
#test_cs_disasm_quick() |
||||
#print "*" * 40 |
||||
test_class() |
@ -1 +1,27 @@ |
||||
All the tutorials are available at http://capstone-engine.org/documentation.html |
||||
Documention of Capstone disassembly framework. |
||||
|
||||
* For instructions to compile & install Capstone, see: |
||||
|
||||
http://capstone-engine.org/documentation.html |
||||
|
||||
* Programming with C language. |
||||
|
||||
http://capstone-engine.org/lang_c.html |
||||
|
||||
* Programming with Python language. |
||||
|
||||
http://capstone-engine.org/lang_python.html |
||||
|
||||
* Programming with Java language. |
||||
|
||||
http://capstone-engine.org/lang_java.html |
||||
|
||||
* Build compact engine with only selected architectures. |
||||
|
||||
http://capstone-engine.org/compile.html |
||||
|
||||
* Build "diet" engine for even smaller libraries. |
||||
|
||||
http://capstone-engine.org/diet.html |
||||
|
||||
|
||||
|
@ -0,0 +1,22 @@ |
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= capstone
|
||||
PORTVERSION= 2.0
|
||||
CATEGORIES= devel
|
||||
MASTER_SITES= http://capstone-engine.org/download/2.0/
|
||||
|
||||
MAINTAINER= oliver.pntr@gmail.com
|
||||
COMMENT= Multi-platform, multi-architecture disassembly framework
|
||||
|
||||
LICENSE= BSD3CLAUSE
|
||||
|
||||
USES= gmake
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
MAKE_ENV= INSTALL_LIBRARY="${INSTALL_LIB}"
|
||||
|
||||
post-build: |
||||
# The pkgconfig file is generated and points to stagedir
|
||||
${REINPLACE_CMD} -e '/libdir/s|\(libdir=\)\(.*\)\(devel/capstone/work/stage\)|\1|g' ${WRKSRC}/capstone.pc
|
||||
|
||||
.include <bsd.port.mk> |
@ -0,0 +1,2 @@ |
||||
SHA256 (capstone-2.0.tar.gz) = 5d871b1e52047d1b2882bbcc6f049205ba6acc8d55d746937d22af5d0b33fa9e |
||||
SIZE (capstone-2.0.tar.gz) = 1731759 |
@ -0,0 +1,52 @@ |
||||
--- Makefile.orig 2014-01-22 11:33:35.000000000 +0100 |
||||
+++ Makefile 2014-01-25 19:13:32.000000000 +0100 |
||||
@@ -15,7 +15,7 @@ |
||||
STRIP = $(CROSS)strip |
||||
endif |
||||
|
||||
-CFLAGS += -fPIC -O3 -Wall -Iinclude |
||||
+CFLAGS += -fPIC -Wall -Iinclude |
||||
|
||||
ifeq ($(USE_SYS_DYN_MEM),yes) |
||||
CFLAGS += -DUSE_SYS_DYN_MEM |
||||
@@ -38,6 +38,14 @@ |
||||
endif |
||||
endif |
||||
|
||||
+LIBDATADIR = $(LIBDIR) |
||||
+UNAME_S := $(shell uname -s) |
||||
+ifeq ($(UNAME_S), FreeBSD) |
||||
+LIBDATADIR = $(DESTDIR)$(PREFIX)/libdata |
||||
+else |
||||
+LIBDATADIR = $(LIBDIR) |
||||
+endif |
||||
+ |
||||
INSTALL_BIN ?= install |
||||
INSTALL_DATA ?= $(INSTALL_BIN) -m0644 |
||||
INSTALL_LIBRARY ?= $(INSTALL_BIN) -m0755 |
||||
@@ -88,7 +96,6 @@ |
||||
|
||||
LIBOBJ += MCInst.o |
||||
|
||||
-UNAME_S := $(shell uname -s) |
||||
# OSX? |
||||
ifeq ($(UNAME_S),Darwin) |
||||
EXT = dylib |
||||
@@ -156,14 +163,14 @@ |
||||
$(INSTALL_DATA) lib$(LIBNAME).$(AR_EXT) $(LIBDIR) |
||||
mkdir -p $(INCDIR)/$(LIBNAME) |
||||
$(INSTALL_DATA) include/*.h $(INCDIR)/$(LIBNAME) |
||||
- mkdir -p $(LIBDIR)/pkgconfig |
||||
- $(INSTALL_DATA) $(PKGCFGF) $(LIBDIR)/pkgconfig/ |
||||
+ mkdir -p $(LIBDATADIR)/pkgconfig |
||||
+ $(INSTALL_DATA) $(PKGCFGF) $(LIBDATADIR)/pkgconfig/ |
||||
|
||||
uninstall: |
||||
rm -rf $(INCDIR)/$(LIBNAME) |
||||
rm -f $(LIBDIR)/lib$(LIBNAME).$(EXT) |
||||
rm -f $(LIBDIR)/lib$(LIBNAME).$(AR_EXT) |
||||
- rm -f $(LIBDIR)/pkgconfig/$(LIBNAME).pc |
||||
+ rm -f $(LIBDATADIR)/pkgconfig/$(LIBNAME).pc |
||||
|
||||
clean: |
||||
rm -f $(LIBOBJ) lib$(LIBNAME).* |
@ -0,0 +1,22 @@ |
||||
--- tests/Makefile.orig 2014-01-25 19:14:03.000000000 +0100 |
||||
+++ tests/Makefile 2014-01-25 19:14:24.000000000 +0100 |
||||
@@ -11,7 +11,7 @@ |
||||
endif |
||||
|
||||
|
||||
-CFLAGS += -fPIC -O3 -Wall -I$(INCDIR) -L$(LIBDIR) |
||||
+CFLAGS += -fPIC -Wall -I$(INCDIR) -L$(LIBDIR) |
||||
|
||||
LIBNAME = capstone |
||||
|
||||
@@ -48,8 +48,8 @@ |
||||
$(BINARY): $(OBJS) |
||||
|
||||
%$(BIN_EXT): %.o |
||||
- ${CC} $(CFLAGS) $(LDFLAGS) $< -O3 -Wall -l$(LIBNAME) -o $@ |
||||
- ${CC} $(CFLAGS) $(LDFLAGS) $< -O3 -Wall ../lib$(LIBNAME).$(AR_EXT) -o $(subst $(BIN_EXT),,$@).static$(BIN_EXT) |
||||
+ ${CC} $(CFLAGS) $(LDFLAGS) $< -Wall -l$(LIBNAME) -o $@ |
||||
+ ${CC} $(CFLAGS) $(LDFLAGS) $< -Wall ../lib$(LIBNAME).$(AR_EXT) -o $(subst $(BIN_EXT),,$@).static$(BIN_EXT) |
||||
|
||||
%.o: %.c |
||||
${CC} ${CFLAGS} -c $< -o $@ |
@ -0,0 +1,16 @@ |
||||
Capstone is a lightweight multi-platform, multi-architecture disassembly |
||||
framework. |
||||
|
||||
Features: |
||||
* Supported architectures: ARM, ARM64 (aka ARMv8), Mips, PowerPC & X86 |
||||
* Clean/simple/lightweight/intuitive architecture-neutral API |
||||
* Provide details on disassembled instruction (called "decomposer") |
||||
* Provide some semantics of the disassembled instruction, such as list of |
||||
implicit registers read & written. |
||||
* Implemented in pure C language, with bindings for Python, Ruby, C#, Java, |
||||
GO, OCaml & Vala available. |
||||
* Native support for Windows & *nix (including MacOSX, Linux, *BSD & Solaris) |
||||
* Thread-safe by design |
||||
* Distributed under the open source BSD license |
||||
|
||||
WWW: http://capstone-engine.org/ |
@ -0,0 +1,10 @@ |
||||
include/capstone/arm.h |
||||
include/capstone/arm64.h |
||||
include/capstone/capstone.h |
||||
include/capstone/mips.h |
||||
include/capstone/ppc.h |
||||
include/capstone/x86.h |
||||
lib/libcapstone.a |
||||
lib/libcapstone.so |
||||
libdata/pkgconfig/capstone.pc |
||||
@dirrmtry include/capstone |
@ -0,0 +1,2 @@ |
||||
This directory contains the Homebrew formula for Capstone. |
||||
File capstone.rb should be put in its directory Library/Formula. |
@ -0,0 +1,14 @@ |
||||
require 'formula' |
||||
|
||||
class Capstone < Formula |
||||
homepage 'http://capstone-engine.org' |
||||
url 'http://capstone-engine.org/download/2.0/capstone-2.0.tgz' |
||||
sha1 '209cdc69518f754c5d7d07672d8e28cdda9feae7' |
||||
|
||||
def install |
||||
inreplace 'Makefile', 'lib64', 'lib' |
||||
system "./make.sh" |
||||
ENV["PREFIX"] = prefix |
||||
system "./make.sh", "install" |
||||
end |
||||
end |
@ -0,0 +1,40 @@ |
||||
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 |
||||
# $Id: Portfile 117078 2014-02-15 00:49:41Z ryandesign@macports.org $ |
||||
|
||||
PortSystem 1.0 |
||||
|
||||
name capstone |
||||
version 2.0 |
||||
revision 1 |
||||
categories devel |
||||
platforms darwin |
||||
maintainers gmail.com:aquynh |
||||
license BSD |
||||
|
||||
description Capstone disassembly engine |
||||
|
||||
long_description Capstone is a multi-arch, multi-platform disassembly framework with advanced features |
||||
|
||||
homepage http://www.capstone-engine.org/ |
||||
master_sites ${homepage}download/${version}/ |
||||
extract.suffix .tgz |
||||
|
||||
checksums sha256 5d871b1e52047d1b2882bbcc6f049205ba6acc8d55d746937d22af5d0b33fa9e \ |
||||
rmd160 bb7551404e203fa99240b5e33c3d30ca8555830f |
||||
|
||||
patchfiles patch-Makefile.diff |
||||
|
||||
variant universal {} |
||||
|
||||
use_configure no |
||||
|
||||
build.env CC=${configure.cc} \ |
||||
CFLAGS="${configure.cflags} [get_canonical_archflags cc]" \ |
||||
LDFLAGS="${configure.ldflags} [get_canonical_archflags ld]" \ |
||||
PREFIX=${prefix} |
||||
|
||||
eval destroot.env ${build.env} |
||||
|
||||
livecheck.type regex |
||||
livecheck.url ${homepage}download.html |
||||
livecheck.regex ${name}-(\[0-9.\]+)${extract.suffix} |
@ -0,0 +1,81 @@ |
||||
--- Makefile.orig 2014-01-22 04:33:35.000000000 -0600
|
||||
+++ Makefile 2014-02-14 18:38:48.000000000 -0600
|
||||
@@ -21,20 +21,23 @@
|
||||
CFLAGS += -DUSE_SYS_DYN_MEM
|
||||
endif
|
||||
|
||||
-LDFLAGS += -shared
|
||||
-
|
||||
PREFIX ?= /usr
|
||||
DESTDIR ?=
|
||||
-INCDIR = $(DESTDIR)$(PREFIX)/include
|
||||
+INCDIR = $(PREFIX)/include
|
||||
+
|
||||
+UNAME_S := $(shell uname -s)
|
||||
+ifeq ($(UNAME_S),Darwin)
|
||||
+LDFLAGS += -dynamiclib -install_name $(LIBDIR)/$(LIBRARY)
|
||||
+else
|
||||
+LDFLAGS += -shared
|
||||
+endif
|
||||
|
||||
-LIBDIR = $(DESTDIR)$(PREFIX)/lib
|
||||
+LIBDIR = $(PREFIX)/lib
|
||||
# on x86_64, we might have /usr/lib64 directory instead of /usr/lib
|
||||
-MACHINE := $(shell uname -m)
|
||||
-ifeq ($(MACHINE), x86_64)
|
||||
+UNAME_M := $(shell uname -m)
|
||||
+ifeq ($(UNAME_M),x86_64)
|
||||
ifeq (,$(wildcard $(LIBDIR)))
|
||||
-LIBDIR = $(DESTDIR)$(PREFIX)/lib64
|
||||
-else
|
||||
-LIBDIR = $(DESTDIR)$(PREFIX)/lib
|
||||
+LIBDIR = $(PREFIX)/lib64
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -88,7 +91,6 @@
|
||||
|
||||
LIBOBJ += MCInst.o
|
||||
|
||||
-UNAME_S := $(shell uname -s)
|
||||
# OSX?
|
||||
ifeq ($(UNAME_S),Darwin)
|
||||
EXT = dylib
|
||||
@@ -145,25 +147,25 @@
|
||||
echo 'Description: Capstone disassembler engine' >> $(PKGCFGF)
|
||||
echo 'Version: $(VERSION)' >> $(PKGCFGF)
|
||||
echo 'libdir=$(LIBDIR)' >> $(PKGCFGF)
|
||||
- echo 'includedir=$(PREFIX)/include/capstone' >> $(PKGCFGF)
|
||||
+ echo 'includedir=$(INCDIR)/capstone' >> $(PKGCFGF)
|
||||
echo 'archive=$${libdir}/libcapstone.a' >> $(PKGCFGF)
|
||||
echo 'Libs: -L$${libdir} -lcapstone' >> $(PKGCFGF)
|
||||
echo 'Cflags: -I$${includedir}' >> $(PKGCFGF)
|
||||
|
||||
install: $(PKGCFGF) $(ARCHIVE) $(LIBRARY)
|
||||
- mkdir -p $(LIBDIR)
|
||||
- $(INSTALL_LIBRARY) lib$(LIBNAME).$(EXT) $(LIBDIR)
|
||||
- $(INSTALL_DATA) lib$(LIBNAME).$(AR_EXT) $(LIBDIR)
|
||||
- mkdir -p $(INCDIR)/$(LIBNAME)
|
||||
- $(INSTALL_DATA) include/*.h $(INCDIR)/$(LIBNAME)
|
||||
- mkdir -p $(LIBDIR)/pkgconfig
|
||||
- $(INSTALL_DATA) $(PKGCFGF) $(LIBDIR)/pkgconfig/
|
||||
+ mkdir -p $(DESTDIR)$(LIBDIR)
|
||||
+ $(INSTALL_LIBRARY) lib$(LIBNAME).$(EXT) $(DESTDIR)$(LIBDIR)
|
||||
+ $(INSTALL_DATA) lib$(LIBNAME).$(AR_EXT) $(DESTDIR)$(LIBDIR)
|
||||
+ mkdir -p $(DESTDIR)$(INCDIR)/$(LIBNAME)
|
||||
+ $(INSTALL_DATA) include/*.h $(DESTDIR)$(INCDIR)/$(LIBNAME)
|
||||
+ mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
|
||||
+ $(INSTALL_DATA) $(PKGCFGF) $(DESTDIR)$(LIBDIR)/pkgconfig/
|
||||
|
||||
uninstall:
|
||||
- rm -rf $(INCDIR)/$(LIBNAME)
|
||||
- rm -f $(LIBDIR)/lib$(LIBNAME).$(EXT)
|
||||
- rm -f $(LIBDIR)/lib$(LIBNAME).$(AR_EXT)
|
||||
- rm -f $(LIBDIR)/pkgconfig/$(LIBNAME).pc
|
||||
+ rm -rf $(DESTDIR)$(INCDIR)/$(LIBNAME)
|
||||
+ rm -f $(DESTDIR)$(LIBDIR)/lib$(LIBNAME).$(EXT)
|
||||
+ rm -f $(DESTDIR)$(LIBDIR)/lib$(LIBNAME).$(AR_EXT)
|
||||
+ rm -f $(DESTDIR)$(LIBDIR)/pkgconfig/$(LIBNAME).pc
|
||||
|
||||
clean:
|
||||
rm -f $(LIBOBJ) lib$(LIBNAME).*
|
Loading…
Reference in new issue