40 lines
788 B
Makefile
40 lines
788 B
Makefile
CC=
|
|
MKDIR=
|
|
RM=
|
|
PCFLAGS=
|
|
PLFLAGS=
|
|
LIBNAME=
|
|
OUTDIR=bin
|
|
SRCDIR=src
|
|
LFLAGS=-shared -g -ggdb
|
|
CFLAGS=--std=c99 -g -ggdb -O2 -Wall
|
|
RMEXTRA=
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
CC+=mingw32-gcc
|
|
MKDIR+=mkdir -p
|
|
RM+=rm
|
|
PLFLAGS+=-Wl,--out-implib,bin/libLoveToken.a
|
|
LIBNAME+=$(OUTDIR)/LoveToken.dll
|
|
RMEXTRA+=bin/libLoveToken.a
|
|
else
|
|
ifeq ($(shell uname -s), Linux)
|
|
CC+=gcc
|
|
MKDIR+=mkdir -p
|
|
RM+=rm
|
|
PCFLAGS+=-fPIC
|
|
LIBNAME+=$(OUTDIR)/LoveToken.so
|
|
endif
|
|
endif
|
|
|
|
all:
|
|
$(MKDIR) $(OUTDIR)
|
|
$(CC) $(CFLAGS) $(PCFLAGS) -c -o $(OUTDIR)/lt.o $(SRCDIR)/lt.c
|
|
$(CC) $(LFLAGS) -o $(LIBNAME) $(OUTDIR)/lt.o $(PLFLAGS) -liconv
|
|
|
|
clean:
|
|
$(RM) $(LIBNAME) $(OUTDIR)/lt.o $(RMEXTRA)
|
|
|
|
example:
|
|
$(CC) $(CFLAGS) -Isrc -L$(OUTDIR) -o $(OUTDIR)/example examples/main.c -lLoveToken
|