-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
42 lines (31 loc) · 1012 Bytes
/
Makefile
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
37
38
39
40
AR = ar
ARFLAGS = rcs
CC = gcc
CFLAGS = -Izlib -W -Wno-implicit-fallthrough -O2 -fPIC
INC = libpng/libpng.so -lz -lm
LIBS = -Llibpng
MAIN_FLAGS = -w -g -Ilibpng -Izlib
PROGRAM = glitch_png
LIBPNG_DIR = libpng
OBJ_DIR = obj
LIBPNG_DEPS := libpng/png.o libpng/pngerror.o libpng/pngget.o
LIBPNG_DEPS += libpng/pngmem.o libpng/pngpread.o libpng/pngread.o
LIBPNG_DEPS += libpng/pngrio.o libpng/pngrtran.o libpng/pngrutil.o
LIBPNG_DEPS += libpng/pngset.o libpng/pngtrans.o libpng/pngwio.o
LIBPNG_DEPS += libpng/pngwrite.o libpng/pngwtran.o libpng/pngwutil.o
all: pre_build main
pre_build:
test -d bin || mkdir -p bin
test -d $(OBJ_DIR) || mkdir -p $(OBJ_DIR)
main: $(LIBPNG_DIR)/libpng.so $(OBJ_DIR)/main.o
$(CC) $(LIBS) -o $(PROGRAM) $(OBJ_DIR)/main.o $(INC)
$(OBJ_DIR)/main.o: main.c
$(CC) $(MAIN_FLAGS) -c $< -o $@
$(LIBPNG_DIR)/libpng.so: $(LIBPNG_DEPS)
$(CC) -lz -lm -shared -o $@ -fPIC $^
clean:
rm -f $(PROGRAM)
rm -rf bin
rm -rf $(OBJ_DIR)
rm -f $(LIBPNG_DIR)/*.o
rm -f $(LIBPNG_DIR)/*.so