~rpm5/popt/trunk

« back to all changes in this revision

Viewing changes to Makefile.mingw

  • Committer: devzero2000
  • Date: 2011-09-05 11:35:53 UTC
  • Revision ID: devzero2000-20110905113553-w1hnkccqhkalc9vm
merge commit aee9f24 from git pull request
https://github.com/devzero2000/POPT/pull/2
"Add makefile for mingw"
by asenm (Matt Arsenault). Include these new object
in EXTRA_DIST (Makefile.am) by devzero2000 (Elia Pinto)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Makefile for building Popt with MinGW (gcc and gnumake)
 
2
 
 
3
POPT_PREFIX ?= C:\popt
 
4
POPT_SRC_DIR ?= .
 
5
 
 
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)
 
11
CXXFLAGS = $(CFLAGS)
 
12
CC = gcc
 
13
CXX = g++
 
14
RM = del
 
15
MKDIR = mkdir
 
16
CP = copy
 
17
 
 
18
 
 
19
CONFIG_HEADER = config.h
 
20
CONFIG_MINGW_HEADER_NAME = config.h.mingw
 
21
 
 
22
#CONFIGMAKE_HEADER = configmake.h
 
23
#CONFIGMAKE_MINGW_HEADER_NAME = configmake.h.mingw
 
24
 
 
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
 
31
 
 
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
 
37
 
 
38
POPT_PUBLIC_HEADERS ?= $(POPT_SRC_DIR)\popt.h 
 
39
 
 
40
LIB_OBJ = lookup3.o poptconfig.o popthelp.o poptint.o poptparse.o popt.o
 
41
 
 
42
LIB_BIN = libpopt.a
 
43
TEST_BINS = tdict.exe test1.exe test2.exe
 
44
OBJ = $(LIB_OBJ) $(TEST_OBJ)
 
45
BIN = $(LIB_BIN) $(TEST_BINS)
 
46
 
 
47
 
 
48
 
 
49
all: $(BIN) $(TEST_BINS)
 
50
 
 
51
$(CONFIG_HEADER): 
 
52
          $(CP) $(CONFIG_MINGW_HEADER_NAME) $(CONFIG_HEADER)
 
53
          $(CP) $(CONFIGMAKE_MINGW_HEADER_NAME) $(CONFIGMAKE_HEADER)
 
54
 
 
55
%.o: $(POPT_SRC_DIR)/%.c $(CONFIG_HEADER)
 
56
        $(CC) -c $< -o $@ $(CPPFLAGS) $(CFLAGS)
 
57
 
 
58
$(LIB_BIN): $(LIB_OBJ)
 
59
        $(AR) rc $@ $^
 
60
 
 
61
tdict.exe: tdict.c $(LIB_BIN)
 
62
        $(CC) -o $@ $(CPPFLAGS) $(CFLAGS) $< $(LIB_BIN)
 
63
 
 
64
test1.exe: test1.c $(LIB_BIN)
 
65
        $(CC) -o $@ $(CPPFLAGS) $(CFLAGS) $< $(LIB_BIN) 
 
66
 
 
67
test2.exe: test2.c $(LIB_BIN)
 
68
        $(CC) -o $@ $(CPPFLAGS) $(CFLAGS) $< $(LIB_BIN) 
 
69
 
 
70
 
 
71
RANLIB ?= ranlib
 
72
 
 
73
tests: $(TEST_BINS)
 
74
 
 
75
 
 
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
 
80
         $(RANLIB) $(LIB_BIN)
 
81
         $(CP) $(LIB_BIN) $(POPT_PREFIX)\lib
 
82
.PHONY: install
 
83
 
 
84
uninstall: 
 
85
           rmdir /S /Q $(POPT_PREFIX)
 
86
.PHONY: uninstall
 
87
 
 
88
clean:
 
89
        $(RM) $(OBJ) $(BIN) $(CONFIG_HEADER)
 
90
 
 
91
.PHONY: clean
 
 
b'\\ No newline at end of file'