Rework build system

This commit is contained in:
Grégory Soutadé 2016-02-04 20:39:50 +01:00
parent 9f880f8705
commit ef5176e7ec
5 changed files with 256 additions and 41 deletions

9
Makefile Normal file
View File

@ -0,0 +1,9 @@
all:
make -C src
clean:
make -C src clean
ultra_clean:
make -C src ultra_clean

31
data/Makefile Normal file
View File

@ -0,0 +1,31 @@
IP_DATA = ../src/ip_data.c
PROVIDERS = afrinic arin apnic lacnic ripencc
DEST = prefix_res_ipv4
MD5 = $(addsuffix .md5,$(PROVIDERS))
all: clean_md5 $(MD5) $(IP_DATA)
clean_md5:
@rm -f $(MD5)
$(PROVIDERS):
@$(foreach provider, $(PROVIDERS),\
wget "ftp://ftp.ripe.net/pub/stats/${provider}/delegated-${provider}-extended-latest" -O $(provider);)
%.md5:%
@wget -q "ftp://ftp.ripe.net/pub/stats/$(basename $@)/delegated-$(basename $@)-extended-latest.md5" -O $@
@cat $@ | grep -oP '[0-9a-f]{32}' | tr -d '\n' > $@.tmp
@echo " $(basename $@)" >> $@.tmp
@rm -f $@
@mv $@.tmp $@
@md5sum -c $@ || wget "ftp://ftp.ripe.net/pub/stats/$(basename $@)/delegated-$(basename $@)-extended-latest" -O $(basename $@) ; true
$(DEST): $(PROVIDERS)
@cat $(PROVIDERS) | grep -v asn | grep -v summary | grep -v '#' | grep ipv4 | sort -n -k 4 -t '|' > $(DEST)
$(IP_DATA): $(DEST)
@echo "Rebuild ip_data.c"
@./build_c_array.py > ../src/ip_data.c
clean:
rm -f $(PROVIDERS) $(DEST) $(SHA1_FILE) $(MD5)

View File

@ -1,19 +0,0 @@
#!/bin/bash
PROVIDERS="afrinic arin apnic lacnic ripencc"
DEST=prefix_res_ipv4
SHA1_FILE=prefix_res_ipv4.sha1
for provider in $PROVIDERS; do
wget "ftp://ftp.ripe.net/pub/stats/${provider}/delegated-${provider}-extended-latest" -O $provider
done
cat $PROVIDERS | grep -v asn | grep -v summary | grep -v '#' | grep ipv4 | sort -n -k 4 -t '|' > $DEST
sha1sum -c $SHA1_FILE && exit
sha1sum $DEST > $SHA1_FILE
echo "Rebuild ip_data.c"
./build_c_array.py > ../src/ip_data.c

View File

@ -1,18 +1,32 @@
BIN_DIR=../bin
SRCS = ip_to_geo.c test.c cmdline.c server.c
TARGET = ip_to_geo
CFLAGS = -Wall -lpthread -ggdb -O0
TARGET = $(BIN_DIR)/ip_to_geo
CFLAGS = -Wall
LDFLAGS= -lpthread
all: $(TARGET)
ifneq ($(DEBUG),)
CFLAGS += -ggdb -O0
else
CFLAGS += -O2
endif
all: $(BIN_DIR) ip_data.c $(TARGET)
$(BIN_DIR):
@mkdir $(BIN_DIR)
ip_data.c:
../data/get_prefixs.sh
make -C ../data
cmdline.c: cmdline.ggo
gengetopt --input $^
$(TARGET): $(SRCS)
gcc $(CFLAGS) $^ -o $@
gcc $(CFLAGS) $^ $(LDFLAGS) -o $@
clean:
rm -f *~ $(TARGET)
ultra_clean: clean
rm -f ip_data.c

View File

@ -658907,6 +658907,7 @@ static const ip_level ip__168_0_156_0__168_0_159_255;
static const ip_level ip__168_0_160_0__168_0_163_255;
static const ip_level ip__168_0_164_0__168_0_167_255;
static const ip_level ip__168_0_168_0__168_0_171_255;
static const ip_level ip__168_0_172_0__168_0_175_255;
static const ip_level ip__168_0_176_0__168_0_179_255;
static const ip_level ip__168_0_180_0__168_0_183_255;
static const ip_level ip__168_0_184_0__168_0_187_255;
@ -659298,15 +659299,24 @@ static const ip_level ip__168_0_164_0__168_0_167_255 = {
};
static const ip_level ip__168_0_168_0__168_0_171_255 = {
.prev = &ip__168_0_164_0__168_0_167_255,
.next = &ip__168_0_176_0__168_0_179_255,
.next = &ip__168_0_172_0__168_0_175_255,
.childs = NULL,
.start = 168,
.end = 171,
.average = 0,
.code = 190,
};
static const ip_level ip__168_0_176_0__168_0_179_255 = {
static const ip_level ip__168_0_172_0__168_0_175_255 = {
.prev = &ip__168_0_168_0__168_0_171_255,
.next = &ip__168_0_176_0__168_0_179_255,
.childs = NULL,
.start = 172,
.end = 175,
.average = 0,
.code = 190,
};
static const ip_level ip__168_0_176_0__168_0_179_255 = {
.prev = &ip__168_0_172_0__168_0_175_255,
.next = &ip__168_0_180_0__168_0_183_255,
.childs = NULL,
.start = 176,
@ -659535,6 +659545,7 @@ static const ip_level ip__168_90_84_0__168_90_87_255;
static const ip_level ip__168_90_88_0__168_90_91_255;
static const ip_level ip__168_90_92_0__168_90_95_255;
static const ip_level ip__168_90_96_0__168_90_99_255;
static const ip_level ip__168_90_100_0__168_90_103_255;
static const ip_level ip__168_90_108_0__168_90_111_255;
static const ip_level ip__168_90_112_0__168_90_115_255;
static const ip_level ip__168_90_116_0__168_90_119_255;
@ -659770,15 +659781,24 @@ static const ip_level ip__168_90_92_0__168_90_95_255 = {
};
static const ip_level ip__168_90_96_0__168_90_99_255 = {
.prev = &ip__168_90_92_0__168_90_95_255,
.next = &ip__168_90_108_0__168_90_111_255,
.next = &ip__168_90_100_0__168_90_103_255,
.childs = NULL,
.start = 96,
.end = 99,
.average = 0,
.code = 206,
};
static const ip_level ip__168_90_108_0__168_90_111_255 = {
static const ip_level ip__168_90_100_0__168_90_103_255 = {
.prev = &ip__168_90_96_0__168_90_99_255,
.next = &ip__168_90_108_0__168_90_111_255,
.childs = NULL,
.start = 100,
.end = 103,
.average = 0,
.code = 190,
};
static const ip_level ip__168_90_108_0__168_90_111_255 = {
.prev = &ip__168_90_100_0__168_90_103_255,
.next = &ip__168_90_112_0__168_90_115_255,
.childs = NULL,
.start = 108,
@ -660113,32 +660133,56 @@ static const ip_level ip__168_118_0_0__168_118_255_255;
static const ip_level ip__168_119_0_0__168_119_255_255;
static const ip_level ip__168_120_0_0__168_120_255_255;
static const ip_level ip__168_121_0_0__168_121_3_255;
static const ip_level ip__168_121_4_0__168_121_7_255;
static const ip_level ip__168_121_8_0__168_121_11_255;
static const ip_level ip__168_121_12_0__168_121_15_255;
static const ip_level ip__168_121_20_0__168_121_23_255;
static const ip_level ip__168_121_24_0__168_121_27_255;
static const ip_level ip__168_121_28_0__168_121_31_255;
static const ip_level ip__168_121_32_0__168_121_35_255;
static const ip_level ip__168_121_36_0__168_121_39_255;
static const ip_level ip__168_121_40_0__168_121_43_255;
static const ip_level ip__168_121_44_0__168_121_47_255;
static const ip_level ip__168_121_48_0__168_121_51_255;
static const ip_level ip__168_121_52_0__168_121_55_255;
static const ip_level ip__168_121_60_0__168_121_63_255;
static const ip_level ip__168_121_64_0__168_121_67_255;
static const ip_level ip__168_121_68_0__168_121_71_255;
static const ip_level ip__168_121_72_0__168_121_75_255;
static const ip_level ip__168_121_76_0__168_121_79_255;
static const ip_level ip__168_121_84_0__168_121_87_255;
static const ip_level ip__168_121_88_0__168_121_91_255;
static const ip_level ip__168_121_116_0__168_121_119_255;
static const ip_level ip__168_121_0_0__168_121_3_255 = {
.prev = NULL,
.next = &ip__168_121_12_0__168_121_15_255,
.next = &ip__168_121_4_0__168_121_7_255,
.childs = NULL,
.start = 0,
.end = 3,
.average = 0,
.code = 190,
};
static const ip_level ip__168_121_12_0__168_121_15_255 = {
static const ip_level ip__168_121_4_0__168_121_7_255 = {
.prev = &ip__168_121_0_0__168_121_3_255,
.next = &ip__168_121_8_0__168_121_11_255,
.childs = NULL,
.start = 4,
.end = 7,
.average = 0,
.code = 190,
};
static const ip_level ip__168_121_8_0__168_121_11_255 = {
.prev = &ip__168_121_4_0__168_121_7_255,
.next = &ip__168_121_12_0__168_121_15_255,
.childs = NULL,
.start = 8,
.end = 11,
.average = 0,
.code = 190,
};
static const ip_level ip__168_121_12_0__168_121_15_255 = {
.prev = &ip__168_121_8_0__168_121_11_255,
.next = &ip__168_121_20_0__168_121_23_255,
.childs = NULL,
.start = 12,
@ -660157,15 +660201,24 @@ static const ip_level ip__168_121_20_0__168_121_23_255 = {
};
static const ip_level ip__168_121_24_0__168_121_27_255 = {
.prev = &ip__168_121_20_0__168_121_23_255,
.next = &ip__168_121_32_0__168_121_35_255,
.next = &ip__168_121_28_0__168_121_31_255,
.childs = NULL,
.start = 24,
.end = 27,
.average = 0,
.code = 190,
};
static const ip_level ip__168_121_32_0__168_121_35_255 = {
static const ip_level ip__168_121_28_0__168_121_31_255 = {
.prev = &ip__168_121_24_0__168_121_27_255,
.next = &ip__168_121_32_0__168_121_35_255,
.childs = NULL,
.start = 28,
.end = 31,
.average = 0,
.code = 190,
};
static const ip_level ip__168_121_32_0__168_121_35_255 = {
.prev = &ip__168_121_28_0__168_121_31_255,
.next = &ip__168_121_36_0__168_121_39_255,
.childs = NULL,
.start = 32,
@ -660211,15 +660264,24 @@ static const ip_level ip__168_121_48_0__168_121_51_255 = {
};
static const ip_level ip__168_121_52_0__168_121_55_255 = {
.prev = &ip__168_121_48_0__168_121_51_255,
.next = &ip__168_121_64_0__168_121_67_255,
.next = &ip__168_121_60_0__168_121_63_255,
.childs = NULL,
.start = 52,
.end = 55,
.average = 0,
.code = 190,
};
static const ip_level ip__168_121_64_0__168_121_67_255 = {
static const ip_level ip__168_121_60_0__168_121_63_255 = {
.prev = &ip__168_121_52_0__168_121_55_255,
.next = &ip__168_121_64_0__168_121_67_255,
.childs = NULL,
.start = 60,
.end = 63,
.average = 0,
.code = 207,
};
static const ip_level ip__168_121_64_0__168_121_67_255 = {
.prev = &ip__168_121_60_0__168_121_63_255,
.next = &ip__168_121_68_0__168_121_71_255,
.childs = NULL,
.start = 64,
@ -660256,13 +660318,31 @@ static const ip_level ip__168_121_76_0__168_121_79_255 = {
};
static const ip_level ip__168_121_84_0__168_121_87_255 = {
.prev = &ip__168_121_76_0__168_121_79_255,
.next = NULL,
.next = &ip__168_121_88_0__168_121_91_255,
.childs = NULL,
.start = 84,
.end = 87,
.average = 0,
.code = 226,
};
static const ip_level ip__168_121_88_0__168_121_91_255 = {
.prev = &ip__168_121_84_0__168_121_87_255,
.next = &ip__168_121_116_0__168_121_119_255,
.childs = NULL,
.start = 88,
.end = 91,
.average = 0,
.code = 190,
};
static const ip_level ip__168_121_116_0__168_121_119_255 = {
.prev = &ip__168_121_88_0__168_121_91_255,
.next = NULL,
.childs = NULL,
.start = 116,
.end = 119,
.average = 0,
.code = 84,
};
static const ip_level ip__168_121_0_0__168_121_0_0;
static const ip_level ip__168_122_0_0__168_122_255_255;
static const ip_level ip__168_123_0_0__168_123_255_255;
@ -816144,6 +816224,15 @@ static const ip_level ip__185_136_88_0__185_136_91_255;
static const ip_level ip__185_136_92_0__185_136_95_255;
static const ip_level ip__185_136_96_0__185_136_99_255;
static const ip_level ip__185_136_100_0__185_136_103_255;
static const ip_level ip__185_136_104_0__185_136_107_255;
static const ip_level ip__185_136_108_0__185_136_111_255;
static const ip_level ip__185_136_112_0__185_136_115_255;
static const ip_level ip__185_136_116_0__185_136_119_255;
static const ip_level ip__185_136_120_0__185_136_123_255;
static const ip_level ip__185_136_124_0__185_136_127_255;
static const ip_level ip__185_136_128_0__185_136_131_255;
static const ip_level ip__185_136_132_0__185_136_135_255;
static const ip_level ip__185_136_136_0__185_136_139_255;
static const ip_level ip__185_136_0_0__185_136_3_255 = {
.prev = NULL,
@ -816372,13 +816461,94 @@ static const ip_level ip__185_136_96_0__185_136_99_255 = {
};
static const ip_level ip__185_136_100_0__185_136_103_255 = {
.prev = &ip__185_136_96_0__185_136_99_255,
.next = NULL,
.next = &ip__185_136_104_0__185_136_107_255,
.childs = NULL,
.start = 100,
.end = 103,
.average = 0,
.code = 21,
};
static const ip_level ip__185_136_104_0__185_136_107_255 = {
.prev = &ip__185_136_100_0__185_136_103_255,
.next = &ip__185_136_108_0__185_136_111_255,
.childs = NULL,
.start = 104,
.end = 107,
.average = 0,
.code = 18,
};
static const ip_level ip__185_136_108_0__185_136_111_255 = {
.prev = &ip__185_136_104_0__185_136_107_255,
.next = &ip__185_136_112_0__185_136_115_255,
.childs = NULL,
.start = 108,
.end = 111,
.average = 0,
.code = 39,
};
static const ip_level ip__185_136_112_0__185_136_115_255 = {
.prev = &ip__185_136_108_0__185_136_111_255,
.next = &ip__185_136_116_0__185_136_119_255,
.childs = NULL,
.start = 112,
.end = 115,
.average = 0,
.code = 13,
};
static const ip_level ip__185_136_116_0__185_136_119_255 = {
.prev = &ip__185_136_112_0__185_136_115_255,
.next = &ip__185_136_120_0__185_136_123_255,
.childs = NULL,
.start = 116,
.end = 119,
.average = 0,
.code = 14,
};
static const ip_level ip__185_136_120_0__185_136_123_255 = {
.prev = &ip__185_136_116_0__185_136_119_255,
.next = &ip__185_136_124_0__185_136_127_255,
.childs = NULL,
.start = 120,
.end = 123,
.average = 0,
.code = 37,
};
static const ip_level ip__185_136_124_0__185_136_127_255 = {
.prev = &ip__185_136_120_0__185_136_123_255,
.next = &ip__185_136_128_0__185_136_131_255,
.childs = NULL,
.start = 124,
.end = 127,
.average = 0,
.code = 22,
};
static const ip_level ip__185_136_128_0__185_136_131_255 = {
.prev = &ip__185_136_124_0__185_136_127_255,
.next = &ip__185_136_132_0__185_136_135_255,
.childs = NULL,
.start = 128,
.end = 131,
.average = 0,
.code = 24,
};
static const ip_level ip__185_136_132_0__185_136_135_255 = {
.prev = &ip__185_136_128_0__185_136_131_255,
.next = &ip__185_136_136_0__185_136_139_255,
.childs = NULL,
.start = 132,
.end = 135,
.average = 0,
.code = 63,
};
static const ip_level ip__185_136_136_0__185_136_139_255 = {
.prev = &ip__185_136_132_0__185_136_135_255,
.next = NULL,
.childs = NULL,
.start = 136,
.end = 139,
.average = 0,
.code = 22,
};
static const ip_level ip__185_136_0_0__185_136_0_0;
static const ip_level ip__185_1_0_0__185_1_0_0 = {
@ -833564,7 +833734,8 @@ static const ip_level ip__188_114_96_0__188_114_111_255;
static const ip_level ip__188_114_112_0__188_114_119_255;
static const ip_level ip__188_114_120_0__188_114_127_255;
static const ip_level ip__188_114_128_0__188_114_191_255;
static const ip_level ip__188_114_192_0__188_114_207_255;
static const ip_level ip__188_114_192_0__188_114_199_255;
static const ip_level ip__188_114_200_0__188_114_207_255;
static const ip_level ip__188_114_208_0__188_114_223_255;
static const ip_level ip__188_114_224_0__188_114_255_255;
@ -833615,24 +833786,33 @@ static const ip_level ip__188_114_120_0__188_114_127_255 = {
};
static const ip_level ip__188_114_128_0__188_114_191_255 = {
.prev = &ip__188_114_120_0__188_114_127_255,
.next = &ip__188_114_192_0__188_114_207_255,
.next = &ip__188_114_192_0__188_114_199_255,
.childs = NULL,
.start = 128,
.end = 191,
.average = 0,
.code = 14,
};
static const ip_level ip__188_114_192_0__188_114_207_255 = {
static const ip_level ip__188_114_192_0__188_114_199_255 = {
.prev = &ip__188_114_128_0__188_114_191_255,
.next = &ip__188_114_208_0__188_114_223_255,
.next = &ip__188_114_200_0__188_114_207_255,
.childs = NULL,
.start = 192,
.end = 199,
.average = 0,
.code = 26,
};
static const ip_level ip__188_114_200_0__188_114_207_255 = {
.prev = &ip__188_114_192_0__188_114_199_255,
.next = &ip__188_114_208_0__188_114_223_255,
.childs = NULL,
.start = 200,
.end = 207,
.average = 0,
.code = 26,
};
static const ip_level ip__188_114_208_0__188_114_223_255 = {
.prev = &ip__188_114_192_0__188_114_207_255,
.prev = &ip__188_114_200_0__188_114_207_255,
.next = &ip__188_114_224_0__188_114_255_255,
.childs = NULL,
.start = 208,