Merge pull request #123 from HalosGhost/compiler-portability
Compiler portability
This commit is contained in:
18
Makefile
18
Makefile
@@ -1,10 +1,10 @@
|
|||||||
PROJ = mpc
|
PROJ = mpc
|
||||||
CC ?= gcc
|
CC ?= gcc
|
||||||
STND = -ansi
|
STD ?= -ansi
|
||||||
DIST = build
|
DIST = build
|
||||||
MKDIR ?= mkdir -p
|
MKDIR ?= mkdir -p
|
||||||
PREFIX ?= /usr/local
|
PREFIX ?= /usr/local
|
||||||
CFLAGS ?= $(STND) -pedantic -O3 -g -Wall -Werror -Wextra -Wformat=2 -Wshadow \
|
CFLAGS ?= $(STD) -pedantic -O3 -g -Wall -Werror -Wextra -Wformat=2 -Wshadow \
|
||||||
-Wno-long-long -Wno-overlength-strings -Wno-format-nonliteral -Wcast-align \
|
-Wno-long-long -Wno-overlength-strings -Wno-format-nonliteral -Wcast-align \
|
||||||
-Wwrite-strings -Wstrict-prototypes -Wold-style-definition -Wredundant-decls \
|
-Wwrite-strings -Wstrict-prototypes -Wold-style-definition -Wredundant-decls \
|
||||||
-Wnested-externs -Wmissing-include-dirs -Wswitch-default
|
-Wnested-externs -Wmissing-include-dirs -Wswitch-default
|
||||||
@@ -25,26 +25,26 @@ check: $(DIST)/test-file $(DIST)/test-static $(DIST)/test-dynamic
|
|||||||
./$(DIST)/test-static
|
./$(DIST)/test-static
|
||||||
LD_LIBRARY_PATH=$(DIST) ./$(DIST)/test-dynamic
|
LD_LIBRARY_PATH=$(DIST) ./$(DIST)/test-dynamic
|
||||||
|
|
||||||
$(DIST)/test-file: $(TESTS) $(PROJ).c mpc.h tests/ptest.h
|
$(DIST)/test-file: $(TESTS) $(PROJ).c $(PROJ).h tests/ptest.h
|
||||||
$(CC) $(filter-out -Werror, $(CFLAGS)) $(TESTS) $(PROJ).c -lm -o $(DIST)/test-file
|
$(CC) $(filter-out -Werror, $(CFLAGS)) $(TESTS) $(PROJ).c -lm -o $(DIST)/test-file
|
||||||
|
|
||||||
$(DIST)/test-dynamic: $(TESTS) $(DIST)/lib$(PROJ).so mpc.h tests/ptest.h
|
$(DIST)/test-dynamic: $(TESTS) $(DIST)/lib$(PROJ).so $(PROJ).h tests/ptest.h
|
||||||
$(CC) $(filter-out -Werror, $(CFLAGS)) $(TESTS) -lm -L$(DIST) -l$(PROJ) -o $(DIST)/test-dynamic
|
$(CC) $(filter-out -Werror, $(CFLAGS)) $(TESTS) -lm -L$(DIST) -l$(PROJ) -o $(DIST)/test-dynamic
|
||||||
|
|
||||||
$(DIST)/test-static: $(TESTS) $(DIST)/lib$(PROJ).a mpc.h tests/ptest.h
|
$(DIST)/test-static: $(TESTS) $(DIST)/lib$(PROJ).a $(PROJ).h tests/ptest.h
|
||||||
$(CC) $(filter-out -Werror, $(CFLAGS)) $(TESTS) -lm -L$(DIST) -l$(PROJ) -static -o $(DIST)/test-static
|
$(CC) $(filter-out -Werror, $(CFLAGS)) $(TESTS) -lm -L$(DIST) -l$(PROJ) -static -o $(DIST)/test-static
|
||||||
|
|
||||||
examples/%: $(DIST) examples/%.c $(PROJ).c mpc.h
|
examples/%: $(DIST) examples/%.c $(PROJ).c $(PROJ).h
|
||||||
$(CC) $(CFLAGS) $(filter-out $(DIST), $^) -lm -o $(DIST)/$@
|
$(CC) $(CFLAGS) $(filter-out $(DIST) $(PROJ).h, $^) -lm -o $(DIST)/$@
|
||||||
|
|
||||||
$(DIST)/lib$(PROJ).so: $(PROJ).c mpc.h
|
$(DIST)/lib$(PROJ).so: $(PROJ).c $(PROJ).h
|
||||||
ifneq ($(OS),Windows_NT)
|
ifneq ($(OS),Windows_NT)
|
||||||
$(CC) $(CFLAGS) -fPIC -shared $(PROJ).c -o $(DIST)/lib$(PROJ).so
|
$(CC) $(CFLAGS) -fPIC -shared $(PROJ).c -o $(DIST)/lib$(PROJ).so
|
||||||
else
|
else
|
||||||
$(CC) $(CFLAGS) -shared $(PROJ).c -o $(DIST)/lib$(PROJ).so
|
$(CC) $(CFLAGS) -shared $(PROJ).c -o $(DIST)/lib$(PROJ).so
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(DIST)/lib$(PROJ).a: $(PROJ).c mpc.h
|
$(DIST)/lib$(PROJ).a: $(PROJ).c $(PROJ).h
|
||||||
$(CC) $(CFLAGS) -c $(PROJ).c -o $(DIST)/$(PROJ).o
|
$(CC) $(CFLAGS) -c $(PROJ).c -o $(DIST)/$(PROJ).o
|
||||||
$(AR) rcs $(DIST)/lib$(PROJ).a $(DIST)/$(PROJ).o
|
$(AR) rcs $(DIST)/lib$(PROJ).a $(DIST)/$(PROJ).o
|
||||||
|
|
||||||
|
@@ -31,4 +31,4 @@ int main(int argc, char **argv) {
|
|||||||
mpc_delete(Line);
|
mpc_delete(Line);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user