summaryrefslogtreecommitdiff
path: root/example/Makefile
blob: 4fffc2b57fdc37ce765cf85f1e991f03669649e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
TOPDIR = ./..
CC=gcc
MAKE=make
TARGET=example
SIMPLE=simple_stellar_plugin.so

EXAMPLE_FLAG = -DLUAPLUGIN_EXAMPLE

SRC := example_plugin_manage.c
OBJECTS := example_plugin_manage.o

SIMPLE_SRC := simple_example_plugin.c
SIMPLE_OBJECTS := simple_example_plugin.o

INCLUDE = -I$(TOPDIR)/output/include -I$(TOPDIR)/dependence/include -I$(TOPDIR)/example/include
CFLAGS = -g -Wextra -Wall -O0 -fPIC 
# CFLAGS += -pedantic -fsanitize=address
# LDLIBS = -L$(TOPDIR)/output/lib -llua -ldl -lm
LDLIBS += -L$(TOPDIR)/output/libs -lluaplugin -L$(TOPDIR)/dependence/lib -ltoml -lbitmap -lplugin_manager

TARGET:$(OBJECTS)
	$(CC) $(CFLAGS) -o $(TARGET) $(OBJECTS) $(LDLIBS)

$(OBJECTS):$(SRC)
	$(CC) $(TEST_FLAG) $(INCLUDE) $(CFLAGS) $(SRC) -c $^

SIMPLE:$(SIMPLE_OBJECTS)
	$(CC) $(CFLAGS) --shared -o $(SIMPLE) $(SIMPLE_OBJECTS) $(LDLIBS)
	cp $(SIMPLE) plugin

$(SIMPLE_OBJECTS):$(SIMPLE_SRC)
	$(CC) $(TEST_FLAG) $(INCLUDE) $(CFLAGS) $(SIMPLE_SRC) -c $^

clean:
	rm -rf $(OBJECTS) $(TARGET) $(SIMPLE_OBJECTS) $(SIMPLE)
	rm -rf $(TOPDIR)/output/libs/$(TARGET)