Skip to content

Commit 1988d6a

Browse files
committed
build: fixup version generation here too.
1 parent a33480c commit 1988d6a

File tree

1 file changed

+25
-14
lines changed

1 file changed

+25
-14
lines changed

Makefile

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ TOOLS= kore-serve
1818

1919
GENERATED=
2020
PLATFORM=platform.h
21-
VERSION=$(OBJDIR)/version.c
21+
VERSION=$(OBJDIR)/version
2222
PYTHON_CURLOPT=misc/curl/python_curlopt.h
2323

2424
S_SRC= src/kore.c src/buf.c src/config.c src/connection.c \
@@ -178,42 +178,54 @@ endif
178178
S_OBJS= $(S_SRC:src/%.c=$(OBJDIR)/%.o)
179179
S_OBJS+=$(OBJDIR)/version.o
180180

181-
all: $(PLATFORM) $(GENERATED) $(VERSION) $(KORE) $(KODEV)
181+
all:
182+
$(MAKE) $(OBJDIR)
183+
$(MAKE) $(PLATFORM)
184+
$(MAKE) $(KORE)
185+
$(MAKE) $(KODEV)
182186

183-
$(PLATFORM): $(OBJDIR) force
187+
$(PLATFORM): force
184188
@if [ -f misc/$(OSNAME)-platform.sh ]; then \
185189
misc/$(OSNAME)-platform.sh > $(OBJDIR)/$(PLATFORM) ; \
186190
fi
187191

188-
$(PYTHON_CURLOPT): $(OBJDIR) force
192+
$(PYTHON_CURLOPT): force
189193
@cp $(PYTHON_CURLOPT) $(OBJDIR)
190194

191-
$(VERSION): $(OBJDIR) force
195+
$(VERSION).c: force
192196
@if [ -d .git ]; then \
193197
GIT_REVISION=`git rev-parse --short=8 HEAD`; \
194198
GIT_BRANCH=`git rev-parse --abbrev-ref HEAD`; \
195-
rm -f $(VERSION); \
199+
rm -f $(VERSION)_gen; \
196200
printf "const char *kore_version = \"%s-%s\";\n" \
197-
$$GIT_BRANCH $$GIT_REVISION > $(VERSION); \
201+
$$GIT_BRANCH $$GIT_REVISION > $(VERSION)_gen; \
198202
elif [ -f RELEASE ]; then \
199203
printf "const char *kore_version = \"%s\";\n" \
200-
`cat RELEASE` > $(VERSION); \
204+
`cat RELEASE` > $(VERSION)_gen; \
201205
else \
202206
echo "No version information found (no .git or RELEASE)"; \
203207
exit 1; \
204208
fi
205209
@printf "const char *kore_build_date = \"%s\";\n" \
206-
`date +"%Y-%m-%d"` >> $(VERSION);
210+
`date +"%Y-%m-%d"` >> $(VERSION)_gen;
211+
@if [ -f $(VERSION).c ]; then \
212+
cmp -s $(VERSION)_gen $(VERSION).c; \
213+
if [ $$? -ne 0 ]; then \
214+
cp $(VERSION)_gen $(VERSION).c; \
215+
fi \
216+
else \
217+
cp $(VERSION)_gen $(VERSION).c; \
218+
fi
207219

208220
$(KODEV): src/cli.c
209221
$(MAKE) -C kodev
210222

211-
$(KORE): $(OBJDIR) $(S_OBJS)
223+
$(KORE): $(S_OBJS) $(GENERATED)
212224
$(CC) $(S_OBJS) $(LDFLAGS) -o $(KORE)
213225
@echo $(LDFLAGS) > kore.linker
214226
@echo $(FEATURES) $(FEATURES_INC) > kore.features
215227

216-
objects: $(OBJDIR) $(PLATFORM) $(GENERATED) $(S_OBJS)
228+
objects: $(PLATFORM) $(GENERATED) $(S_OBJS)
217229
@echo $(LDFLAGS) > $(OBJDIR)/ldflags
218230
@echo "$(FEATURES) $(FEATURES_INC)" > $(OBJDIR)/features
219231

@@ -241,7 +253,6 @@ install-sources:
241253
@if [ -d .git ]; then \
242254
GIT_REVISION=`git rev-parse --short=8 HEAD`; \
243255
GIT_BRANCH=`git rev-parse --abbrev-ref HEAD`; \
244-
rm -f $(VERSION); \
245256
echo "$$GIT_BRANCH-$$GIT_REVISION" > \
246257
$(DESTDIR)$(SHARE_DIR)/RELEASE; \
247258
elif [ -f RELEASE ]; then \
@@ -284,14 +295,14 @@ tools-install:
284295
$(OBJDIR)/%.o: src/%.c
285296
$(CC) $(CFLAGS) -c $< -o $@
286297

287-
src/kore.c: $(VERSION)
298+
src/kore.c: $(VERSION).c
288299

289300
src/python.c: $(PYTHON_CURLOPT)
290301

291302
src/seccomp.c: $(PLATFORM)
292303

293304
clean:
294-
rm -f $(VERSION)
305+
rm -f $(VERSION).c $(VERSION)_gen
295306
find . -type f -name \*.o -exec rm {} \;
296307
rm -rf $(KORE) $(OBJDIR) kore.features kore.linker
297308
$(MAKE) -C kodev clean

0 commit comments

Comments
 (0)