1
# Makefile for building Popt with MinGW (gcc and gnumake)
6
OPT_FLAGS = -Os -DNDEBUG
7
WARNINGS = -Wall -Wextra
8
INCLUDE_DIRS = -I$(POPT_SRC_DIR)
9
DEFINITIONS = -DHAVE_CONFIG_H
10
CFLAGS = $(OPT_FLAGS) $(WARNINGS) $(INCLUDE_DIRS) $(DEFINITIONS)
19
CONFIG_HEADER = config.h
20
CONFIG_MINGW_HEADER_NAME = config.h.mingw
22
#CONFIGMAKE_HEADER = configmake.h
23
#CONFIGMAKE_MINGW_HEADER_NAME = configmake.h.mingw
25
POPT_SRC = $(POPT_SRC_DIR)/lookup3.c \
26
$(POPT_SRC_DIR)/poptconfig.c \
27
$(POPT_SRC_DIR)/popthelp.c \
28
$(POPT_SRC_DIR)/poptint.c \
29
$(POPT_SRC_DIR)/poptparse.c \
30
$(POPT_SRC_DIR)/popt.c
32
POPT_HEADERS = $(POPT_SRC_DIR)/config.h \
33
$(POPT_SRC_DIR)/configmake.h \
34
$(POPT_SRC_DIR)/popt.h \
35
$(POPT_SRC_DIR)/poptint.h \
36
$(POPT_SRC_DIR)/system.h
38
POPT_PUBLIC_HEADERS ?= $(POPT_SRC_DIR)\popt.h
40
LIB_OBJ = lookup3.o poptconfig.o popthelp.o poptint.o poptparse.o popt.o
43
TEST_BINS = tdict.exe test1.exe test2.exe
44
OBJ = $(LIB_OBJ) $(TEST_OBJ)
45
BIN = $(LIB_BIN) $(TEST_BINS)
49
all: $(BIN) $(TEST_BINS)
52
$(CP) $(CONFIG_MINGW_HEADER_NAME) $(CONFIG_HEADER)
53
$(CP) $(CONFIGMAKE_MINGW_HEADER_NAME) $(CONFIGMAKE_HEADER)
55
%.o: $(POPT_SRC_DIR)/%.c $(CONFIG_HEADER)
56
$(CC) -c $< -o $@ $(CPPFLAGS) $(CFLAGS)
58
$(LIB_BIN): $(LIB_OBJ)
61
tdict.exe: tdict.c $(LIB_BIN)
62
$(CC) -o $@ $(CPPFLAGS) $(CFLAGS) $< $(LIB_BIN)
64
test1.exe: test1.c $(LIB_BIN)
65
$(CC) -o $@ $(CPPFLAGS) $(CFLAGS) $< $(LIB_BIN)
67
test2.exe: test2.c $(LIB_BIN)
68
$(CC) -o $@ $(CPPFLAGS) $(CFLAGS) $< $(LIB_BIN)
76
install: $(LIB_BIN) $(POPT_PUBLIC_HEADERS)
77
$(MKDIR) $(POPT_PREFIX)\include
78
$(MKDIR) $(POPT_PREFIX)\lib
79
$(CP) $(POPT_PUBLIC_HEADERS) $(POPT_PREFIX)\include
81
$(CP) $(LIB_BIN) $(POPT_PREFIX)\lib
85
rmdir /S /Q $(POPT_PREFIX)
89
$(RM) $(OBJ) $(BIN) $(CONFIG_HEADER)
b'\\ No newline at end of file'