51 lines
1.1 KiB
Makefile
51 lines
1.1 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 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
|
|
|
|
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
|