Asm/tools/Makefile

72 lines
1.7 KiB
Makefile

TARGETS = libasm.a libasm.so.0.0 libasm.so.0 libasm.so
PREFIX = /usr/local
DESTDIR =
LIBDIR = $(PREFIX)/lib
CC ?= cc
CPPFLAGSF= -I ../include -DSTANDALONE
CPPFLAGS?=
CFLAGSF = -W -fPIC
CFLAGS = -Wall -g -O2
AR ?= ar
RANLIB ?= ranlib
CCSHARED?= $(CC) -shared
RM ?= rm -f
LN ?= ln -f
MKDIR ?= mkdir -p
INSTALL ?= install
all: $(TARGETS)
libasm_OBJS = arch.o arch/arm.o arch/armeb.o arch/armel.o arch/i386.o arch/i486.o arch/i586.o arch/i686.o format.o
libasm_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
libasm_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) ../src/asm.o ../src/code.o ../src/parser.o ../src/token.o `pkg-config --libs cpp`
libasm.a: $(libasm_OBJS)
$(AR) -rc libasm.a $(libasm_OBJS)
$(RANLIB) libasm.a
libasm.so.0.0 libasm.so.0 libasm.so: $(libasm_OBJS)
$(CCSHARED) -o libasm.so.0.0 -Wl,-soname,libasm.so.0 $(libasm_OBJS) $(libasm_LDFLAGS)
$(LN) -s -- libasm.so.0.0 libasm.so.0
$(LN) -s -- libasm.so.0.0 libasm.so
arch.o: arch.c ../src/arch.c
$(CC) $(libasm_CFLAGS) -c arch.c
arch/arm.o: arch/arm.c
$(CC) $(libasm_CFLAGS) -o arch/arm.o -c arch/arm.c
arch/armeb.o: arch/armeb.c
$(CC) $(libasm_CFLAGS) -o arch/armeb.o -c arch/armeb.c
arch/armel.o: arch/armel.c
$(CC) $(libasm_CFLAGS) -o arch/armel.o -c arch/armel.c
arch/i386.o: arch/i386.c
$(CC) $(libasm_CFLAGS) -o arch/i386.o -c arch/i386.c
arch/i486.o: arch/i486.c
$(CC) $(libasm_CFLAGS) -o arch/i486.o -c arch/i486.c
arch/i586.o: arch/i586.c
$(CC) $(libasm_CFLAGS) -o arch/i586.o -c arch/i586.c
arch/i686.o: arch/i686.c
$(CC) $(libasm_CFLAGS) -o arch/i686.o -c arch/i686.c
format.o: format.c ../src/format.c
$(CC) $(libasm_CFLAGS) -c format.c
clean:
$(RM) -- $(libasm_OBJS)
distclean: clean
$(RM) -- $(TARGETS)
install: $(TARGETS)
uninstall:
.PHONY: all clean distclean install uninstall