sovereignx/tools/trainerproc/Makefile

21 lines
241 B
Makefile
Raw Normal View History

Competitive-formatted parties (#3545) $ python3 migration_scripts/convert_parties.py src/data/trainers.h src/data/trainer_parties.h src/data/npc_trainers.party Is available to convert Trainer Control-formatted trainers/parties into Competitive-formatted ones. Multiple '#include's can be placed in the trainer section of src/data.c to support spreading the trainers across multiple .party files. trainerproc does not interpret the values, leaving that job to the C compiler, so we use '#line' to associate those errors with the lines in the .party file(s). Because the columns don't make sense we use -fno-show-column and -fno-diagostics-show-caret. We might want to move gTrainers into its own file so that the rest of src/data.c isn't affected by those flags. Extensions (misfeatures, imo): - .party files are passed through cpp, so '#define's are supported, and so are '// ...' and '/* ... */' comments. - .party files also support writing, e.g. 'SPECIES_PIKACHU' instead of 'Pikachu'. This allows people to write constants explicitly if they like. Pragmas: - '#pragma trainerproc ivs explicit' requires an explicit 'IVs:' line rather than defaulting to 31s. - '#pragma trainerproc ivs <IVs>' changes the default IVs. - '#pragma trainerproc level explicit' requires an explicit 'Level:' line rather than defaulting to 100. - '#pragma trainerproc level <level>' changes the default level. Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com> Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-04-06 19:05:15 +01:00
.PHONY: all clean
CFLAGS := -Wall -O2
SRCS := main.c
ifeq ($(OS),Windows_NT)
EXE := .exe
else
EXE :=
endif
all: trainerproc$(EXE)
@:
trainerproc$(EXE): $(SRCS)
$(CC) $(CFLAGS) $(SRCS) -o $@ $(LDFLAGS)
clean:
$(RM) trainerproc$(EXE)