Commit 90e75aeb authored by filatov's avatar filatov
Browse files

Fix Makefile issues for generate asn1c code

parent 1bde2365
Loading
Loading
Loading
Loading
+20 −22
Original line number Diff line number Diff line
@@ -30,18 +30,11 @@ ASN_FILES = LibIts/CAM/CAM.asn \
PDU = CAM DENM MAPEM SPATEM SREM SSEM IVIM

ASN1C:=asn1c
#Override ASN1C instalation path
#ASN1C_PATH = 

# Define OS specific varaibles
UNAME := $(shell uname -n)
ifeq ($(UNAME), ubuntu-xenial) # For Yann
# TODO Use a king of HOME environment variable
include $(PATH_DEV)/Makeinclude.macosx
else # For Denis
# TODO Use a king of HOME environment variable
ASN1C_PATH = C:/Users/filatov/Work/asn1c-etsi
endif
ifneq (, $(ASN1C_PATH))
ASN1C:=$(ASN1C_PATH)/asn1c/asn1c -S $(ASN1C_PATH)/skeletons
ASN1C:=$(ASN1C_PATH)/asn1c/.libs/asn1c -S $(ASN1C_PATH)/skeletons
endif

ifeq (,$(ASN_DIR))
@@ -56,7 +49,7 @@ ASN_DIR := ../../asn1

all: $(BIN_DIR)/../$(ASN_LIBRARY)
clean:
	make -C $(BIN_DIR) clean
	rm -rf $(BIN_DIR)

$(BIN_DIR)/../$(ASN_LIBRARY): $(BIN_DIR)/Makefile
	make -C $(BIN_DIR) all
@@ -65,7 +58,14 @@ $(BIN_DIR):
	mkdir -p $@

$(BIN_DIR)/Makefile: $(BIN_DIR) Makefile
	echo HOME=$(HOME)
	echo ASN_DIR=$(ASN_DIR) >$@
ifneq (, $(findstring yann,$(HOME)))
	echo include $(PATH_DEV)/Makeinclude.macosx >>$@
endif 
ifneq (, $(findstring filatov,$(HOME)))
	echo ASN1C_PATH = C:/Users/filatov/Work/asn1c >>$@
endif
	cat Makefile           >>$@

##########################################################
@@ -74,21 +74,20 @@ else
# This part is executed within the BIN_DIR directory to
# override variables from the Makefile.am.$(PATTERN_ASN1C) 
# generated by asn1c
PATTERN_ASN1C=example
include Makefile.am.$(PATTERN_ASN1C)
LIB_MAKEFILE=Makefile.am.libasncodec
include $(LIB_MAKEFILE)
OBJS = ${ASN_MODULE_SOURCES:.c=.o}
CONVERTER=converter
ASN_CONVERTER_SOURCES := \
	converter-$(PATTERN_ASN1C).c\
	converter-example.c\
	pdu_collection.c
CONVERTER_OBJS=${ASN_CONVERTER_SOURCES:.c=.o}
CFLAGS += $(ASN_MODULE_CFLAGS) -DPDU=CAM -DASN_PDU_COLLECTION -I.

all: $(CONVERTER)

Makefile.am.$(PATTERN_ASN1C): $(addprefix $(ASN_DIR)/, $(ASN_FILES))
	$(ASN1C) -gen-OER -gen-PER $(addprefix -pdu=,$(PDU)) -fcompound-names $^

$(LIB_MAKEFILE): $(addprefix $(ASN_DIR)/, $(ASN_FILES))
	$(ASN1C) -gen-PER -gen-OER $(addprefix -pdu=,$(PDU)) -fcompound-names $^

$(CONVERTER): $(ASN_LIBRARY) $(CONVERTER_OBJS) 
	$(CC) $(CFLAGS) -o $@ $(CONVERTER_OBJS) $(ASN_LIBRARY) $(LIBS)
@@ -104,12 +103,11 @@ $(ASN_LIBRARY): ${ASN_MODULE_SOURCES:.c=.o}

clean:
	rm -f $(CONVERTER) $(ASN_LIBRARY)
	rm -f $(OBJS)

regen: regenerate-from-asn1-source
	rm -f $(OBJS) $(CONVERTER_OBJS)

regenerate-from-asn1-source:
	$(ASN1C) -gen-OER -gen-PER $(addprefix -pdu=,$(PDU)) -fcompound-names $(addprefix $(ASN_DIR)/, $(ASN_FILES))
regen: clear-asn1c $(LIB_MAKEFILE)
clear-asn1c:
	rm -f $(LIB_MAKEFILE)

##########################################################
endif