11TOP = ..
22CC = cc
33
4- PP := ./ gencodecs-pp
5- PPOBJ := gencodecs-pp .o
6-
7- API_DIR = api
8- INCLUDE_DIR = $(TOP ) /include
9- COGUTILS_DIR = $(TOP ) /cog-utils
10- CORE_DIR = $(TOP ) /core
11- THIRDP_DIR = $(TOP ) /core/third-party
12- DOCS_DIR = $( TOP ) /docs
13-
14- # Main preprocessor input file
15- INP_PRE := discord_codecs.pre.h
16-
17- # Single-files to be generated
18- OUT_C := discord_codecs .c
19- OUT_H := discord_codecs .h
20- OUT_O := discord_codecs .o
4+ PP = gencodecs-pp
5+ PP_OBJ = $( PP ) .o
6+
7+ API_DIR = api
8+ INCLUDE_DIR = $(TOP ) /include
9+ CORE_DIR = $(TOP ) /core
10+ THIRDP_DIR = $(CORE_DIR ) /third-party
11+ DOCS_DIR = $(TOP ) /docs
12+
13+ # Input file name without its extension
14+ INPUT_NO_EXT = discord_codecs
15+ # Input file to be preprocessed
16+ INPUT = $( INPUT_NO_EXT ) .pre.h
17+ # Resulting single-file amalgamations after preprocessing input file
18+ OUT_C = $( INPUT_NO_EXT ) .c
19+ OUT_H = $( INPUT_NO_EXT ) .h
20+ OUT_O = $( INPUT_NO_EXT ) .o
2121
2222# Generate individual headers for doxygen's parsing
2323HEADERS = $(API_DIR ) /application.h \
@@ -43,7 +43,7 @@ HEADERS = $(API_DIR)/application.h \
4343 $(API_DIR ) /voice_connections.h \
4444 $(API_DIR ) /webhook.h
4545
46- CFLAGS += -g -I. -I$(API_DIR ) -I$(INCLUDE_DIR ) -I$(COGUTILS_DIR ) -I $( CORE_DIR ) -I$(THIRDP_DIR )
46+ CFLAGS += -g -I. -I$(API_DIR ) -I$(INCLUDE_DIR ) -I$(CORE_DIR ) -I$(THIRDP_DIR )
4747DFLAGS += -DGENCODECS_INIT -DGENCODECS_JSON_ENCODER -DGENCODECS_JSON_DECODER
4848
4949# Convert 'folder/hello_world.pre.h' -> 'FOLDER_HELLO_WORLD_H'
@@ -56,27 +56,23 @@ all: $(OUT_O)
5656$(OUT_O ) : $(OUT_C ) $(OUT_H )
5757 $(CC ) -c $(CFLAGS ) $< -o $@
5858
59- .SUFFIXES : .c .o
60- .c.o :
61- $(CC ) -c $(CFLAGS ) $< -o $@
62-
63- $(PP ) : $(PPOBJ )
64- $(CC ) -o $(PP ) $(PPOBJ )
59+ $(PP ) : $(PP_OBJ )
60+ $(CC ) -o $@ $<
6561
66- $(OUT_H ) : $(INP_PRE ) $(PP )
62+ $(OUT_H ) : $(INPUT ) $(PP )
6763 @ echo " Generating header"
6864 @ echo " #ifndef $( HEADER_TAG) " > $@
6965 @ echo " #define $( HEADER_TAG) " >> $@
70- $(CPP ) $(CFLAGS ) -DGENCODECS_HEADER -DGENCODECS_DATA -nostdinc -P $(INP_PRE ) | $(PP ) >> $@
71- $(CPP ) $(CFLAGS ) -DGENCODECS_HEADER $(DFLAGS ) -nostdinc -P $(INP_PRE ) | $(PP ) >> $@
66+ $(CPP ) $(CFLAGS ) -DGENCODECS_HEADER -DGENCODECS_DATA -nostdinc -P $(INPUT ) | ./ $(PP ) >> $@
67+ $(CPP ) $(CFLAGS ) -DGENCODECS_HEADER $(DFLAGS ) -nostdinc -P $(INPUT ) | ./ $(PP ) >> $@
7268 @ echo " #endif /* $( HEADER_TAG) */" >> $@
7369
74- $(OUT_C ) : $(INP_PRE ) $(PP )
70+ $(OUT_C ) : $(INPUT ) $(PP )
7571 @ echo " Generating forward definitions"
7672 @ echo " #include \" $( OUT_H) \" " > $(OUT_C )
77- $(CPP ) $(CFLAGS ) -DGENCODECS_FORWARD -DGENCODECS_DATA $(DFLAGS ) -nostdinc -P $(INP_PRE ) | $(PP ) >> $(OUT_C )
73+ $(CPP ) $(CFLAGS ) -DGENCODECS_FORWARD -DGENCODECS_DATA $(DFLAGS ) -nostdinc -P $(INPUT ) | ./ $(PP ) >> $(OUT_C )
7874 @ echo " Generating source"
79- $(CPP ) $(CFLAGS ) -DGENCODECS_DATA $(DFLAGS ) -nostdinc -P $(INP_PRE ) | $(PP ) >> $(OUT_C )
75+ $(CPP ) $(CFLAGS ) -DGENCODECS_DATA $(DFLAGS ) -nostdinc -P $(INPUT ) | ./ $(PP ) >> $(OUT_C )
8076
8177docs : $(HEADERS )
8278
@@ -87,18 +83,18 @@ $(HEADERS): $(PP)
8783 @ echo $(DOXYGEN_DESC ) > $(DOCS_DIR ) /$@
8884 @ echo " #ifndef $( HEADER_TAG) " >> $(DOCS_DIR ) /$@
8985 @ echo " #define $( HEADER_TAG) " >> $(DOCS_DIR ) /$@
90- $(CPP ) $(CFLAGS ) -DGENCODECS_HEADER -DGENCODECS_DATA -DGENCODECS_READ=\" $< \" -nostdinc -P -CC $(INP_PRE ) | $(PP ) >> $(DOCS_DIR ) /$@
91- $(CPP ) $(CFLAGS ) -DGENCODECS_HEADER -DGENCODECS_READ=\" $< \" $(DFLAGS ) -nostdinc -P $(INP_PRE ) | $(PP ) >> $(DOCS_DIR ) /$@
86+ $(CPP ) $(CFLAGS ) -DGENCODECS_HEADER -DGENCODECS_DATA -DGENCODECS_READ=\" $< \" -nostdinc -P -CC $(INPUT ) | ./ $(PP ) >> $(DOCS_DIR ) /$@
87+ $(CPP ) $(CFLAGS ) -DGENCODECS_HEADER -DGENCODECS_READ=\" $< \" $(DFLAGS ) -nostdinc -P $(INPUT ) | ./ $(PP ) >> $(DOCS_DIR ) /$@
9288 @ echo " #endif /* $( HEADER_TAG) */" >> $(DOCS_DIR ) /$@
9389
9490echo :
9591 @ echo ' HEADERS: $(HEADERS)'
96- @ echo ' INP_PRE : $(INP_PRE )'
92+ @ echo ' INPUT : $(INPUT )'
9793 @ echo ' OUT_H: $(OUT_H)'
9894 @ echo ' OUT_C: $(OUT_C)'
9995 @ echo ' OUT_O: $(OUT_O)'
10096
10197clean :
102- @ $(RM ) $(OUT_H ) $(OUT_C ) $(OUT_O ) $(PP ) $(PPOBJ ) $(DOCS_DIR ) /$(API_DIR ) /* .h * .dSYM
98+ @ $(RM ) $(OUT_H ) $(OUT_C ) $(OUT_O ) $(PP ) $(PP_OBJ ) $(DOCS_DIR ) /$(API_DIR ) /* .h * .dSYM
10399
104- .PHONY : clean docs
100+ .PHONY : docs echo clean
0 commit comments